xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/constructor-convert.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
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 Sambuc static 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 Sambuc void f(opt_storage<int> o) {
19*f4a2713aSLionel Sambuc   o.f();
20*f4a2713aSLionel Sambuc }
21