forked from OSchip/llvm-project
30 lines
703 B
C++
30 lines
703 B
C++
// RUN: %clang_cc1 -triple x86_64-linux -std=c++14 %s -emit-llvm -o - | FileCheck %s
|
|
// RUN: %clang_cc1 -triple x86_64-linux -std=c++17 %s -emit-llvm -o - | FileCheck %s
|
|
|
|
namespace std {
|
|
template<typename T> class initializer_list {
|
|
const T *data;
|
|
__SIZE_TYPE__ size;
|
|
|
|
public:
|
|
initializer_list();
|
|
};
|
|
}
|
|
|
|
namespace ParenBraceInitList {
|
|
struct Vector {
|
|
Vector(std::initializer_list<int>);
|
|
~Vector();
|
|
};
|
|
|
|
struct Base { Base(Vector) {} };
|
|
|
|
// CHECK: define {{.*}}18ParenBraceInitList1fILi0EE
|
|
template<int> void f() {
|
|
// CHECK: call {{.*}}18ParenBraceInitList6VectorC1
|
|
// CHECK: call {{.*}}18ParenBraceInitList6VectorD1
|
|
Base({0});
|
|
}
|
|
template void f<0>();
|
|
}
|