[Bug c++/82764] New: internal compiler error: in output_constructor_regular_field, at varasm.c:5030
apushkin at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sat Oct 28 20:14:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82764
Bug ID: 82764
Summary: internal compiler error: in
output_constructor_regular_field, at varasm.c:5030
Product: gcc
Version: 7.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: apushkin at gmail dot com
Target Milestone: ---
Created attachment 42495
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42495&action=edit
Reduced repro
Seemingly valid code (reduced from much more complex construct) causes ICE in
armhf compiler (works fine on x64)
arm-linux-gnueabihf-gcc-7 --version
arm-linux-gnueabihf-gcc-7 (Ubuntu/Linaro 7.2.0-6ubuntu1) 7.2.0
arm-linux-gnueabihf-gcc-7 -std=c++17 -Wall -Wextra -c /tmp/test.cc
/tmp/test.cc: In function ‘void test()’:
/tmp/test.cc:18:1: internal compiler error: in
output_constructor_regular_field, at varasm.c:5030
}
Minimal repro:
struct Empty {};
struct Empty2 : Empty {};
struct A : Empty2
{
int x {1};
int y {2};
};
struct B
{
A a {};
};
void test()
{
B b;
}
Removing -std=c++17 from parameters, adding members to Empty or Empty2,
removing braced initializers in A or B, deriving A from Empty, adding
std::string member to A eliminates the ICE.
Repro on:
arm-linux-gnueabi-gcc-7 (Ubuntu/Linaro 7.2.0-6ubuntu1) 7.2.0
arm-linux-gnueabihf-gcc-7 (Ubuntu/Linaro 7.2.0-6ubuntu1) 7.2.0
alpha-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
mips64-linux-gnuabi64-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
mips64el-linux-gnuabi64-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
powerpc-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
powerpc-linux-gnuspe-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
No repro on:
arm-linux-gnueabihf-gcc-6 (Ubuntu/Linaro 6.4.0-3ubuntu1) 6.4.0 20170805
hppa-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
aarch64-linux-gnu-g++-7 (Ubuntu/Linaro 7.2.0-6ubuntu1) 7.2.0
m68k-linux-gnu-g++-7 (Ubuntu/Linaro 7.2.0-6ubuntu1) 7.2.0
mips-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
mipsel-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
powerpc64-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
powerpc64le-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
s390x-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
sh4-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
sparc64-linux-gnu-g++-7 (Ubuntu 7.2.0-6ubuntu1) 7.2.0
Hope this helps!
More information about the Gcc-bugs
mailing list