69 lines · cpp
1// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin10 -std=c++98 %s -o - | FileCheck %s2// The landing pad should have the line number of the closing brace of the function.3// CHECK: ret i324// CHECK: landingpad {{.*}}5// CHECK-NEXT: !dbg ![[LPAD:[0-9]+]]6// CHECK: ![[LPAD]] = !DILocation(line: 24, column: 1, scope: !{{.*}})7 8# 1 "/usr/include/c++/4.2.1/vector" 1 39typedef long unsigned int __darwin_size_t;10typedef __darwin_size_t size_t;11namespace std {12 template<typename _Tp>13 class allocator14 {15 public:16 template<typename _Tp1>17 struct rebind18 { typedef allocator<_Tp1> other; };19 ~allocator() throw() { }20 };21 template<typename _Tp, typename _Alloc>22 struct _Vector_base23 {24 typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;25 struct _Vector_impl26 {27 _Vector_impl(_Tp_alloc_type const& __a) { }28 };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;35 };36 template<typename _Tp, typename _Alloc = std::allocator<_Tp> >37 class vector38 : protected _Vector_base<_Tp, _Alloc>39 {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_type49 push_back(const value_type& __x)50 {}51 };52}53# 10 "main.cpp" 254 55 56 57 58int main (int argc, char const *argv[], char const *envp[])59{ // 1560 std::vector<long> longs;61 std::vector<short> shorts;62 for (int i=0; i<12; i++)63 {64 longs.push_back(i);65 shorts.push_back(i);66 }67 return 0; // 2368} // 2469