https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80678
Bug ID: 80678 Summary: g++.dg/cpp1y/constexpr-79681-2.C fails with ICE starting with r247678 Product: gcc Version: 6.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- The backported test g++.dg/cpp1y/constexpr-79681-2.C fails with an ICE on powerpcle: spawn /home/seurer/gcc/build/gcc-6/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-6/gcc/testsuite/g++/../../ /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I/home/seurer/gcc/build/gcc-6/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-6/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-6/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-6/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-6/libstdc++-v3/testsuite/util -fmessage-length=0 -std=gnu++14 -O2 -S -o constexpr-79681-2.s /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C:38:20: in constexpr expansion of 'foo()' /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C:38:26: internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2363 0x1036f2db cxx_eval_bit_field_ref /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:2363 0x1036f2db cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4003 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x103703db cxx_eval_store_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3296 0x1036db3b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3780 0x1036dddf cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3792 0x1037196b cxx_eval_statement_list /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3504 0x1036db0b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4129 0x1036dc13 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4184 0x1036c85f cxx_eval_call_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1546 0x1036e5b3 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3702 0x1036929b cxx_eval_outermost_constant_expr /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4292 0x10371d03 maybe_constant_value_1 /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4486 0x10371d03 maybe_constant_value(tree_node*, tree_node*) /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4510 0x10356fcb cp_fold /home/seurer/gcc/gcc-6/gcc/cp/cp-gimplify.c:2261 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. compiler exited with status 1 output is: /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C:38:20: in constexpr expansion of 'foo()' /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C:38:26: internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2363 0x1036f2db cxx_eval_bit_field_ref /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:2363 0x1036f2db cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4003 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x103703db cxx_eval_store_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3296 0x1036db3b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3780 0x1036dddf cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3792 0x1037196b cxx_eval_statement_list /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3504 0x1036db0b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4129 0x1036dc13 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4184 0x1036c85f cxx_eval_call_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1546 0x1036e5b3 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3702 0x1036929b cxx_eval_outermost_constant_expr /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4292 0x10371d03 maybe_constant_value_1 /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4486 0x10371d03 maybe_constant_value(tree_node*, tree_node*) /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4510 0x10356fcb cp_fold /home/seurer/gcc/gcc-6/gcc/cp/cp-gimplify.c:2261 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. FAIL: g++.dg/cpp1y/constexpr-79681-2.C -std=gnu++14 (internal compiler error) FAIL: g++.dg/cpp1y/constexpr-79681-2.C -std=gnu++14 (test for excess errors) Excess errors: /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/cpp1y/constexpr-79681-2.C:38:26: internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2363 0x1036f2db cxx_eval_bit_field_ref /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:2363 0x1036f2db cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4003 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x1037091b cxx_eval_binary_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1835 0x1036e553 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3960 0x103703db cxx_eval_store_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3296 0x1036db3b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3780 0x1036dddf cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3792 0x1037196b cxx_eval_statement_list /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3504 0x1036db0b cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4129 0x1036dc13 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4184 0x1036c85f cxx_eval_call_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:1546 0x1036e5b3 cxx_eval_constant_expression /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:3702 0x1036929b cxx_eval_outermost_constant_expr /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4292 0x10371d03 maybe_constant_value_1 /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4486 0x10371d03 maybe_constant_value(tree_node*, tree_node*) /home/seurer/gcc/gcc-6/gcc/cp/constexpr.c:4510 0x10356fcb cp_fold /home/seurer/gcc/gcc-6/gcc/cp/cp-gimplify.c:2261 testcase /home/seurer/gcc/gcc-6/gcc/testsuite/g++.dg/dg.exp completed in 2 seconds === g++ Summary === # of unexpected failures 2 # of unsupported tests 2