[Bug target/94770] class with empty base passed incorrectly with -std=c++17 on mingw
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Apr 26 15:15:23 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94770
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Does
gcc/testsuite/g++/g++.dg-struct-layout-1/t032_test.h
in build directory contain
T(30,struct{}a[1];,)
? Failure 71 suggests different parameter passing on something like:
void foo (int, ...);
struct empty_base {};
struct S : public empty_base { struct{}a[1]; };
S s, a[5];
void
bar ()
{
foo (1, 1.0, s, 2LL, a[2], a[2]);
}
but my cross-compiler generates the same code with -std=c++14 and -std=c++17
here.
More information about the Gcc-bugs
mailing list