variadic-templates.cpp revision dce73976163207916d5e6eb9529090ea7f70219e
19370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor// RUN: %clang_cc1 -std=c++0x -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 29370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor 39370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregortemplate<typename ...Types> 49370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregorint get_num_types(Types...) { 59370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor return sizeof...(Types); 69370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor} 79370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor 8dce73976163207916d5e6eb9529090ea7f70219eDouglas Gregor// CHECK: define weak_odr i32 @_Z13get_num_typesIJifdEEiDpT_ 99370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor// CHECK: ret i32 3 109370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregortemplate int get_num_types(int, float, double); 119370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor 129370c8f4af43a98a6f16e65f5d88d58db846e374Douglas Gregor 13