blob: 6285bc14a43ba7bd9ab7387dc51588a352357ed9 [file] [log] [blame]
// { dg-do run }
#ifndef NOINLINE
#define NOINLINE /* */
#endif
inline void* operator new(__SIZE_TYPE__, void* __p) noexcept { return __p; }
long 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)
__builtin_abort();
}