1 // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s 2 // rdar: //8620524 3 // PR7851 4 struct string { 5 string (const string& ); 6 string (); 7 ~string(); 8 }; 9 10 string operator + (char ch, const string&); 11 12 template <class T> 13 void IntToString(T a) 14 { 15 string result; 16 T digit; 17 char((digit < 10 ? '0' : 'a') + digit) + result; 18 } 19 20 int main() { 21 // CHECK-LABEL: define linkonce_odr {{.*}}void @_Z11IntToStringIcEvT_( 22 IntToString('a'); 23 } 24 25