https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84661
Bug ID: 84661 Summary: internal compiler error: Segmentation fault (strip_array_types()) 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: class { &a; b(decltype(((a = 0) || ((auto))))) }; Output: $ xgcc -x c++ -S - <stdin>:2:4: error: ISO C++ forbids declaration of 'a' with no type [-fpermissive] <stdin>:3:28: error: expected primary-expression before 'auto' <stdin>:3:28: error: expected ')' before 'auto' <stdin>:3:37: error: expected ')' before '}' token <stdin>:4:1: internal compiler error: Segmentation fault 0x3155789 crash_signal /home/vegard/git/gcc/gcc/toplev.c:325 0x400d828 strip_array_types(tree_node*) /home/vegard/git/gcc/gcc/tree.c:7932 0x139c9d0 cp_type_quals(tree_node const*) /home/vegard/git/gcc/gcc/cp/typeck.c:9585 0x136f3dc cv_unqualified(tree_node*) /home/vegard/git/gcc/gcc/cp/tree.c:1286 0xa4dc38 initialized_type /home/vegard/git/gcc/gcc/cp/constexpr.c:2707 0xa4dc38 cxx_eval_outermost_constant_expr /home/vegard/git/gcc/gcc/cp/constexpr.c:4794 0xa5b966 maybe_constant_value(tree_node*, tree_node*) /home/vegard/git/gcc/gcc/cp/constexpr.c:5044 0xaba942 cp_fully_fold(tree_node*) /home/vegard/git/gcc/gcc/cp/cp-gimplify.c:2040 0xec86a3 cp_parser_binary_expression /home/vegard/git/gcc/gcc/cp/parser.c:9298 0xec95aa cp_parser_assignment_expression /home/vegard/git/gcc/gcc/cp/parser.c:9484 0xecbaca cp_parser_expression /home/vegard/git/gcc/gcc/cp/parser.c:9653 0xf3833e cp_parser_primary_expression /home/vegard/git/gcc/gcc/cp/parser.c:5204 0xf7a2eb cp_parser_postfix_expression /home/vegard/git/gcc/gcc/cp/parser.c:7028 0xf2e057 cp_parser_unary_expression /home/vegard/git/gcc/gcc/cp/parser.c:8320 0xec31aa cp_parser_cast_expression /home/vegard/git/gcc/gcc/cp/parser.c:9088 0xec57d6 cp_parser_binary_expression /home/vegard/git/gcc/gcc/cp/parser.c:9189 0xec95aa cp_parser_assignment_expression /home/vegard/git/gcc/gcc/cp/parser.c:9484 0xecbaca cp_parser_expression /home/vegard/git/gcc/gcc/cp/parser.c:9653 0xf7d8a1 cp_parser_decltype_expr /home/vegard/git/gcc/gcc/cp/parser.c:14052 0xf7d8a1 cp_parser_decltype /home/vegard/git/gcc/gcc/cp/parser.c:14126 $ xgcc --version xgcc (GCC) 8.0.1 20180301 (experimental) Built from git c435a9e730c6e8f10da09d58b4fc9aaeb401b0d5 (r258097). Seems present on 4.9.0 if you pass -std=c++14. Test case was minimised by C-Reduce.