187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin -std=c++11 %s -o - | FileCheck %s
2328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher
3328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopherunion E {
4328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher  int a;
5328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher  float b;
6328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher  int bb() { return a;}
7328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher  float aa() { return b;}
8328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher  E() { a = 0; }
9328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher};
10328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher
11328584e9eddf0ff388b0700b1e865ae046a30a9cEric ChristopherE e;
12328584e9eddf0ff388b0700b1e865ae046a30a9cEric Christopher
13b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DICompositeType(tag: DW_TAG_union_type, name: "E"
143ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME:             line: 3
153ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME:             size: 32, align: 32
163ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-NOT:              offset:
173ea9e33ea25e0c2b12db56418ba3f994eb662c04Pirama Arumuga Nainar// CHECK-SAME:             {{$}}
18b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DISubprogram(name: "bb"{{.*}}, line: 6
19b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DISubprogram(name: "aa"{{.*}}, line: 7
20b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainar// CHECK: !DISubprogram(name: "E"{{.*}}, line: 8
21