[Bug rtl-optimization/84003] FAIL: g++.dg/torture/pr77745.C with noinline foo
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jan 24 09:19:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84003
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
So running:
$ g++ pr77745.C -O2 -flto -fno-use-linker-plugin -m32 -fpic -mtune=native
for:
$ cat pr77745.C
// { dg-do run }
//
#include <new>
#include <stdio.h>
//inline void* operator new(__SIZE_TYPE__, void* __p) noexcept { return __p; }
long
__attribute__((noinline))
foo(char *c1, char *c2)
{
long *p1 = new (c1) long;
*p1 = 100;
long long *p2 = new (c2) long long;
*p2 = 200;
long *p3 = new (c2) long;
*p3 = 200;
return *p1;
}
int main()
{
union {
char c;
long l;
long long ll;
} c;
if (foo(&c.c, &c.c) != 200)
{
fprintf (stderr, "aborting\n");
__builtin_abort();
}
}
Aborts for all GCC releases I have (4.5.0+).
More information about the Gcc-bugs
mailing list