xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/debug-info-method.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -std=c++11 -g %s -o - | FileCheck %s
2*0a6a1f1dSLionel Sambuc // CHECK: !"_ZTS1A"} ; [ DW_TAG_class_type ] [A]
3*0a6a1f1dSLionel Sambuc // CHECK: !"{{.*}}\00_ZN1A3fooEiS_3$_0\00{{.*}}", {{.*}} [protected]
4f4a2713aSLionel Sambuc // CHECK: ![[THISTYPE:[0-9]+]] = {{.*}} ; [ DW_TAG_pointer_type ] {{.*}} [artificial] [from _ZTS1A]
5*0a6a1f1dSLionel Sambuc // CHECK: [ DW_TAG_ptr_to_member_type ] [line {{[0-9]+}}, size {{[1-9][0-9]+}}, align
6*0a6a1f1dSLionel Sambuc // CHECK: {{.*}}![[MEMFUNTYPE:[0-9]+]], !{{.*}}} ; [ DW_TAG_ptr_to_member_type ] {{.*}} [from ]
7*0a6a1f1dSLionel Sambuc // CHECK: ![[MEMFUNTYPE]] = {{.*}}![[MEMFUNARGS:[0-9]+]], null, null, null} ; [ DW_TAG_subroutine_type ] {{.*}} [from ]
8*0a6a1f1dSLionel Sambuc // CHECK: ![[MEMFUNARGS]] = {{.*}}, ![[THISTYPE]],
9*0a6a1f1dSLionel Sambuc // CHECK: !"0x101\00\00{{.*}}"{{.*}} DW_TAG_arg_variable
10*0a6a1f1dSLionel Sambuc // CHECK: !"0x101\00\00{{.*}}"{{.*}} DW_TAG_arg_variable
11*0a6a1f1dSLionel Sambuc // CHECK: !"0x101\00\00{{.*}}"{{.*}} DW_TAG_arg_variable
12f4a2713aSLionel Sambuc union {
13f4a2713aSLionel Sambuc   int a;
14f4a2713aSLionel Sambuc   float b;
15f4a2713aSLionel Sambuc } u;
16f4a2713aSLionel Sambuc 
17f4a2713aSLionel Sambuc class A {
18f4a2713aSLionel Sambuc protected:
19f4a2713aSLionel Sambuc   void foo(int, A, decltype(u));
20f4a2713aSLionel Sambuc };
21f4a2713aSLionel Sambuc 
foo(int,A,decltype(u) )22f4a2713aSLionel Sambuc void A::foo(int, A, decltype(u)) {
23f4a2713aSLionel Sambuc }
24f4a2713aSLionel Sambuc 
25f4a2713aSLionel Sambuc A a;
26f4a2713aSLionel Sambuc 
27f4a2713aSLionel Sambuc int A::*x = 0;
28f4a2713aSLionel Sambuc int (A::*y)(int) = 0;
29