blob: adb395021e73eaead1b242fdb8d11bc1bded4668 [file] [log] [blame]
Douglas Gregorfe60f842010-05-03 15:18:25 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s
Anders Carlssonc186b8f2009-09-02 21:14:47 +00002
3struct A {
4 union {
5 int a;
6 void* b;
7 };
8
9 A() : a(0) { }
10};
11
12A a;
Douglas Gregorfe60f842010-05-03 15:18:25 +000013
14namespace PR7021 {
15 struct X
16 {
17 union { long l; };
18 };
19
20 // CHECK: define void @_ZN6PR70211fENS_1XES0_
21 void f(X x, X z) {
22 X x1;
23
24 // CHECK: store i64 1, i64
25 x1.l = 1;
26
27 // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64
28 X x2(x1);
29
30 X x3;
31 // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64
32 x3 = x1;
33
34 // CHECK: ret void
35 }
36}