⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typ2..c

📁 c 语言编译器 源代码- c compiler
💻 C
📖 第 1 页 / 共 4 页
字号:
default : { #line 144 "../../src/typ2.c"{ _auto__result = ( ( ( struct basetype * ) ( #line 144 "../../src/typ2.c"_auto_t ) ) ) -> _basetype_b_const ; #line 144 "../../src/typ2.c"return _auto__result ; } } } } ; #line 148 "../../src/typ2.c"TOK _type_set_const ( _auto_this , _auto_mode ) register struct type * _auto_this ; int _auto_mode ; #line 152 "../../src/typ2.c"{ #line 152 "../../src/typ2.c"TOK _auto__result ; Ptype _auto_t ; #line 153 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 154 "../../src/typ2.c"xxx : switch ( _auto_t -> _node_base ) { #line 155 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * #line 155 "../../src/typ2.c") ( _auto_t ) ) ) -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 156 "../../src/typ2.c"goto xxx ; #line 157 "../../src/typ2.c"case 141 : case 158 : case 110 : { #line 159 "../../src/typ2.c"{ _auto__result = _auto_t -> _node_base ; #line 159 "../../src/typ2.c"return _auto__result ; } } #line 160 "../../src/typ2.c"case 125 : ( ( ( struct ptr * ) ( _auto_t ) ) ) #line 160 "../../src/typ2.c"-> _ptr_rdo = _auto_mode ; #line 160 "../../src/typ2.c"{ #line 160 "../../src/typ2.c"{ _auto__result = 0 ; #line 160 "../../src/typ2.c"return _auto__result ; } } #line 161 "../../src/typ2.c"default : ( ( ( struct basetype * ) ( _auto_t ) ) ) #line 161 "../../src/typ2.c"-> _basetype_b_const = _auto_mode ; #line 161 "../../src/typ2.c"{ #line 161 "../../src/typ2.c"{ _auto__result = 0 ; #line 161 "../../src/typ2.c"return _auto__result ; } } } } ; #line 165 "../../src/typ2.c"int _type_is_ref ( _auto_this ) register struct type * _auto_this ; #line 166 "../../src/typ2.c"{ #line 166 "../../src/typ2.c"int _auto__result ; Ptype _auto_t ; #line 167 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 168 "../../src/typ2.c"xxx : switch ( _auto_t -> _node_base ) { #line 169 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * #line 169 "../../src/typ2.c") ( _auto_t ) ) ) -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 170 "../../src/typ2.c"goto xxx ; #line 171 "../../src/typ2.c"case 158 : { #line 171 "../../src/typ2.c"{ _auto__result = 1 ; #line 171 "../../src/typ2.c"return _auto__result ; } } #line 172 "../../src/typ2.c"default : { #line 172 "../../src/typ2.c"{ _auto__result = 0 ; #line 172 "../../src/typ2.c"return _auto__result ; } } } } ; #line 176 "../../src/typ2.c"int _type_align ( _auto_this ) register struct type * _auto_this ; #line 177 "../../src/typ2.c"{ #line 177 "../../src/typ2.c"int _auto__result ; Ptype _auto_t ; #line 178 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 179 "../../src/typ2.c"xx : switch ( _auto_t -> _node_base ) { #line 181 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * #line 181 "../../src/typ2.c") ( _auto_t ) ) ) -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 182 "../../src/typ2.c"goto xx ; #line 183 "../../src/typ2.c"case 119 : _auto_t = ( ( ( struct basetype * ) ( _auto_t ) ) ) -> #line 183 "../../src/typ2.c"_basetype_b_name -> _expr__O2.__C2_tp ; #line 183 "../../src/typ2.c"goto xx ; #line 184 "../../src/typ2.c"case 110 : _auto_t = ( ( ( struct vec * ) ( _auto_t ) ) ) -> #line 184 "../../src/typ2.c"_vec_typ ; #line 184 "../../src/typ2.c"goto xx ; #line 185 "../../src/typ2.c"case 141 : { #line 185 "../../src/typ2.c"{ _auto__result = 1 ; #line 185 "../../src/typ2.c"return _auto__result ; } } #line 186 "../../src/typ2.c"case 5 : { #line 186 "../../src/typ2.c"{ _auto__result = AL_CHAR ; #line 186 "../../src/typ2.c"return _auto__result ; } } #line 187 "../../src/typ2.c"case 29 : { #line 187 "../../src/typ2.c"{ _auto__result = AL_SHORT ; #line 187 "../../src/typ2.c"return _auto__result ; } } #line 188 "../../src/typ2.c"case 21 : { #line 188 "../../src/typ2.c"{ _auto__result = AL_INT ; #line 188 "../../src/typ2.c"return _auto__result ; } } #line 189 "../../src/typ2.c"case 22 : { #line 189 "../../src/typ2.c"{ _auto__result = AL_LONG ; #line 189 "../../src/typ2.c"return _auto__result ; } } #line 190 "../../src/typ2.c"case 15 : { #line 190 "../../src/typ2.c"{ _auto__result = AL_FLOAT ; #line 190 "../../src/typ2.c"return _auto__result ; } } #line 191 "../../src/typ2.c"case 11 : { #line 191 "../../src/typ2.c"{ _auto__result = AL_DOUBLE ; #line 191 "../../src/typ2.c"return _auto__result ; } } #line 192 "../../src/typ2.c"case 125 : case 158 : { #line 193 "../../src/typ2.c"{ _auto__result = AL_WPTR ; #line 193 "../../src/typ2.c"return _auto__result ; } } #line 194 "../../src/typ2.c"case 6 : { #line 194 "../../src/typ2.c"{ _auto__result = ( ( ( struct classdef * ) ( #line 194 "../../src/typ2.c"_auto_t ) ) ) -> _classdef_obj_align ; #line 194 "../../src/typ2.c"return _auto__result ; } } #line 195 "../../src/typ2.c"case 13 : case 121 : { #line 196 "../../src/typ2.c"{ _auto__result = AL_INT ; #line 196 "../../src/typ2.c"return _auto__result ; } } #line 197 "../../src/typ2.c"case 38 : errorFPC__E ( ( char * ) "illegal use of void") ; #line 197 "../../src/typ2.c"{ #line 197 "../../src/typ2.c"{ _auto__result = AL_INT ; #line 197 "../../src/typ2.c"return _auto__result ; } } #line 198 "../../src/typ2.c"default : errorFI_PC__E ( ( int ) 'i' , ( char * ) "(%d,%k)->type.align", #line 198 "../../src/typ2.c"_auto_t , _auto_t -> _node_base ) ; } } ; #line 202 "../../src/typ2.c"int _type_tsizeof ( _auto_this ) register struct type * _auto_this ; #line 207 "../../src/typ2.c"{ #line 207 "../../src/typ2.c"int _auto__result ; Ptype _auto_t ; #line 208 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 209 "../../src/typ2.c"zx : if ( _auto_t == 0 ) errorFI_PC__E ( ( int ) 'i' , ( char * #line 209 "../../src/typ2.c") "typ.tsizeof(t==0)") ; #line 211 "../../src/typ2.c"switch ( _auto_t -> _node_base ) { #line 211 "../../src/typ2.c"case 97 : case 119 : _auto_t = ( ( ( struct #line 211 "../../src/typ2.c"basetype * ) ( _auto_t ) ) ) -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 215 "../../src/typ2.c"goto zx ; #line 216 "../../src/typ2.c"case 141 : { #line 216 "../../src/typ2.c"{ _auto__result = 1 ; #line 216 "../../src/typ2.c"return _auto__result ; } } #line 217 "../../src/typ2.c"case 38 : { #line 217 "../../src/typ2.c"{ _auto__result = 0 ; #line 217 "../../src/typ2.c"return _auto__result ; } } #line 218 "../../src/typ2.c"case 138 : { #line 218 "../../src/typ2.c"{ _auto__result = SZ_WPTR ; #line 218 "../../src/typ2.c"return _auto__result ; } } #line 219 "../../src/typ2.c"case 5 : { #line 219 "../../src/typ2.c"{ _auto__result = SZ_CHAR ; #line 219 "../../src/typ2.c"return _auto__result ; } } #line 220 "../../src/typ2.c"case 29 : { #line 220 "../../src/typ2.c"{ _auto__result = SZ_SHORT ; #line 220 "../../src/typ2.c"return _auto__result ; } } #line 221 "../../src/typ2.c"case 21 : { #line 221 "../../src/typ2.c"{ _auto__result = SZ_INT ; #line 221 "../../src/typ2.c"return _auto__result ; } } #line 222 "../../src/typ2.c"case 22 : { #line 222 "../../src/typ2.c"{ _auto__result = SZ_LONG ; #line 222 "../../src/typ2.c"return _auto__result ; } } #line 223 "../../src/typ2.c"case 15 : { #line 223 "../../src/typ2.c"{ _auto__result = SZ_FLOAT ; #line 223 "../../src/typ2.c"return _auto__result ; } } #line 224 "../../src/typ2.c"case 11 : { #line 224 "../../src/typ2.c"{ _auto__result = SZ_DOUBLE ; #line 224 "../../src/typ2.c"return _auto__result ; } } #line 225 "../../src/typ2.c"case 110 : { #line 226 "../../src/typ2.c"Pvec _auto_v ; #line 226 "../../src/typ2.c"_auto_v = ( ( ( struct vec * ) ( _auto_t ) ) ) ; #line 227 "../../src/typ2.c"if ( _auto_v -> _vec_size == 0 ) { #line 227 "../../src/typ2.c"{ _auto__result = SZ_WPTR ; #line 227 "../../src/typ2.c"return _auto__result ; } } #line 228 "../../src/typ2.c"{ #line 228 "../../src/typ2.c"{ _auto__result = ( _auto_v -> _vec_size * _type_tsizeof ( ( struct type * ) _auto_v -> #line 228 "../../src/typ2.c"_vec_typ ) ) ; #line 228 "../../src/typ2.c"return _auto__result ; } } } #line 230 "../../src/typ2.c"case 125 : case 158 : _auto_t = ( ( ( struct ptr * ) #line 230 "../../src/typ2.c"( _auto_t ) ) ) -> _ptr_typ ; #line 233 "../../src/typ2.c"xxx : switch ( _auto_t -> _node_base ) { #line 234 "../../src/typ2.c"default : { #line 235 "../../src/typ2.c"{ _auto__result = SZ_WPTR ; #line 235 "../../src/typ2.c"return _auto__result ; } } #line 236 "../../src/typ2.c"case 5 : { #line 236 "../../src/typ2.c"{ _auto__result = SZ_BPTR ; #line 236 "../../src/typ2.c"return _auto__result ; } } #line 237 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * ) ( _auto_t ) ) #line 237 "../../src/typ2.c") -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 237 "../../src/typ2.c"goto xxx ; } #line 239 "../../src/typ2.c"case 114 : { #line 240 "../../src/typ2.c"Pbase _auto_b ; #line 240 "../../src/typ2.c"_auto_b = ( ( ( struct basetype * ) ( _auto_t ) ) ) ; #line 241 "../../src/typ2.c"{ #line 241 "../../src/typ2.c"{ _auto__result = ( ( _auto_b -> _basetype_b_bits / BI_IN_BYTE ) + 1 ) ; #line 241 "../../src/typ2.c"return _auto__result ; } } } #line 243 "../../src/typ2.c"case 6 : { #line 244 "../../src/typ2.c"Pclass _auto_cl ; int _auto_sz ; #line 244 "../../src/typ2.c"_auto_cl = ( ( ( struct classdef * ) ( _auto_t ) ) ) ; #line 245 "../../src/typ2.c"_auto_sz = _auto_cl -> _classdef_obj_size ; #line 246 "../../src/typ2.c"if ( ( _auto_cl -> _type_defined & 3) == 0 ) { #line 246 "../../src/typ2.c"errorFPC__E ( ( char * #line 246 "../../src/typ2.c") "%sU, size not known", _auto_cl -> _classdef_string ) ; #line 248 "../../src/typ2.c"{ #line 248 "../../src/typ2.c"{ _auto__result = SZ_INT ; #line 248 "../../src/typ2.c"return _auto__result ; } } } #line 250 "../../src/typ2.c"{ #line 250 "../../src/typ2.c"{ _auto__result = _auto_sz ; #line 250 "../../src/typ2.c"return _auto__result ; } } } #line 252 "../../src/typ2.c"case 121 : case 13 : { #line 253 "../../src/typ2.c"{ _auto__result = SZ_INT ; #line 253 "../../src/typ2.c"return _auto__result ; } } #line 254 "../../src/typ2.c"default : errorFI_PC__E ( ( int ) 'i' , ( char * ) "sizeof(%d)", #line 254 "../../src/typ2.c"_auto_t -> _node_base ) ; } } ; #line 258 "../../src/typ2.c"bit _type_fct_type ( _auto_this ) register struct type * _auto_this ; #line 259 "../../src/typ2.c"{ #line 259 "../../src/typ2.c"bit _auto__result ; #line 260 "../../src/typ2.c"{ #line 260 "../../src/typ2.c"{ _auto__result = 0 ; #line 260 "../../src/typ2.c"return _auto__result ; } } } ; #line 263 "../../src/typ2.c"bit _type_vec_type ( _auto_this ) register struct type * _auto_this ; #line 264 "../../src/typ2.c"{ #line 264 "../../src/typ2.c"bit _auto__result ; Ptype _auto_t ; #line 265 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 266 "../../src/typ2.c"xx : switch ( _auto_t -> _node_base ) { #line 267 "../../src/typ2.c"case 141 : case 110 : case 125 : case 158 : #line 267 "../../src/typ2.c"#line 271 "../../src/typ2.c"{ #line 271 "../../src/typ2.c"{ _auto__result = 1 ; #line 271 "../../src/typ2.c"return _auto__result ; } } #line 272 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * ) ( _auto_t ) ) #line 272 "../../src/typ2.c") -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 272 "../../src/typ2.c"goto xx ; #line 273 "../../src/typ2.c"default : { #line 273 "../../src/typ2.c"{ _auto__result = 0 ; #line 273 "../../src/typ2.c"return _auto__result ; } } } } ; #line 277 "../../src/typ2.c"Ptype _type_deref ( _auto_this ) register struct type * _auto_this ; #line 281 "../../src/typ2.c"{ #line 281 "../../src/typ2.c"Ptype _auto__result ; Ptype _auto_t ; #line 282 "../../src/typ2.c"_auto_t = ( struct type * ) _auto_this ; #line 283 "../../src/typ2.c"xx : switch ( _auto_t -> _node_base ) { #line 284 "../../src/typ2.c"case 97 : _auto_t = ( ( ( struct basetype * #line 284 "../../src/typ2.c") ( _auto_t ) ) ) -> _basetype_b_name -> _expr__O2.__C2_tp ; #line 287 "../../src/typ2.c"goto xx ; #line 288 "../../src/typ2.c"case 125 : case 158 : case 110 : if ( _auto_t == Pvoid_type ) errorFPC__E ( ( char * #line 288 "../../src/typ2.c") "void* dereferenced") ; #line 292 "../../src/typ2.c"{ #line 292 "../../src/typ2.c"{ _auto__result = ( ( ( struct vec * ) ( _auto_t ) ) ) -> #line 292 "../../src/typ2.c"_vec_typ ; #line 292 "../../src/typ2.c"return _auto__result ; } } #line 293 "../../src/typ2.c"case 141 : { #line 294 "../../src/typ2.c"{ _auto__result = _auto_t ; #line 294 "../../src/typ2.c"return _auto__result ; } } #line 295 "../../src/typ2.c"default : errorFPC__E ( ( char * ) "nonP dereferenced") ; #line 297 "../../src/typ2.c"{ #line 297 "../../src/typ2.c"{ _auto__result = ( struct type * ) any_type ; #line 297 "../../src/typ2.c"return _auto__result ; } } } } ; /* the end */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -