Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenCXX / lpad-linetable.cpp
blobd32aadf6eabb46b35cd0b2f2d92fd0a6097ccb18
1 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin10 -std=c++98 %s -o - | FileCheck %s
2 // The landing pad should have the line number of the closing brace of the function.
3 // CHECK: ret i32
4 // CHECK: landingpad {{.*}}
5 // CHECK-NEXT: !dbg ![[LPAD:[0-9]+]]
6 // CHECK: ![[LPAD]] = !DILocation(line: 24, column: 1, scope: !{{.*}})
8 # 1 "/usr/include/c++/4.2.1/vector" 1 3
9 typedef long unsigned int __darwin_size_t;
10 typedef __darwin_size_t size_t;
11 namespace std {
12 template<typename _Tp>
13 class allocator
15 public:
16 template<typename _Tp1>
17 struct rebind
18 { typedef allocator<_Tp1> other; };
19 ~allocator() throw() { }
21 template<typename _Tp, typename _Alloc>
22 struct _Vector_base
24 typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
25 struct _Vector_impl
27 _Vector_impl(_Tp_alloc_type const& __a) { }
29 typedef _Alloc allocator_type;
30 _Vector_base(const allocator_type& __a)
31 : _M_impl(__a)
32 { }
33 ~_Vector_base() { }
34 _Vector_impl _M_impl;
36 template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
37 class vector
38 : protected _Vector_base<_Tp, _Alloc>
40 typedef _Vector_base<_Tp, _Alloc> _Base;
41 public:
42 typedef _Tp value_type;
43 typedef size_t size_type;
44 typedef _Alloc allocator_type;
45 vector(const allocator_type& __a = allocator_type())
46 : _Base(__a)
47 { }
48 size_type
49 push_back(const value_type& __x)
53 # 10 "main.cpp" 2
58 int main (int argc, char const *argv[], char const *envp[])
59 { // 15
60 std::vector<long> longs;
61 std::vector<short> shorts;
62 for (int i=0; i<12; i++)
64 longs.push_back(i);
65 shorts.push_back(i);
67 return 0; // 23
68 } // 24