1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
3 template<typename
...Types
>
4 int get_num_types(Types
...) {
5 return sizeof...(Types
);
8 // CHECK-LABEL: define weak_odr noundef i32 @_Z13get_num_typesIJifdEEiDpT_
10 template int get_num_types(int, float, double);
12 // PR10260 - argument packs that expand to nothing
14 template <class... T
> void foo() {
15 int values
[sizeof...(T
)+1] = { T::value
... };
16 // CHECK-LABEL: define linkonce_odr void @_ZN5test13fooIJEEEvv()
17 // CHECK: alloca [1 x i32], align 4