1*44456d29SChris Lattner // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s
2*44456d29SChris Lattner // RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm -o - %s
303f62ed9SFariborz Jahanian 
403f62ed9SFariborz Jahanian // PR5463
503f62ed9SFariborz Jahanian extern "C" int printf(...);
603f62ed9SFariborz Jahanian 
703f62ed9SFariborz Jahanian struct S {
803f62ed9SFariborz Jahanian   double filler;
903f62ed9SFariborz Jahanian };
1003f62ed9SFariborz Jahanian 
1103f62ed9SFariborz Jahanian struct Foo {
FooFoo1203f62ed9SFariborz Jahanian         Foo(void) : bar_(), dbar_(), sbar_() {
1303f62ed9SFariborz Jahanian 	  for (int i = 0; i < 5; i++) {
1403f62ed9SFariborz Jahanian 	    printf("bar_[%d] = %d\n", i, bar_[i]);
1503f62ed9SFariborz Jahanian 	    printf("dbar_[%d] = %f\n", i, dbar_[i]);
1603f62ed9SFariborz Jahanian 	    printf("sbar_[%d].filler = %f\n", i, sbar_[i].filler);
1703f62ed9SFariborz Jahanian 	  }
1803f62ed9SFariborz Jahanian         }
1903f62ed9SFariborz Jahanian 
2003f62ed9SFariborz Jahanian         int bar_[5];
2103f62ed9SFariborz Jahanian         double dbar_[5];
2203f62ed9SFariborz Jahanian         S sbar_[5];
2303f62ed9SFariborz Jahanian };
2403f62ed9SFariborz Jahanian 
test1(void)25*44456d29SChris Lattner int test1(void) {
2603f62ed9SFariborz Jahanian         Foo a;
2703f62ed9SFariborz Jahanian }
2803f62ed9SFariborz Jahanian 
29*44456d29SChris Lattner // PR7063
30*44456d29SChris Lattner 
31*44456d29SChris Lattner 
32*44456d29SChris Lattner struct Unit
33*44456d29SChris Lattner {
UnitUnit34*44456d29SChris Lattner   Unit() {}
UnitUnit35*44456d29SChris Lattner   Unit(const Unit& v)  {}
36*44456d29SChris Lattner };
37*44456d29SChris Lattner 
38*44456d29SChris Lattner 
39*44456d29SChris Lattner struct Stuff
40*44456d29SChris Lattner {
41*44456d29SChris Lattner   Unit leafPos[1];
42*44456d29SChris Lattner };
43*44456d29SChris Lattner 
44*44456d29SChris Lattner 
main()45*44456d29SChris Lattner int main()
46*44456d29SChris Lattner {
47*44456d29SChris Lattner 
48*44456d29SChris Lattner   Stuff a;
49*44456d29SChris Lattner   Stuff b = a;
50*44456d29SChris Lattner 
51*44456d29SChris Lattner   return 0;
52*44456d29SChris Lattner }
53