blob: 6e35bf8afff8c9eef1d532e8976130795aabe2a4 [file] [log] [blame]
// PR c++/87436
// { dg-do compile { target { c++11 && size32plus } } }
// { dg-options "-O2 -fdump-tree-gimple" }
// Verify we don't "optimize" the ctor as copying a 384MB .rodata
// object into the variable. It is better to initialize it through
// two nested loops.
// { dg-final { scan-tree-dump-not "this->arr = " "gimple" } }
struct S {
int a = -1;
short b = 3;
int x = 0;
int y = 1;
int z = 42;
float f = 0.123f;
};
struct T { S arr[4096][4096]; };
T *
foo ()
{
return new T;
}