1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm -o - %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc // PR5775 4*f4a2713aSLionel Sambuc class Twine { 5*f4a2713aSLionel Sambuc public: Twine(const char * Str)6*f4a2713aSLionel Sambuc Twine(const char *Str) { } 7*f4a2713aSLionel Sambuc }; 8*f4a2713aSLionel Sambuc error(const Twine & Message)9*f4a2713aSLionel Sambucstatic void error(const Twine &Message) {} 10*f4a2713aSLionel Sambuc 11*f4a2713aSLionel Sambuc template<typename> 12*f4a2713aSLionel Sambuc struct opt_storage { fopt_storage13*f4a2713aSLionel Sambuc void f() { 14*f4a2713aSLionel Sambuc error("cl::location(x) specified more than once!"); 15*f4a2713aSLionel Sambuc } 16*f4a2713aSLionel Sambuc }; 17*f4a2713aSLionel Sambuc f(opt_storage<int> o)18*f4a2713aSLionel Sambucvoid f(opt_storage<int> o) { 19*f4a2713aSLionel Sambuc o.f(); 20*f4a2713aSLionel Sambuc } 21