[Bug c/93574] internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in c_expr_sizeof_expr, at c/c-typeck.c:2925
changochen1 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Feb 4 20:45:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93574
--- Comment #1 from Yongheng Chen <changochen1 at gmail dot com> ---
Stack dump:
---
tt.c:1:26: error: variable or field ‘y’ declared void
1 | struct s { struct { void y ;
| ^
tt.c: In function ‘main’:
tt.c:7:23: warning: implicit declaration of function ‘sum’
[-Wimplicit-function-declaration]
7 | x = ( ( 6 / ( ( 0 * sum ( 3 , 4 ) + ( 1 , 2 ) ) / 114 / 2 ) / 2
) ) > 0 & ( x == sizeof ( ( int * ( * ( int f ( struct list ) ) ) [ * *
main ] ) 1 ) ) ;
| ^~~
tt.c:7:128: warning: ‘struct list’ declared inside parameter list will not be
visible outside of this definition or declaration
7 | x = ( ( 6 / ( ( 0 * sum ( 3 , 4 ) + ( 1 , 2 ) ) / 114 / 2 ) / 2
) ) > 0 & ( x == sizeof ( ( int * ( * ( int f ( struct list ) ) ) [ * *
main ] ) 1 ) ) ;
|
^~~~
tt.c:7:128: error: size of unnamed array has non-integer type
tt.c:7:99: error: cast specifies function type
7 | x = ( ( 6 / ( ( 0 * sum ( 3 , 4 ) + ( 1 , 2 ) ) / 114 / 2 ) / 2
) ) > 0 & ( x == sizeof ( ( int * ( * ( int f ( struct list ) ) ) [ * *
main ] ) 1 ) ) ;
|
^
tt.c:7:128: internal compiler error: tree check: expected class ‘type’, have
‘exceptional’ (error_mark) in c_expr_sizeof_expr, at c/c-typeck.c:2925
7 | x = ( ( 6 / ( ( 0 * sum ( 3 , 4 ) + ( 1 , 2 ) ) / 114 / 2 ) / 2
) ) > 0 & ( x == sizeof ( ( int * ( * ( int f ( struct list ) ) ) [ * *
main ] ) 1 ) ) ;
|
^~~~
0x7610ae tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
../../gcc/tree.c:9735
0x625ebb tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
../../gcc/tree.h:3401
0x625ebb c_expr_sizeof_expr(unsigned int, c_expr)
../../gcc/c/c-typeck.c:2925
0x862167 c_parser_sizeof_expression
../../gcc/c/c-parser.c:8341
0x862167 c_parser_unary_expression
../../gcc/c/c-parser.c:8238
0x862dad c_parser_cast_expression
../../gcc/c/c-parser.c:8108
0x8631b1 c_parser_binary_expression
../../gcc/c/c-parser.c:8034
0x864025 c_parser_conditional_expression
../../gcc/c/c-parser.c:7645
0x864640 c_parser_expr_no_commas
../../gcc/c/c-parser.c:7562
0x8648a1 c_parser_expression
../../gcc/c/c-parser.c:10630
0x85d495 c_parser_postfix_expression
../../gcc/c/c-parser.c:9121
0x86155a c_parser_unary_expression
../../gcc/c/c-parser.c:8266
0x862dad c_parser_cast_expression
../../gcc/c/c-parser.c:8108
0x8631b1 c_parser_binary_expression
../../gcc/c/c-parser.c:8034
0x864025 c_parser_conditional_expression
../../gcc/c/c-parser.c:7645
0x864640 c_parser_expr_no_commas
../../gcc/c/c-parser.c:7562
0x8646ea c_parser_expr_no_commas
../../gcc/c/c-parser.c:7604
0x8648a1 c_parser_expression
../../gcc/c/c-parser.c:10630
0x865047 c_parser_expression_conv
../../gcc/c/c-parser.c:10663
0x85a90b c_parser_statement_after_labels
../../gcc/c/c-parser.c:6294
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
---
More information about the Gcc-bugs
mailing list