1 // RUN: %clang_cc1 -emit-llvm -g -triple %itanium_abi_triple %s -o - | FileCheck %s 2 // Test the various accessibility flags in the debug info. 3 struct A { 4 // CHECK-DAG: [ DW_TAG_subprogram ] [line [[@LINE+1]]] [pub_default] 5 void pub_default(); 6 // CHECK-DAG: [ DW_TAG_member ] [pub_default_static] [line [[@LINE+1]]{{.*}}offset 0] [static] 7 static int pub_default_static; 8 }; 9 10 // CHECK: [ DW_TAG_inheritance ] {{.*}} [public] [from {{.*}}A] 11 class B : public A { 12 public: 13 // CHECK-DAG: [ DW_TAG_subprogram ] [line [[@LINE+1]]] [public] [pub] 14 void pub(); 15 // CHECK-DAG: [ DW_TAG_member ] [public_static] [line [[@LINE+1]]{{.*}} [public] [static] 16 static int public_static; 17 protected: 18 // CHECK: [ DW_TAG_subprogram ] [line [[@LINE+1]]] [protected] [prot] 19 void prot(); 20 private: 21 // CHECK: [ DW_TAG_subprogram ] [line [[@LINE+1]]] [priv_default] 22 void priv_default(); 23 }; 24 25 union U { 26 // CHECK-DAG: [ DW_TAG_subprogram ] [line [[@LINE+1]]] [union_pub_default] 27 void union_pub_default(); 28 private: 29 // CHECK-DAG: [ DW_TAG_member ] [union_priv] [line [[@LINE+1]]{{.*}} [private] 30 int union_priv; 31 }; 32 33 34 // CHECK: i32 256, {{.*}} ; [ DW_TAG_subprogram ] [line [[@LINE+1]]] [def] [free] 35 void free() {} 36 37 A a; 38 B b; 39 U u; 40