📄 dcl2..c
字号:
#line 122 "../../src/dcl2.c"( ( _auto__Xthis__ctor_name_list = ( struct name_list * ) _new ( ( long ) 8) ) , #line 122 "../../src/dcl2.c"( ( _auto__Xthis__ctor_name_list -> _name_list_f = ( ( struct name * ) _auto_nx ) ) , ( ( #line 122 "../../src/dcl2.c"_auto__Xthis__ctor_name_list -> _name_list_l = ( ( struct name_list * ) 0 ) ) , _auto__Xthis__ctor_name_list ) ) ) #line 122 "../../src/dcl2.c") ; #line 123 "../../src/dcl2.c"_auto_nx -> _name_n_list = 0 ; } #line 125 "../../src/dcl2.c"{ #line 125 "../../src/dcl2.c"{ _auto__result = _auto_nx ; #line 125 "../../src/dcl2.c"return _auto__result ; } } } ; #line 128 "../../src/dcl2.c"Pname _gen_find ( _auto_this , _auto_f ) register struct gen * _auto_this ; struct fct * _auto_f ; #line 129 "../../src/dcl2.c"{ #line 129 "../../src/dcl2.c"Pname _auto__result ; Plist _auto_gl ; #line 132 "../../src/dcl2.c"for ( _auto_gl = _auto_this -> _gen_fct_list ;_auto_gl ;( _auto_gl = _auto_gl -> _name_list_l ) ) { #line 132 "../../src/dcl2.c"Pname _auto_nx ; Pfct _auto_fx ; Pname _auto_a ; Pname _auto_ax ; int _auto_vp ; #line 133 "../../src/dcl2.c"_auto_nx = _auto_gl -> _name_list_f ; #line 134 "../../src/dcl2.c"_auto_fx = ( ( ( struct fct * ) ( _auto_nx -> _expr__O2.__C2_tp ) ) ) ; #line 136 "../../src/dcl2.c"_auto_vp = 0 ; #line 140 "../../src/dcl2.c"if ( _auto_fx -> _fct_nargs_known != _auto_f -> _fct_nargs_known ) { #line 140 "../../src/dcl2.c"if ( _auto_fx -> _fct_nargs && ( _auto_fx -> _fct_nargs_known != #line 140 "../../src/dcl2.c"155 ) ) #line 141 "../../src/dcl2.c"continue ; } #line 143 "../../src/dcl2.c"for ( ( ( _auto_ax = _auto_fx -> _fct_argtype ) , ( _auto_a = _auto_f -> _fct_argtype ) ) #line 143 "../../src/dcl2.c";( _auto_a && _auto_ax ) ;( ( _auto_ax = _auto_ax -> _name_n_list ) , ( _auto_a = _auto_a -> _name_n_list ) ) #line 143 "../../src/dcl2.c") #line 143 "../../src/dcl2.c"{ #line 143 "../../src/dcl2.c"Ptype _auto_at ; #line 145 "../../src/dcl2.c"_auto_at = _auto_ax -> _expr__O2.__C2_tp ; #line 146 "../../src/dcl2.c"if ( _type_check ( ( struct type * ) _auto_at , ( struct type * ) _auto_a -> _expr__O2.__C2_tp , #line 146 "../../src/dcl2.c"( int ) 0 ) ) #line 146 "../../src/dcl2.c"goto xx ; #line 147 "../../src/dcl2.c"if ( vrp_equiv ) _auto_vp = 1 ; #line 148 "../../src/dcl2.c"switch ( _auto_at -> _node_base ) { #line 148 "../../src/dcl2.c"case 5 : case 29 : case 21 : case 22 : if #line 148 "../../src/dcl2.c"( ( ( ( struct basetype * ) ( _auto_at ) ) ) -> _basetype_b_unsigned ^ ( #line 148 "../../src/dcl2.c"( ( struct basetype * ) ( _auto_a -> _expr__O2.__C2_tp ) ) ) -> _basetype_b_unsigned ) #line 153 "../../src/dcl2.c"errorFI_PC__E ( ( #line 153 "../../src/dcl2.c"int ) 'w' , ( char * ) "the overloading mechanism cannot tell an unsigned%k from a%k", _auto_at -> _node_base , _auto_at -> _node_base ) ; } } #line 157 "../../src/dcl2.c"if ( _auto_ax ) { #line 157 "../../src/dcl2.c"if ( _auto_ax -> _expr__O4.__C4_n_initializer ) errorFPC__E ( ( char * #line 157 "../../src/dcl2.c") "Ir makes overloaded %s() ambiguous", _auto_this -> _gen_string ) ; #line 160 "../../src/dcl2.c"continue ; } #line 163 "../../src/dcl2.c"if ( _auto_a ) { #line 163 "../../src/dcl2.c"if ( _auto_a -> _expr__O4.__C4_n_initializer ) errorFPC__E ( ( char * ) #line 163 "../../src/dcl2.c""Ir makes overloaded %s() ambiguous", _auto_this -> _gen_string ) ; #line 166 "../../src/dcl2.c"continue ; } #line 169 "../../src/dcl2.c"if ( _type_check ( ( struct type * ) _auto_fx -> _fct_returns , ( struct type * ) #line 169 "../../src/dcl2.c"_auto_f -> _fct_returns , ( int ) 0 ) ) #line 170 "../../src/dcl2.c"errorFPC__E ( ( char * ) "two different return valueTs for overloaded %s: %t and %t", #line 170 "../../src/dcl2.c"_auto_this -> _gen_string , _auto_fx -> _fct_returns , _auto_f -> _fct_returns ) ; #line 172 "../../src/dcl2.c"if ( _auto_vp ) errorFI_PC__E ( ( int ) 'w' , ( char * ) "ATs differ (only): [] vs *") ; #line 172 "../../src/dcl2.c"#line 173 "../../src/dcl2.c"{ #line 173 "../../src/dcl2.c"{ _auto__result = _auto_nx ; #line 173 "../../src/dcl2.c"return _auto__result ; } } #line 174 "../../src/dcl2.c"xx : ; } #line 177 "../../src/dcl2.c"{ #line 177 "../../src/dcl2.c"{ _auto__result = 0 ; #line 177 "../../src/dcl2.c"return _auto__result ; } } } ; #line 180 "../../src/dcl2.c"int _classdef_dcl ( _auto_this , _auto_cname , _auto_tbl ) register struct classdef * _auto_this ; struct name * _auto_cname ; struct table * _auto_tbl ; #line 181 "../../src/dcl2.c"{ #line 181 "../../src/dcl2.c"int _auto_nmem ; Pname _auto_p ; Pptr _auto_cct ; Pbase _auto_bt ; Pname _auto_px ; Ptable _auto_btbl ; int _auto_bvirt ; Pclass _auto_bcl ; int _auto_i ; int _auto_fct_seen ; int _auto_static_seen ; int _auto_local ; int _auto_byte_old ; int _auto_bit_old ; int _auto_max_old ; int _auto_boff ; int _auto_in_union ; int _auto_usz ; int _auto_make_ctor ; int _auto_make_dtor ; Pname _auto_pnx ; struct ptr * _auto__Xthis__ctor_ptr ; #line 191 "../../src/dcl2.c"_auto_fct_seen = 0 ; #line 192 "../../src/dcl2.c"_auto_static_seen = 0 ; #line 193 "../../src/dcl2.c"_auto_local = ( _auto_tbl != ( struct table * ) gtbl ) ; #line 195 "../../src/dcl2.c"_auto_byte_old = byte_offset ; #line 196 "../../src/dcl2.c"_auto_bit_old = bit_offset ; #line 197 "../../src/dcl2.c"_auto_max_old = max_align ; #line 202 "../../src/dcl2.c"_auto_make_ctor = 0 ; #line 203 "../../src/dcl2.c"_auto_make_dtor = 0 ; #line 206 "../../src/dcl2.c"if ( _auto_this == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 206 "../../src/dcl2.c""0->Cdef.dcl(%d)", _auto_tbl ) ; #line 207 "../../src/dcl2.c"if ( _auto_this -> _node_base != 6 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 207 "../../src/dcl2.c""Cdef.dcl(%d)", _auto_this -> _node_base ) ; #line 208 "../../src/dcl2.c"if ( _auto_cname == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 208 "../../src/dcl2.c""unNdC") ; #line 209 "../../src/dcl2.c"if ( _auto_cname -> _expr__O2.__C2_tp != ( struct type * ) _auto_this ) errorFI_PC__E ( ( int ) 'i' , #line 209 "../../src/dcl2.c"( char * ) "badCdef") ; #line 210 "../../src/dcl2.c"if ( _auto_tbl == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 210 "../../src/dcl2.c""Cdef.dcl(%n,0)", _auto_cname ) ; #line 211 "../../src/dcl2.c"if ( _auto_tbl -> _node_base != 142 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 211 "../../src/dcl2.c""Cdef.dcl(%n,tbl=%d)", _auto_cname , _auto_tbl -> _node_base ) ; #line 213 "../../src/dcl2.c"_auto_nmem = ( ( _name_no_of_names ( ( struct name * ) _auto_this -> _classdef_pubmem ) + _name_no_of_names ( ( struct #line 213 "../../src/dcl2.c"name * ) _auto_this -> _classdef_privmem ) ) + _name_no_of_names ( ( struct name * ) _auto_this -> _classdef_pubdef ) ) #line 213 "../../src/dcl2.c"; #line 214 "../../src/dcl2.c"_auto_in_union = ( ( _auto_this -> _classdef_csu == 36 ) || ( _auto_this -> _classdef_csu == 167 ) ) ; #line 216 "../../src/dcl2.c"if ( _auto_this -> _classdef_clbase ) { #line 216 "../../src/dcl2.c"if ( _auto_this -> _classdef_clbase -> _node_base != 123 ) errorFPC__E ( ( char #line 216 "../../src/dcl2.c"* ) "BC%nU", _auto_this -> _classdef_clbase ) ; #line 218 "../../src/dcl2.c"_auto_this -> _classdef_clbase = ( ( ( struct basetype * ) ( _auto_this -> _classdef_clbase -> _expr__O2.__C2_tp ) ) ) #line 218 "../../src/dcl2.c"-> _basetype_b_name ; #line 219 "../../src/dcl2.c"_auto_bcl = ( ( ( struct classdef * ) ( _auto_this -> _classdef_clbase -> _expr__O2.__C2_tp ) ) ) ; #line 219 "../../src/dcl2.c"#line 220 "../../src/dcl2.c"if ( ( _auto_bcl -> _type_defined & 02 ) == 0 ) errorFPC__E ( ( char * ) #line 220 "../../src/dcl2.c""BC%nU", _auto_this -> _classdef_clbase ) ; #line 221 "../../src/dcl2.c"_auto_tbl = ( struct table * ) _auto_bcl -> _classdef_memtbl ; #line 222 "../../src/dcl2.c"if ( _auto_tbl -> _node_base != 142 ) errorFI_PC__E ( ( int ) 'i' , ( char * ) #line 222 "../../src/dcl2.c""badBC table %d", _auto_tbl ) ; #line 223 "../../src/dcl2.c"_auto_btbl = _auto_tbl ; #line 224 "../../src/dcl2.c"_auto_bvirt = _auto_bcl -> _classdef_virt_count ; #line 225 "../../src/dcl2.c"if ( _auto_bcl -> _classdef_csu == 36 ) errorFI_PC__E ( ( int ) 's' , ( char * ) #line 225 "../../src/dcl2.c""C derived from union") ; #line 226 "../../src/dcl2.c"if ( _auto_in_union ) errorFPC__E ( ( char * ) "derived union") ; else #line 229 "../../src/dcl2.c"if ( _auto_this -> _classdef_pubbase == 0 ) _auto_this -> _classdef_csu = 6 ; #line 230 "../../src/dcl2.c"_auto_boff = _auto_bcl -> _classdef_real_size ; #line 231 "../../src/dcl2.c"max_align = _type_align ( ( struct type * ) _auto_bcl ) ; #line 232 "../../src/dcl2.c"_auto_this -> _classdef_bit_ass = _auto_bcl -> _classdef_bit_ass ; } else #line 234 "../../src/dcl2.c"{ #line 234 "../../src/dcl2.c"_auto_btbl = 0 ; #line 236 "../../src/dcl2.c"_auto_bvirt = 0 ; #line 237 "../../src/dcl2.c"_auto_boff = 0 ; #line 238 "../../src/dcl2.c"if ( ! _auto_in_union ) _auto_this -> _classdef_csu = ( _auto_this -> _classdef_virt_count ? 6 : 32 ) ; #line 239 "../../src/dcl2.c"while ( ( _auto_tbl != ( struct table * ) gtbl ) && _auto_tbl -> _table_t_name ) _auto_tbl = ( #line 239 "../../src/dcl2.c"struct table * ) _auto_tbl -> _table_next ; #line 240 "../../src/dcl2.c"max_align = AL_STRUCT ; #line 241 "../../src/dcl2.c"_auto_this -> _classdef_bit_ass = 1 ; } #line 244 "../../src/dcl2.c"{ #line 174 "../../src/cfront.h"( ( struct table * ) _auto_this -> _classdef_memtbl ) -> _table_next = _auto_tbl ; } #line 245 "../../src/dcl2.c"{ #line 175 "../../src/cfront.h"( ( struct table * ) _auto_this -> _classdef_memtbl ) -> _table_t_name = _auto_cname ; } #line 246 "../../src/dcl2.c"if ( _auto_nmem ) _table_grow ( ( struct table * ) _auto_this -> _classdef_memtbl , ( _auto_nmem <= 2 ) #line 246 "../../src/dcl2.c"? 3 : _auto_nmem ) ; #line 248 "../../src/dcl2.c"{ #line 705 "../../src/cfront.h"cc ++ ; #line 705 "../../src/cfront.h"( * cc ) = ( * ( cc - 1 ) ) ; } #line 249 "../../src/dcl2.c"cc -> _dcl_context_not = _auto_cname ; #line 250 "../../src/dcl2.c"cc -> _dcl_context_cot = ( struct classdef * ) _auto_this ; #line 252 "../../src/dcl2.c"byte_offset = ( _auto_usz = _auto_boff ) ; #line 253 "../../src/dcl2.c"bit_offset = 0 ; #line 255 "../../src/dcl2.c"_auto_bt = ( struct basetype * ) _basetype__ctor ( ( struct basetype * ) 0 , 119 , _auto_cname ) #line 255 "../../src/dcl2.c"; #line 256 "../../src/dcl2.c"_auto_bt -> _basetype_b_table = _auto_this -> _classdef_memtbl ; #line 257 "../../src/dcl2.c"_auto_this -> _classdef_this_type = ( cc -> _dcl_context_tot = ( struct type * ) ( _auto_cct = ( struct ptr * #line 257 "../../src/dcl2.c") ( ( _auto__Xthis__ctor_ptr = 0 ) , ( ( _auto__Xthis__ctor_ptr = ( struct ptr * ) #line 257 "../../src/dcl2.c"_new ( ( long ) 16) ) , ( ( Nt ++ ) , ( ( #line 257 "../../src/dcl2.c"_auto__Xthis__ctor_ptr -> _node_base = 125 ) , ( ( _auto__Xthis__ctor_ptr -> _ptr_typ = ( ( struct type * ) _auto_bt ) #line 257 "../../src/dcl2.c") , ( ( _auto__Xthis__ctor_ptr -> _ptr_rdo = ( ( int ) 0 ) ) , #line 257 "../../src/dcl2.c"_auto__Xthis__ctor_ptr ) ) ) ) ) ) ) ) ; #line 258 "../../src/dcl2.c"_auto_cct -> _node_permanent = 1 ; #line 259 "../../src/dcl2.c"_auto_bt -> _node_permanent = 1 ; #line 261 "../../src/dcl2.c"for ( _auto_p = _auto_this -> _classdef_privmem ;_auto_p ;( _auto_p = _auto_px ) ) { #line 261 "../../src/dcl2.c"Pname _auto_m ; #line 263 "../../src/dcl2.c"_auto_px = _auto_p -> _name_n_list ; #line 265 "../../src/dcl2.c"if ( _auto_p -> _expr__O2.__C2_tp -> _node_base == 108 ) { #line 265 "../../src/dcl2.c"Pfct _auto_f ; Pblock _auto_b ; #line 266 "../../src/dcl2.c"_auto_f = ( ( ( struct fct * ) ( _auto_p -> _expr__O2.__C2_tp ) ) ) ; #line 267 "../../src/dcl2.c"_auto_b = _auto_f -> _fct_body ; #line 268 "../../src/dcl2.c"_auto_f -> _fct_body = 0 ; #line 269 "../../src/dcl2.c"switch ( _auto_p -> _name_n_sto ) { #line 269 "../../src/dcl2.c"case 2 : case 31 : case 27 : case 14 : errorFPC__E ( #line 269 "../../src/dcl2.c"( char * ) "M%n cannot be%k", _auto_p , _auto_p -> _name_n_sto ) ; #line 275 "../../src/dcl2.c"_auto_p -> _name_n_sto = 0 ; } #line 277 "../../src/dcl2.c"_auto_m = _name_dcl ( ( struct name * ) _auto_p , ( struct table * ) _auto_this -> _classdef_memtbl , #line 277 "../../src/dcl2.c"( int ) 0 ) ; #line 278 "../../src/dcl2.c"if ( _auto_b ) { #line 278 "../../src/dcl2.c"if ( _auto_m -> _expr__O2.__C2_tp -> _type_defined & 3) errorFPC__E ( ( char * #line 278 "../../src/dcl2.c") "two definitions of%n", _auto_m ) ; else #line 281 "../../src/dcl2.c"if ( _auto_p -> _name_where . _loc_line != _auto_m -> _name_where . _loc_line ) errorFI_PC__E ( ( int ) 's' , #line 281 "../../src/dcl2.c"( char * ) "previously declared%n cannot be defined inCD", _auto_p ) ; else #line 284 "../../src/dcl2.c"( ( ( struct fct * ) ( _auto_m -> _expr__O2.__C2_tp ) ) ) -> _fct_body = #line 284 "../../src/dcl2.c"_auto_b ; } #line 286 "../../src/dcl2.c"_auto_fct_seen = 1 ; } else #line 288 "../../src/dcl2.c"{ #line 288 "../../src/dcl2.c"_auto_m = _name_dcl ( ( struct name * ) _auto_p , ( struct table * ) #line 288 "../../src/dcl2.c"_auto_this -> _classdef_memtbl , ( int ) 0 ) ; #line 290 "../../src/dcl2.c"if ( _auto_m ) { #line 290 "../../src/dcl2.c"if ( _auto_m -> _name_n_stclass == 31 ) { #line 291 "../../src/dcl2.c"_auto_static_seen = 1 ; #line 293 "../../src/dcl2.c"_auto_m -> _name_n_sto = ( ( _auto_tbl == ( struct table * ) gtbl ) ? 0: 31 ) ; #line 293 "../../src/dcl2.c"#line 294 "../../src/dcl2.c"if ( _auto_m -> _expr__O4.__C4_n_initializer ) errorFI_PC__E ( ( int ) 's' , ( char * ) "staticM%n withIr", #line 294 "../../src/dcl2.c"_auto_m ) ; } #line 296 "../../src/dcl2.c"if ( _auto_in_union ) { #line 296 "../../src/dcl2.c"if ( _auto_usz < byte_offset ) _auto_usz = byte_offset ; #line 298 "../../src/dcl2.c"byte_offset = 0 ; } } } } #line 303 "../../src/dcl2.c"if ( _auto_this -> _classdef_privmem && ( _auto_this -> _classdef_csu == 32 ) ) _auto_this -> #line 303 "../../src/dcl2.c"_classdef_csu = 6 ; #line 305 "../../src/dcl2.c"for ( _auto_p = _auto_this -> _classdef_pubmem ;_auto_p ;( _auto_p = _auto_px ) ) { #line 305 "../../src/dcl2.c"Pname _auto_m ; #line 307 "../../src/dcl2.c"_auto_px = _auto_p -> _name_n_list ; #line 309 "../../src/dcl2.c"if ( _auto_p -> _expr__O2.__C2_tp -> _node_base == 108 ) { #line 309 "../../src/dcl2.c"Pfct _auto_f ; Pblock _auto_b ; #line 310 "../../src/dcl2.c"_auto_f = ( ( ( struct fct * ) ( _auto_p -> _expr__O2.__C2_tp ) ) ) ; #line 311 "../../src/dcl2.c"_auto_b = _auto_f -> _fct_body ; #line 312 "../../src/dcl2.c"_auto_f -> _fct_body = 0 ; #line 313 "../../src/dcl2.c"switch ( _auto_p -> _name_n_sto ) { #line 313 "../../src/dcl2.c"case 2 : case 31 : case 27 : case 14 : errorFPC__E ( #line 313 "../../src/dcl2.c"( char * ) "M%n cannot be%k", _auto_p , _auto_p -> _name_n_sto ) ; #line 319 "../../src/dcl2.c"_auto_p -> _name_n_sto = 0 ; } #line 321 "../../src/dcl2.c"_auto_m = _name_dcl ( ( struct name * ) _auto_p , ( struct table * ) _auto_this -> _classdef_memtbl , #line 321 "../../src/dcl2.c"25 ) ; #line 322 "../../src/dcl2.c"if ( _auto_b ) { #line 322 "../../src/dcl2.c"if ( _auto_m -> _expr__O2.__C2_tp -> _type_defined & 3) errorFPC__E ( ( char * #line 322 "../../src/dcl2.c") "two definitions of%n", _auto_m ) ; else #line 325 "../../src/dcl2.c"if ( _auto_p -> _name_where . _loc_line != _auto_m -> _name_where . _loc_line ) errorFI_PC__E ( ( int ) 's' , #line 325 "../../src/dcl2.c"( char * ) "previously declared%n cannot be defined inCD", _auto_p ) ; else #line 328 "../../src/dcl2.c"( ( ( struct fct * ) ( _auto_m -> _expr__O2.__C2_tp ) ) ) -> _fct_body = #line 328 "../../src/dcl2.c"_auto_b ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -