2017-02-14 01:56:30 +08:00
|
|
|
// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm -debug-info-kind=limited -triple x86_64-apple-darwin10 -std=c++98 %s -o - | FileCheck %s
|
2013-05-16 08:41:29 +08:00
|
|
|
// The landing pad should have the line number of the closing brace of the function.
|
|
|
|
// rdar://problem/13888152
|
|
|
|
// CHECK: ret i32
|
|
|
|
// CHECK: landingpad {{.*}}
|
|
|
|
// CHECK-NEXT: !dbg ![[LPAD:[0-9]+]]
|
2015-04-30 00:40:08 +08:00
|
|
|
// CHECK: ![[LPAD]] = !DILocation(line: 24, scope: !{{.*}})
|
2013-05-16 08:41:29 +08:00
|
|
|
|
|
|
|
# 1 "/usr/include/c++/4.2.1/vector" 1 3
|
|
|
|
typedef long unsigned int __darwin_size_t;
|
|
|
|
typedef __darwin_size_t size_t;
|
|
|
|
namespace std {
|
|
|
|
template<typename _Tp>
|
|
|
|
class allocator
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
template<typename _Tp1>
|
|
|
|
struct rebind
|
|
|
|
{ typedef allocator<_Tp1> other; };
|
|
|
|
~allocator() throw() { }
|
|
|
|
};
|
|
|
|
template<typename _Tp, typename _Alloc>
|
|
|
|
struct _Vector_base
|
|
|
|
{
|
|
|
|
typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
|
|
|
|
struct _Vector_impl
|
|
|
|
{
|
|
|
|
_Vector_impl(_Tp_alloc_type const& __a) { }
|
|
|
|
};
|
|
|
|
typedef _Alloc allocator_type;
|
|
|
|
_Vector_base(const allocator_type& __a)
|
|
|
|
: _M_impl(__a)
|
|
|
|
{ }
|
|
|
|
~_Vector_base() { }
|
|
|
|
_Vector_impl _M_impl;
|
|
|
|
};
|
|
|
|
template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
|
|
|
|
class vector
|
|
|
|
: protected _Vector_base<_Tp, _Alloc>
|
|
|
|
{
|
|
|
|
typedef _Vector_base<_Tp, _Alloc> _Base;
|
|
|
|
public:
|
|
|
|
typedef _Tp value_type;
|
|
|
|
typedef size_t size_type;
|
|
|
|
typedef _Alloc allocator_type;
|
|
|
|
vector(const allocator_type& __a = allocator_type())
|
|
|
|
: _Base(__a)
|
|
|
|
{ }
|
|
|
|
size_type
|
|
|
|
push_back(const value_type& __x)
|
|
|
|
{}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
# 10 "main.cpp" 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main (int argc, char const *argv[], char const *envp[])
|
|
|
|
{ // 15
|
|
|
|
std::vector<long> longs;
|
|
|
|
std::vector<short> shorts;
|
|
|
|
for (int i=0; i<12; i++)
|
|
|
|
{
|
|
|
|
longs.push_back(i);
|
|
|
|
shorts.push_back(i);
|
|
|
|
}
|
|
|
|
return 0; // 23
|
|
|
|
} // 24
|