On Nov 28, 2012, at 8:08 PM, Pawel Wodnicki <[email protected]> wrote:
> 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. r167514 is small, looks good, and fixes a regression. Let's take it. - Doug _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
