[Bug c++/84662] New: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at cp/typeck.c:1944
vegard.nossum at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Mar 2 09:01:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84662
Bug ID: 84662
Summary: internal compiler error: tree check: expected class
'type', have 'exceptional' (error_mark) in
is_bitfield_expr_with_lowered_type, at
cp/typeck.c:1944
Product: gcc
Version: 8.0.1
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: vegard.nossum at gmail dot com
CC: webrown.cpp at gmail dot com
Target Milestone: ---
Input:
double b;
a(__attribute__((c(0 && int() - ([] {} && b) || auto))));
Output:
$ xgcc -x c++ -S -
<stdin>:2:31: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in is_bitfield_expr_with_lowered_type, at
cp/typeck.c:1944
0x660319 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
/home/vegard/git/gcc/gcc/tree.c:9388
0x13af08d tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
/home/vegard/git/gcc/gcc/tree.h:3255
0x13af08d is_bitfield_expr_with_lowered_type(tree_node const*)
/home/vegard/git/gcc/gcc/cp/typeck.c:1944
0x13af7f5 cp_perform_integral_promotions(tree_node*, int)
/home/vegard/git/gcc/gcc/cp/typeck.c:2169
0x13cc321 cp_default_conversion
/home/vegard/git/gcc/gcc/cp/typeck.c:2138
0x13ce169 cp_build_binary_op(unsigned int, tree_code, tree_node*, tree_node*,
int)
/home/vegard/git/gcc/gcc/cp/typeck.c:4272
0x945247 build_new_op_1
/home/vegard/git/gcc/gcc/cp/call.c:6013
0x948c36 build_new_op(unsigned int, tree_code, int, tree_node*, tree_node*,
tree_node*, tree_node**, int)
/home/vegard/git/gcc/gcc/cp/call.c:6058
0x1395e6b build_x_binary_op(unsigned int, tree_code, tree_node*, tree_code,
tree_node*, tree_code, tree_node**, int)
/home/vegard/git/gcc/gcc/cp/typeck.c:4030
0x10f4b6e tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
/home/vegard/git/gcc/gcc/cp/pt.c:17537
0x10f49f2 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
/home/vegard/git/gcc/gcc/cp/pt.c:17524
0x10f4a23 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
/home/vegard/git/gcc/gcc/cp/pt.c:17525
0xa5c07a fold_non_dependent_expr(tree_node*)
/home/vegard/git/gcc/gcc/cp/constexpr.c:5097
0x105525f build_non_dependent_expr(tree_node*)
/home/vegard/git/gcc/gcc/cp/pt.c:25295
0x13967bf build_x_binary_op(unsigned int, tree_code, tree_node*, tree_code,
tree_node*, tree_code, tree_node**, int)
/home/vegard/git/gcc/gcc/cp/typeck.c:4022
0xec7b2b cp_parser_binary_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9354
0xec95aa cp_parser_assignment_expression
/home/vegard/git/gcc/gcc/cp/parser.c:9484
0xed75e4 cp_parser_parenthesized_expression_list
/home/vegard/git/gcc/gcc/cp/parser.c:7762
0xeda0bb cp_parser_gnu_attribute_list
/home/vegard/git/gcc/gcc/cp/parser.c:25047
0xeda0bb cp_parser_gnu_attributes_opt
/home/vegard/git/gcc/gcc/cp/parser.c:24962
$ xgcc --version
xgcc (GCC) 8.0.1 20180301 (experimental)
Built from git c435a9e730c6e8f10da09d58b4fc9aaeb401b0d5 (r258097).
7.3.0 seems fine.
Test case was minimised by C-Reduce.
More information about the Gcc-bugs
mailing list