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