[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