llvm/clang/test/CodeGenCXX/array-value-initialize.cpp

// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s
// RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm -o - %s

// PR5463
extern "C" int printf(...);

struct S {
  double filler;
};

struct Foo {
        Foo(void) : bar_(), dbar_(), sbar_() { 
	  for (int i = 0; i < 5; i++) {
	    printf("bar_[%d] = %d\n", i, bar_[i]);
	    printf("dbar_[%d] = %f\n", i, dbar_[i]);
	    printf("sbar_[%d].filler = %f\n", i, sbar_[i].filler);
	  }
        } 

        int bar_[5];
        double dbar_[5];
        S sbar_[5];
};

int test1(void) {
        Foo a;
}

// PR7063


struct Unit
{
  Unit() {}
  Unit(const Unit& v)  {}
};


struct Stuff
{
  Unit leafPos[1];
};


int main()
{
  
  Stuff a;
  Stuff b = a;
  
  return 0;
}