view gcc/testsuite/g++.dg/tree-ssa/pr87436.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// 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;
}