]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenCXX/linetable-cleanup.cpp
Vendor import of clang tags/RELEASE_33/final r183502 (effectively, 3.3
[FreeBSD/FreeBSD.git] / test / CodeGenCXX / linetable-cleanup.cpp
1 // RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s
2
3 // Check the line numbers for cleanup code with EH in combinatin with
4 // simple return expressions.
5
6 // CHECK: define {{.*}}foo
7 // CHECK: call void @_ZN1CD1Ev(%class.C* {{.*}}), !dbg ![[CLEANUP:[0-9]+]]
8 // CHECK: ret i32 0, !dbg ![[RET:[0-9]+]]
9
10 class C {
11 public:
12   ~C() {}
13   int i;
14 };
15
16 int foo()
17 {
18   C c;
19   c.i = 42;
20   // This breakpoint should be at/before the cleanup code.
21   // CHECK: ![[CLEANUP]] = metadata !{i32 [[@LINE+1]], i32 0, metadata !{{.*}}, null}
22   return 0;
23   // CHECK: ![[RET]] = metadata !{i32 [[@LINE+1]], i32 0, metadata !{{.*}}, null}
24 }