📄 typ..c
字号:
{ #line 423 "../../src/typ.c"Pfct _auto_f1 ; Pfct _auto_f2 ; Pname _auto_a1 ; Pname _auto_a2 ; TOK _auto_k1 ; TOK _auto_k2 ; int _auto_n1 ; int _auto_n2 ; #line 423 "../../src/typ.c"_auto_f1 = ( ( ( struct fct * ) ( _auto_t1 ) ) ) ; #line 424 "../../src/typ.c"_auto_f2 = ( ( ( struct fct * ) ( _auto_t2 ) ) ) ; #line 425 "../../src/typ.c"_auto_a1 = _auto_f1 -> _fct_argtype ; #line 426 "../../src/typ.c"_auto_a2 = _auto_f2 -> _fct_argtype ; #line 427 "../../src/typ.c"_auto_k1 = _auto_f1 -> _fct_nargs_known ; #line 428 "../../src/typ.c"_auto_k2 = _auto_f2 -> _fct_nargs_known ; #line 429 "../../src/typ.c"_auto_n1 = _auto_f1 -> _fct_nargs ; #line 430 "../../src/typ.c"_auto_n2 = _auto_f2 -> _fct_nargs ; #line 432 "../../src/typ.c"if ( ( _auto_k1 && ( _auto_k2 == 0 ) ) || ( _auto_k2 && ( _auto_k1 == #line 432 "../../src/typ.c"0 ) ) ) #line 432 "../../src/typ.c"{ #line 432 "../../src/typ.c"if ( _auto_f2 -> _fct_body == 0 ) { #line 433 "../../src/typ.c"{ _auto__result = #line 433 "../../src/typ.c"1 ; #line 433 "../../src/typ.c"return _auto__result ; } } } #line 436 "../../src/typ.c"if ( ( ( _auto_n1 != _auto_n2 ) && _auto_k1 ) && _auto_k2 ) { #line 436 "../../src/typ.c"#line 436 "../../src/typ.c"#line 437 "../../src/typ.c"goto aaa ; } else #line 439 "../../src/typ.c"if ( _auto_a1 && _auto_a2 ) { #line 439 "../../src/typ.c"int _auto_i ; #line 440 "../../src/typ.c"_auto_i = 0 ; #line 441 "../../src/typ.c"while ( _auto_a1 && _auto_a2 ) { #line 441 "../../src/typ.c"_auto_i ++ ; #line 443 "../../src/typ.c"if ( _type_check ( ( struct type * ) _auto_a1 -> _expr__O2.__C2_tp , ( struct type * ) _auto_a2 -> #line 443 "../../src/typ.c"_expr__O2.__C2_tp , _auto_oper ? 76 : 0) ) #line 443 "../../src/typ.c"{ #line 443 "../../src/typ.c"{ _auto__result = 1 ; #line 443 "../../src/typ.c"return _auto__result ; } } #line 444 "../../src/typ.c"_auto_a1 = _auto_a1 -> _name_n_list ; #line 445 "../../src/typ.c"_auto_a2 = _auto_a2 -> _name_n_list ; } #line 447 "../../src/typ.c"if ( _auto_a1 || _auto_a2 ) goto aaa ; } else #line 449 "../../src/typ.c"if ( _auto_a1 || _auto_a2 ) { #line 449 "../../src/typ.c"aaa : if ( _auto_k1 == 155 ) { #line 451 "../../src/typ.c"switch #line 451 "../../src/typ.c"( _auto_oper ) #line 452 "../../src/typ.c"{ #line 452 "../../src/typ.c"case 0 : if ( _auto_a2 && ( _auto_k2 == 0 ) ) #line 452 "../../src/typ.c"#line 454 "../../src/typ.c"break ; #line 455 "../../src/typ.c"{ #line 455 "../../src/typ.c"{ _auto__result = 1 ; #line 455 "../../src/typ.c"return _auto__result ; } } #line 456 "../../src/typ.c"case 70 : if ( _auto_a2 && ( _auto_k2 == 0 ) ) break ; #line 456 "../../src/typ.c"#line 458 "../../src/typ.c"{ #line 458 "../../src/typ.c"{ _auto__result = 1 ; #line 458 "../../src/typ.c"return _auto__result ; } } #line 459 "../../src/typ.c"case 136 : if ( _auto_a1 ) { #line 460 "../../src/typ.c"{ _auto__result = 1 ; #line 460 "../../src/typ.c"return _auto__result ; } } #line 461 "../../src/typ.c"break ; #line 462 "../../src/typ.c"case 76 : case 78 : { #line 464 "../../src/typ.c"{ _auto__result = 1 ; #line 464 "../../src/typ.c"return _auto__result ; } } } } else #line 467 "../../src/typ.c"if ( _auto_k2 == 155 ) { #line 467 "../../src/typ.c"{ #line 468 "../../src/typ.c"{ _auto__result = 1 ; #line 468 "../../src/typ.c"#line 468 "../../src/typ.c"return _auto__result ; } } } else #line 470 "../../src/typ.c"if ( _auto_k1 || _auto_k2 ) { #line 470 "../../src/typ.c"{ #line 471 "../../src/typ.c"{ _auto__result = 1 ; #line 471 "../../src/typ.c"return _auto__result ; } } } } #line 474 "../../src/typ.c"_auto_t1 = _auto_f1 -> _fct_returns ; #line 475 "../../src/typ.c"_auto_t2 = _auto_f2 -> _fct_returns ; } #line 477 "../../src/typ.c"break ; #line 479 "../../src/typ.c"case 114 : goto field_check ; #line 481 "../../src/typ.c"case 5 : case 29 : case 21 : case 22 : goto int_check ; #line 486 "../../src/typ.c"case 15 : case 11 : goto float_check ; #line 489 "../../src/typ.c"case 121 : goto enum_check ; #line 491 "../../src/typ.c"case 119 : goto cla_check ; #line 493 "../../src/typ.c"case 138 : case 38 : { #line 495 "../../src/typ.c"{ _auto__result = 0 ; #line 495 "../../src/typ.c"return _auto__result ; } } #line 500 "../../src/typ.c"default : errorFI_PC__E ( ( int ) 'i' , ( char * ) "type.check(o=%d %d %d)", #line 500 "../../src/typ.c"_auto_oper , _auto_b1 , _auto_b2 ) ; } } #line 505 "../../src/typ.c"if ( _auto_t1 || _auto_t2 ) { #line 505 "../../src/typ.c"{ _auto__result = 1 ; #line 505 "../../src/typ.c"return _auto__result ; } } #line 506 "../../src/typ.c"{ #line 506 "../../src/typ.c"{ _auto__result = 0 ; #line 506 "../../src/typ.c"return _auto__result ; } } #line 510 "../../src/typ.c"field_check : switch ( _auto_oper ) { #line 511 "../../src/typ.c"case 0 : case 136 : errorFI_PC__E ( ( #line 511 "../../src/typ.c"int ) 'i' , ( char * ) "check field?") ; } #line 516 "../../src/typ.c"{ #line 516 "../../src/typ.c"{ _auto__result = 0 ; #line 516 "../../src/typ.c"return _auto__result ; } } #line 518 "../../src/typ.c"float_check : if ( _auto_first == 0 ) { #line 519 "../../src/typ.c"if ( ( _auto_b1 != _auto_b2 ) #line 519 "../../src/typ.c"&& ( _auto_b2 != 138 ) ) #line 520 "../../src/typ.c"{ #line 520 "../../src/typ.c"{ _auto__result = 1 ; #line 520 "../../src/typ.c"return _auto__result ; } } } #line 522 "../../src/typ.c"goto const_check ; #line 524 "../../src/typ.c"enum_check : int_check : const_check : if ( ( ( _auto_first == 0 ) && _type_tconst ( ( struct #line 524 "../../src/typ.c"type * ) _auto_t2 ) ) && ( _type_tconst ( ( struct type * ) _auto_t1 ) == 0 #line 524 "../../src/typ.c") ) #line 527 "../../src/typ.c"{ #line 527 "../../src/typ.c"{ _auto__result = 1 ; #line 527 "../../src/typ.c"return _auto__result ; } } #line 528 "../../src/typ.c"{ #line 528 "../../src/typ.c"{ _auto__result = 0 ; #line 528 "../../src/typ.c"return _auto__result ; } } #line 530 "../../src/typ.c"cla_check : { #line 531 "../../src/typ.c"Pbase _auto_c1 ; Pbase _auto_c2 ; Pname _auto_n1 ; Pname _auto_n2 ; #line 531 "../../src/typ.c"_auto_c1 = ( ( ( struct basetype * ) ( _auto_t1 ) ) ) ; #line 532 "../../src/typ.c"_auto_c2 = ( ( ( struct basetype * ) ( _auto_t2 ) ) ) ; #line 533 "../../src/typ.c"_auto_n1 = _auto_c1 -> _basetype_b_name ; #line 534 "../../src/typ.c"_auto_n2 = _auto_c2 -> _basetype_b_name ; #line 536 "../../src/typ.c"if ( _auto_n1 == _auto_n2 ) goto const_check ; #line 537 "../../src/typ.c"if ( _auto_first ) { #line 537 "../../src/typ.c"{ _auto__result = 1 ; #line 537 "../../src/typ.c"return _auto__result ; } } #line 538 "../../src/typ.c"switch ( _auto_oper ) { #line 538 "../../src/typ.c"case 0 : case 76 : { #line 541 "../../src/typ.c"{ _auto__result = #line 541 "../../src/typ.c"1 ; #line 541 "../../src/typ.c"return _auto__result ; } } #line 542 "../../src/typ.c"case 136 : case 70 : case 28 : case 78 : { #line 546 "../../src/typ.c"Pname _auto_b ; Pclass _auto_cl ; #line 548 "../../src/typ.c"_auto_b = _auto_n2 ; #line 550 "../../src/typ.c"while ( _auto_b ) { #line 550 "../../src/typ.c"_auto_cl = ( ( ( struct classdef * ) ( _auto_b -> _expr__O2.__C2_tp ) #line 550 "../../src/typ.c") ) ; #line 552 "../../src/typ.c"_auto_b = _auto_cl -> _classdef_clbase ; #line 554 "../../src/typ.c"if ( _auto_b && ( _auto_cl -> _classdef_pubbase == 0 ) ) { #line 554 "../../src/typ.c"{ _auto__result = 1 ; #line 554 "../../src/typ.c"return _auto__result ; } } #line 555 "../../src/typ.c"if ( _auto_b == _auto_n1 ) { #line 555 "../../src/typ.c"Nstd ++ ; #line 557 "../../src/typ.c"goto const_check ; } } #line 560 "../../src/typ.c"{ #line 560 "../../src/typ.c"{ _auto__result = 1 ; #line 560 "../../src/typ.c"return _auto__result ; } } } } } #line 564 "../../src/typ.c"goto const_check ; #line 566 "../../src/typ.c"base_check : if ( _auto_oper ) if ( _auto_first ) { #line 569 "../../src/typ.c"if ( ( _auto_b1 == 38 ) || #line 569 "../../src/typ.c"( _auto_b2 == 38 ) ) #line 570 "../../src/typ.c"{ #line 570 "../../src/typ.c"{ _auto__result = 1 ; #line 570 "../../src/typ.c"return _auto__result ; } } } else #line 572 "../../src/typ.c"{ #line 572 "../../src/typ.c"if ( _auto_b1 == 38 ) { #line 573 "../../src/typ.c"register Ptype _auto_tx ; #line 574 "../../src/typ.c"_auto_tx = ( struct type * ) _auto_this ; #line 575 "../../src/typ.c"txloop : switch ( _auto_tx -> _node_base ) { #line 576 "../../src/typ.c"default : { #line 577 "../../src/typ.c"{ _auto__result = 1 ; #line 577 "../../src/typ.c"return _auto__result ; } } #line 578 "../../src/typ.c"case 38 : break ; #line 579 "../../src/typ.c"case 125 : case 110 : _auto_tx = ( ( ( struct vec * ) ( _auto_tx ) ) #line 579 "../../src/typ.c") -> _vec_typ ; #line 580 "../../src/typ.c"goto txloop ; #line 581 "../../src/typ.c"case 97 : _auto_tx = ( ( ( struct basetype * ) ( _auto_tx ) ) ) -> #line 581 "../../src/typ.c"_basetype_b_name -> _expr__O2.__C2_tp ; #line 581 "../../src/typ.c"goto txloop ; } #line 584 "../../src/typ.c"_auto_tx = _auto_t ; #line 585 "../../src/typ.c"bloop : switch ( _auto_tx -> _node_base ) { #line 586 "../../src/typ.c"default : { #line 587 "../../src/typ.c"{ _auto__result = 1 ; #line 587 "../../src/typ.c"return _auto__result ; } } #line 588 "../../src/typ.c"case 110 : case 125 : case 108 : Nstd ++ ; #line 590 "../../src/typ.c"goto const_check ; #line 591 "../../src/typ.c"case 97 : _auto_tx = ( ( ( struct basetype * ) ( _auto_tx ) ) ) -> #line 591 "../../src/typ.c"_basetype_b_name -> _expr__O2.__C2_tp ; #line 591 "../../src/typ.c"goto bloop ; } } #line 594 "../../src/typ.c"if ( _auto_b2 != 138 ) { #line 594 "../../src/typ.c"{ _auto__result = 1 ; #line 594 "../../src/typ.c"return _auto__result ; } } } #line 597 "../../src/typ.c"switch ( _auto_oper ) { #line 597 "../../src/typ.c"case 0 : { #line 599 "../../src/typ.c"{ _auto__result = 1 ; #line 599 "../../src/typ.c"#line 599 "../../src/typ.c"return _auto__result ; } } #line 600 "../../src/typ.c"case 76 : case 78 : switch ( _auto_b1 ) { #line 602 "../../src/typ.c"case 121 : case 138 : #line 602 "../../src/typ.c"#line 605 "../../src/typ.c"case 5 : case 29 : case 21 : switch ( _auto_b2 ) { #line 608 "../../src/typ.c"case 121 : case 138 : #line 608 "../../src/typ.c"#line 611 "../../src/typ.c"case 5 : case 29 : case 21 : case 114 : goto const_check ; } #line 617 "../../src/typ.c"{ #line 617 "../../src/typ.c"{ _auto__result = 1 ; #line 617 "../../src/typ.c"return _auto__result ; } } #line 618 "../../src/typ.c"case 22 : switch ( _auto_b2 ) { #line 619 "../../src/typ.c"case 138 : case 121 : case 5 : #line 619 "../../src/typ.c"#line 623 "../../src/typ.c"case 29 : case 21 : case 114 : Nstd ++ ; #line 627 "../../src/typ.c"goto const_check ; } #line 629 "../../src/typ.c"{ #line 629 "../../src/typ.c"{ _auto__result = 1 ; #line 629 "../../src/typ.c"return _auto__result ; } } #line 630 "../../src/typ.c"case 15 : switch ( _auto_b2 ) { #line 631 "../../src/typ.c"case 138 : Nstd ++ ; #line 634 "../../src/typ.c"case 15 : case 11 : goto const_check ; } #line 638 "../../src/typ.c"{ #line 638 "../../src/typ.c"{ _auto__result = 1 ; #line 638 "../../src/typ.c"return _auto__result ; } } #line 639 "../../src/typ.c"case 11 : switch ( _auto_b2 ) { #line 640 "../../src/typ.c"case 138 : case 121 : case 5 : #line 640 "../../src/typ.c"#line 644 "../../src/typ.c"case 29 : case 21 : Nstd ++ ; #line 647 "../../src/typ.c"case 15 : case 11 : goto const_check ; } #line 651 "../../src/typ.c"{ #line 651 "../../src/typ.c"{ _auto__result = 1 ; #line 651 "../../src/typ.c"return _auto__result ; } } #line 652 "../../src/typ.c"case 125 : switch ( _auto_b2 ) { #line 653 "../../src/typ.c"case 138 : Nstd ++ ; #line 656 "../../src/typ.c"goto const_check ; } #line 658 "../../src/typ.c"case 158 : case 110 : case 119 : case 108 : { #line 662 "../../src/typ.c"{ _auto__result = 1 ; #line 662 "../../src/typ.c"return _auto__result ; } } } #line 664 "../../src/typ.c"case 136 : case 70 : case 28 : switch ( _auto_b1 ) { #line 667 "../../src/typ.c"case #line 667 "../../src/typ.c"119 : #line 669 "../../src/typ.c"{ #line 669 "../../src/typ.c"{ _auto__result = 1 ; #line 669 "../../src/typ.c"return _auto__result ; } } #line 670 "../../src/typ.c"case 121 : case 138 : case 5 : case 29 : case 21 : case 22 : #line 670 "../../src/typ.c"#line 676 "../../src/typ.c"_auto_r = ( _type_kind ( ( ( struct type * ) _auto_t2 ) , 70 , ( int ) #line 676 "../../src/typ.c"'P' ) ) ; #line 677 "../../src/typ.c"switch ( _auto_r ) { #line 677 "../../src/typ.c"case 'A' : { #line 678 "../../src/typ.c"{ _auto__result = 1 ; #line 678 "../../src/typ.c"return _auto__result ; } } #line 679 "../../src/typ.c"case 'Z' : case 'I' : break ; #line 681 "../../src/typ.c"case 'F' : errorFI_PC__E ( ( int ) 'w' , ( char * ) "double assigned to int") ; #line
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -