1da6a14b9Sserge-sans-paille // Make sure foo is instantiated and we don't get a link error 2*c5de4dd1SFangrui Song // RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple %s -o- | FileCheck %s 3da6a14b9Sserge-sans-paille 4da6a14b9Sserge-sans-paille template <typename T> 5da6a14b9Sserge-sans-paille constexpr T foo(T a); 6da6a14b9Sserge-sans-paille 7da6a14b9Sserge-sans-paille // CHECK-LABEL: define {{.*}} @main main()8da6a14b9Sserge-sans-pailleint main() { 9da6a14b9Sserge-sans-paille // CHECK: call {{.*}} @_Z3fooIiET_S0_ 10da6a14b9Sserge-sans-paille int k = foo<int>(5); 11da6a14b9Sserge-sans-paille } 12da6a14b9Sserge-sans-paille // CHECK: } 13da6a14b9Sserge-sans-paille 14da6a14b9Sserge-sans-paille template <typename T> foo(T a)15da6a14b9Sserge-sans-pailleconstexpr T foo(T a) { 16da6a14b9Sserge-sans-paille return a; 17da6a14b9Sserge-sans-paille } 18