xref: /aosp_15_r20/external/clang/test/CodeGenCXX/array-value-initialize.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s
2*67e74705SXin Li // RUN: %clang_cc1 -triple i386-apple-darwin -emit-llvm -o - %s
3*67e74705SXin Li 
4*67e74705SXin Li // PR5463
5*67e74705SXin Li extern "C" int printf(...);
6*67e74705SXin Li 
7*67e74705SXin Li struct S {
8*67e74705SXin Li   double filler;
9*67e74705SXin Li };
10*67e74705SXin Li 
11*67e74705SXin Li struct Foo {
FooFoo12*67e74705SXin Li         Foo(void) : bar_(), dbar_(), sbar_() {
13*67e74705SXin Li 	  for (int i = 0; i < 5; i++) {
14*67e74705SXin Li 	    printf("bar_[%d] = %d\n", i, bar_[i]);
15*67e74705SXin Li 	    printf("dbar_[%d] = %f\n", i, dbar_[i]);
16*67e74705SXin Li 	    printf("sbar_[%d].filler = %f\n", i, sbar_[i].filler);
17*67e74705SXin Li 	  }
18*67e74705SXin Li         }
19*67e74705SXin Li 
20*67e74705SXin Li         int bar_[5];
21*67e74705SXin Li         double dbar_[5];
22*67e74705SXin Li         S sbar_[5];
23*67e74705SXin Li };
24*67e74705SXin Li 
test1(void)25*67e74705SXin Li int test1(void) {
26*67e74705SXin Li         Foo a;
27*67e74705SXin Li }
28*67e74705SXin Li 
29*67e74705SXin Li // PR7063
30*67e74705SXin Li 
31*67e74705SXin Li 
32*67e74705SXin Li struct Unit
33*67e74705SXin Li {
UnitUnit34*67e74705SXin Li   Unit() {}
UnitUnit35*67e74705SXin Li   Unit(const Unit& v)  {}
36*67e74705SXin Li };
37*67e74705SXin Li 
38*67e74705SXin Li 
39*67e74705SXin Li struct Stuff
40*67e74705SXin Li {
41*67e74705SXin Li   Unit leafPos[1];
42*67e74705SXin Li };
43*67e74705SXin Li 
44*67e74705SXin Li 
main()45*67e74705SXin Li int main()
46*67e74705SXin Li {
47*67e74705SXin Li 
48*67e74705SXin Li   Stuff a;
49*67e74705SXin Li   Stuff b = a;
50*67e74705SXin Li 
51*67e74705SXin Li   return 0;
52*67e74705SXin Li }
53