[cfe-commits] [llvm-branch-commits] [cfe-branch] r168830 - in /cfe/branches/release_32: ./ lib/Sema/TreeTransform.h test/SemaTemplate/instantiate-overload-candidates.cpp

Pawel Wodnicki pawel at 32bitmicro.com
Wed Nov 28 20:08:44 PST 2012


Takumi,

>> Modified: cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp?rev=168830&r1=168829&r2=168830&view=diff
>> ==============================================================================
>> --- cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp (original)
>> +++ cfe/branches/release_32/test/SemaTemplate/instantiate-overload-candidates.cpp Wed Nov 28 17:44:46 2012
>> @@ -19,3 +19,34 @@
>>  void test(int x) {
>>    f(&x, 0);
>>  }
>> +
>> +// Ensure that we instantiate an overloaded function if it's selected by
>> +// overload resolution when initializing a function pointer.
>> +template<typename T> struct X {
>> +  static T f() { T::error; } // expected-error {{has no members}}
>> +  static T f(bool);
>> +};
>> +void (*p)() = &X<void>().f; // expected-note {{instantiation of}}
> 
> It has been introduced in r167918 and causes failure in release_32.
> 

Yeah, I am was just looking at this.

> http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/74
> --
> error: 'error' diagnostics expected but not seen:
>   Line 26: has no members
> error: 'note' diagnostics expected but not seen:
>   Line 29: instantiation of
> 2 errors generated.
> --
> 
> Pawel, I suggest you a couple of options;
> 
> 1) Remove the extra test.
> 
> 2) Apply Richard's r167918, too. Doug and Richard, how do you think?

I think applying r167918 is the best way and I'll test it but let's wait
till Doug and Richard had a chance to look at this.

> 
> 
> ...Takumi
> 
> 

Pawel




More information about the cfe-commits mailing list