📄 dcl..c
字号:
#line 718 "../../src/cfront.h"extern int Nline ; #line 718 "../../src/cfront.h"extern int Ntoken ; #line 718 "../../src/cfront.h"extern int Nname ; #line 718 "../../src/cfront.h"extern int Nfree_store ; #line 718 "../../src/cfront.h"extern int Nalloc ; #line 718 "../../src/cfront.h"extern int Nfree ; #line 719 "../../src/cfront.h"extern int NFn ; #line 719 "../../src/cfront.h"extern int NFtn ; #line 719 "../../src/cfront.h"extern int NFpv ; #line 719 "../../src/cfront.h"extern int NFbt ; #line 719 "../../src/cfront.h"extern int NFf ; #line 719 "../../src/cfront.h"extern int NFs ; #line 719 "../../src/cfront.h"extern int NFc ; #line 719 "../../src/cfront.h"extern int NFe ; #line 719 "../../src/cfront.h"extern int NFl ; #line 720 "../../src/cfront.h"extern char * line_format ; #line 722 "../../src/cfront.h"extern Plist isf_list ; #line 723 "../../src/cfront.h"extern Pstmt st_ilist ; #line 724 "../../src/cfront.h"extern Pstmt st_dlist ; #line 725 "../../src/cfront.h"extern Ptable sti_tbl ; #line 726 "../../src/cfront.h"extern Ptable std_tbl ; #line 728 "../../src/cfront.h"extern Ptype np_promote ( ) ; #line 729 "../../src/cfront.h"extern int new_key ( ) ; #line 731 "../../src/cfront.h"extern Pname dcl_list ; #line 732 "../../src/cfront.h"extern int over_call ( ) ; #line 733 "../../src/cfront.h"extern Pname Nover ; #line 734 "../../src/cfront.h"extern Pname Ncoerce ; #line 735 "../../src/cfront.h"extern int Nover_coerce ; #line 737 "../../src/cfront.h"#line 738 "../../src/cfront.h"struct iline { /* sizeof = 108 */Pname _iline_fct_name ; Pin _iline_i_next ; Ptable _iline_i_table ; Pname _iline_local [ 8] ; Pexpr _iline_arg [ 8] ; Ptype _iline_tp [ 8] ; } ; #line 747 "../../src/cfront.h"extern Pexpr curr_expr ; #line 748 "../../src/cfront.h"extern Pin curr_icall ; #line 751 "../../src/cfront.h"extern Pstmt curr_loop ; #line 752 "../../src/cfront.h"extern Pblock curr_block ; #line 753 "../../src/cfront.h"extern Pstmt curr_switch ; #line 754 "../../src/cfront.h"extern bit arg_err_suppress ; #line 755 "../../src/cfront.h"extern struct loc last_line ; #line 757 "../../src/cfront.h"extern int no_of_undcl ; #line 758 "../../src/cfront.h"extern int no_of_badcall ; #line 759 "../../src/cfront.h"extern Pname undcl ; #line 759 "../../src/cfront.h"extern Pname badcall ; #line 761 "../../src/cfront.h"extern int strlen ( ) ; #line 762 "../../src/cfront.h"extern int strcpy ( ) ; #line 763 "../../src/cfront.h"extern int strcmp ( ) ; #line 764 "../../src/cfront.h"extern int str_to_int ( ) ; #line 765 "../../src/cfront.h"extern int c_strlen ( ) ; #line 767 "../../src/cfront.h"extern Pname vec_new_fct ; #line 768 "../../src/cfront.h"extern Pname vec_del_fct ; #line 777 "../../src/cfront.h"extern Pname find_hidden ( ) ; #line 778 "../../src/cfront.h"extern TOK lalex ( ) ; #line 779 "../../src/cfront.h"extern int Nstd ; #line 781 "../../src/cfront.h"extern int stcount ; #line 41 "../../src/size.h"extern int BI_IN_WORD ; #line 42 "../../src/size.h"extern int BI_IN_BYTE ; #line 44 "../../src/size.h"extern int SZ_CHAR ; #line 45 "../../src/size.h"extern int AL_CHAR ; #line 47 "../../src/size.h"extern int SZ_SHORT ; #line 48 "../../src/size.h"extern int AL_SHORT ; #line 50 "../../src/size.h"extern int SZ_INT ; #line 51 "../../src/size.h"extern int AL_INT ; #line 53 "../../src/size.h"extern int SZ_LONG ; #line 54 "../../src/size.h"extern int AL_LONG ; #line 56 "../../src/size.h"extern int SZ_FLOAT ; #line 57 "../../src/size.h"extern int AL_FLOAT ; #line 59 "../../src/size.h"extern int SZ_DOUBLE ; #line 60 "../../src/size.h"extern int AL_DOUBLE ; #line 62 "../../src/size.h"extern int SZ_STRUCT ; #line 63 "../../src/size.h"extern int AL_STRUCT ; #line 65 "../../src/size.h"extern int SZ_FRAME ; #line 66 "../../src/size.h"extern int AL_FRAME ; #line 68 "../../src/size.h"extern int SZ_WORD ; #line 70 "../../src/size.h"extern int SZ_WPTR ; #line 71 "../../src/size.h"extern int AL_WPTR ; #line 73 "../../src/size.h"extern int SZ_BPTR ; #line 74 "../../src/size.h"extern int AL_BPTR ; #line 77 "../../src/size.h"extern int SZ_TOP ; #line 78 "../../src/size.h"extern int SZ_BOTTOM ; #line 80 "../../src/size.h"extern char * LARGEST_INT ; #line 81 "../../src/size.h"extern int F_SENSITIVE ; #line 82 "../../src/size.h"extern int F_OPTIMIZED ; #line 28 "../../src/dcl.c"struct dcl_context ccvec [ 20] ; #line 28 "../../src/dcl.c"struct dcl_context * cc = ( struct dcl_context * ) ccvec ; #line 29 "../../src/dcl.c"int byte_offset = 0 ; #line 30 "../../src/dcl.c"int bit_offset = 0 ; #line 31 "../../src/dcl.c"int max_align = 0 ; #line 32 "../../src/dcl.c"int stack_size = 0 ; #line 33 "../../src/dcl.c"int enum_count = 0 ; #line 34 "../../src/dcl.c"int friend_in_class = 0 ; #line 36 "../../src/dcl.c"int _name_check_oper ( _auto_this , _auto_cn ) register struct name * _auto_this ; struct name * _auto_cn ; #line 40 "../../src/dcl.c"{ #line 40 "../../src/dcl.c"switch ( _auto_this -> _name_n_oper ) { #line 41 "../../src/dcl.c"case 109 : if ( _auto_cn == 0 ) errorFPC__E ( #line 41 "../../src/dcl.c"( char * ) "operator() must be aM") ; #line 44 "../../src/dcl.c"break ; #line 45 "../../src/dcl.c"case 111 : if ( _auto_cn == 0 ) errorFPC__E ( ( char * ) "operator[] must be aM") ; #line 45 "../../src/dcl.c"#line 47 "../../src/dcl.c"break ; #line 48 "../../src/dcl.c"case 0 : case 123 : if ( _auto_cn && ( strcmp ( _auto_cn -> _expr__O3.__C3_string , _auto_this -> _expr__O3.__C3_string ) #line 48 "../../src/dcl.c"== 0 ) ) #line 50 "../../src/dcl.c"{ #line 50 "../../src/dcl.c"if ( _auto_this -> _expr__O2.__C2_tp -> _node_base == 108 ) { #line 51 "../../src/dcl.c"Pfct _auto_f ; #line 52 "../../src/dcl.c"_auto_f = ( ( ( struct fct * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) ; #line 53 "../../src/dcl.c"if ( ( _auto_f -> _fct_returns != ( struct type * ) defa_type ) && ( fct_void == 0 #line 53 "../../src/dcl.c") ) #line 54 "../../src/dcl.c"errorFPC__E ( ( char * ) "%s::%s() with returnT", _auto_this -> _expr__O3.__C3_string , _auto_this -> _expr__O3.__C3_string ) ; #line 55 "../../src/dcl.c"_auto_f -> _fct_returns = ( struct type * ) void_type ; #line 56 "../../src/dcl.c"_auto_this -> _expr__O3.__C3_string = "_ctor"; #line 57 "../../src/dcl.c"_auto_this -> _name_n_oper = 161 ; } else #line 60 "../../src/dcl.c"errorFI_PC__E ( ( int ) 's' , ( char * ) "struct%cnM%n", _auto_cn , _auto_cn ) #line 60 "../../src/dcl.c"; } else #line 63 "../../src/dcl.c"_auto_this -> _name_n_oper = 0 ; #line 64 "../../src/dcl.c"break ; #line 65 "../../src/dcl.c"case 162 : if ( _auto_cn == 0 ) { #line 66 "../../src/dcl.c"_auto_this -> _name_n_oper = 0 ; #line 68 "../../src/dcl.c"errorFPC__E ( ( char * ) "destructor ~%s() not inC", _auto_this -> _expr__O3.__C3_string ) ; } else #line 70 "../../src/dcl.c"if ( strcmp ( _auto_cn -> _expr__O3.__C3_string , _auto_this -> _expr__O3.__C3_string ) == 0 ) { #line 70 "../../src/dcl.c"Pfct _auto_f ; #line 70 "../../src/dcl.c"#line 71 "../../src/dcl.c"_auto_f = ( ( ( struct fct * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) ; #line 72 "../../src/dcl.c"_auto_this -> _expr__O3.__C3_string = "_dtor"; #line 73 "../../src/dcl.c"if ( _auto_this -> _expr__O2.__C2_tp -> _node_base != 108 ) { #line 73 "../../src/dcl.c"errorFPC__E ( ( char * ) "%s::~%s notF", _auto_cn -> #line 73 "../../src/dcl.c"_expr__O3.__C3_string , _auto_cn -> _expr__O3.__C3_string ) ; #line 75 "../../src/dcl.c"_auto_this -> _expr__O2.__C2_tp = ( struct type * ) _fct__ctor ( ( struct fct * ) 0 , ( #line 75 "../../src/dcl.c"struct type * ) void_type , ( struct name * ) 0 , 1 ) ; } else #line 77 "../../src/dcl.c"if ( ( _auto_f -> _fct_returns != ( struct type * ) defa_type ) && ( #line 77 "../../src/dcl.c"fct_void == 0 ) ) #line 78 "../../src/dcl.c"errorFPC__E ( ( char * ) "%s::~%s() with returnT", _auto_cn -> _expr__O3.__C3_string , _auto_cn -> _expr__O3.__C3_string ) #line 78 "../../src/dcl.c"; #line 79 "../../src/dcl.c"if ( _auto_f -> _fct_argtype ) { #line 79 "../../src/dcl.c"if ( fct_void == 0 ) errorFPC__E ( ( char * #line 79 "../../src/dcl.c") "%s::~%s() withAs", _auto_cn -> _expr__O3.__C3_string , _auto_cn -> _expr__O3.__C3_string ) ; #line 81 "../../src/dcl.c"_auto_f -> _fct_nargs = 0 ; #line 82 "../../src/dcl.c"_auto_f -> _fct_nargs_known = 1 ; #line 83 "../../src/dcl.c"_auto_f -> _fct_argtype = 0 ; } #line 85 "../../src/dcl.c"_auto_f -> _fct_returns = ( struct type * ) void_type ; } else #line 87 "../../src/dcl.c"{ #line 87 "../../src/dcl.c"errorFPC__E ( ( char * ) "~%s in %s", _auto_this -> _expr__O3.__C3_string , _auto_cn -> _expr__O3.__C3_string ) ; #line 87 "../../src/dcl.c"#line 89 "../../src/dcl.c"_auto_this -> _name_n_oper = 0 ; } #line 91 "../../src/dcl.c"break ; #line 92 "../../src/dcl.c"case 97 : if ( _auto_cn == 0 ) { #line 93 "../../src/dcl.c"errorFPC__E ( ( char * ) "operator%t() not aM", #line 93 "../../src/dcl.c"( ( struct type * ) ( _auto_this -> _expr__O4.__C4_n_initializer ) ) ) ; #line 95 "../../src/dcl.c"_auto_this -> _name_n_oper = 0 ; #line 96 "../../src/dcl.c"_auto_this -> _expr__O4.__C4_n_initializer = 0 ; } else #line 97 "../../src/dcl.c"{ #line 97 "../../src/dcl.c"Pfct _auto_f ; Ptype _auto_tx ; Pname _auto_nx ; char _auto_buf [ 128] ; char * _auto_bb ; int _auto_l2 ; char * _auto_p ; #line 98 "../../src/dcl.c"_auto_f = ( ( ( struct fct * ) ( _auto_this -> _expr__O2.__C2_tp ) ) ) ; #line 99 "../../src/dcl.c"_auto_tx = ( ( ( struct type * ) ( _auto_this -> _expr__O4.__C4_n_initializer ) ) ) ; #line 101 "../../src/dcl.c"_auto_this -> _expr__O4.__C4_n_initializer = 0 ; #line 102 "../../src/dcl.c"if ( _auto_f -> _node_base != 108 ) errorFPC__E ( ( char * ) "badT for%n::operator%t()", _auto_cn , _auto_tx ) ; #line 102 "../../src/dcl.c"#line 103 "../../src/dcl.c"if ( _auto_f -> _fct_returns != ( struct type * ) defa_type ) { #line 103 "../../src/dcl.c"if ( _type_check ( ( #line 103 "../../src/dcl.c"struct type * ) _auto_f -> _fct_returns , ( struct type * ) _auto_tx , ( int ) 0 #line 103 "../../src/dcl.c") ) #line 104 "../../src/dcl.c"errorFPC__E ( ( char * ) "bad resultT for%n::operator%t()", _auto_cn , _auto_tx ) ; #line 105 "../../src/dcl.c"if ( _auto_f -> _fct_returns && ( _auto_f -> _fct_returns -> _node_permanent == 0 ) ) _type_del ( ( struct #line 105 "../../src/dcl.c"type * ) _auto_f -> _fct_returns ) ; } #line 107 "../../src/dcl.c"if ( _auto_f -> _fct_argtype ) { #line 107 "../../src/dcl.c"errorFPC__E ( ( char * ) "%n::operator%t() withAs", _auto_cn , _auto_tx ) #line 107 "../../src/dcl.c"; #line 109 "../../src/dcl.c"_auto_f -> _fct_argtype = 0 ; } #line 111 "../../src/dcl.c"_auto_f -> _fct_returns = _auto_tx ; #line 112 "../../src/dcl.c"_auto_nx = _type_is_cl_obj ( ( struct type * ) _auto_tx ) ; #line 113 "../../src/dcl.c"if ( _auto_nx && can_coerce ( ( struct type * ) _auto_tx , ( struct type * ) _auto_cn -> #line 113 "../../src/dcl.c"_expr__O2.__C2_tp ) ) #line 113 "../../src/dcl.c"errorFPC__E ( ( char * ) "both %n::%n(%n) and %n::operator%t()", _auto_cn , _auto_cn , _auto_nx , _auto_tx ) ; #line 114 "../../src/dcl.c"; #line 114 "../../src/dcl.c"_auto_bb = _type_signature ( ( struct type * ) _auto_tx , ( char * ) _auto_buf ) ; #line 114 "../../src/dcl.c"_auto_l2 = ( ( _auto_bb - _auto_buf ) - 1 ) ; #line 114 "../../src/dcl.c"_auto_p = ( ( ( char * ) ( _new ( ( long ) ( _auto_l2 + #line 114 "../../src/dcl.c"3 ) ) ) ) ) ; #line 118 "../../src/dcl.c"( _auto_p [ 0 ] ) = '_' ; #line 119 "../../src/dcl.c"( _auto_p [ 1 ] ) = 'O' ; #line 120 "../../src/dcl.c"strcpy ( _auto_p + 2 , ( char * ) _auto_buf ) ; #line 121 "../../src/dcl.c"_auto_this -> _expr__O3.__C3_string = _auto_p ; } #line 123 "../../src/dcl.c"break ; } } ; #line 127 "../../src/dcl.c"Pname _name_dcl ( _auto_this , _auto_tbl , _auto_scope ) register struct name * _auto_this ; struct table * _auto_tbl ; int _auto_scope ; #line 164 "../../src/dcl.c"{ #line 164 "../../src/dcl.c"Pname _auto__result ; Pname _auto_nn ; Ptype _auto_nnt ; Pname _auto_odcl ; #line 166 "../../src/dcl.c"_auto_nnt = 0 ; #line 167 "../../src/dcl.c"_auto_odcl = Cdcl ; #line 169 "../../src/dcl.c"if ( _auto_this == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 169 "../../src/dcl.c""0->name.dcl()") ; #line 170 "../../src/dcl.c"if ( _auto_tbl == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 170 "../../src/dcl.c""%n->name.dcl(tbl=0,%k)", _auto_this , _auto_scope ) ; #line 171 "../../src/dcl.c"if ( _auto_tbl -> _node_base != 142 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 171 "../../src/dcl.c""%n->name.dcl(tbl=%d,%k)", _auto_this , _auto_tbl -> _node_base , _auto_scope ) ; #line 172 "../../src/dcl.c"if ( _auto_this -> _expr__O2.__C2_tp == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * #line 172 "../../src/dcl.c") "name.dcl(%n,%k)T missing", _auto_this , _auto_scope ) ; #line 174 "../../src/dcl.c"Cdcl = ( struct name * ) _auto_this ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -