Yes, please.
On Wed, Aug 13, 2014 at 6:03 PM, David Majnemer <[email protected]> wrote: > Should this get merged for the next release? > > > On Wed, Aug 13, 2014 at 5:49 PM, David Majnemer <[email protected]> > wrote: > >> Author: majnemer >> Date: Wed Aug 13 19:49:23 2014 >> New Revision: 215609 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=215609&view=rev >> Log: >> Sema: Permit nullptr template args in MSVC compat mode >> >> This fixes a regression I caused back in r211766. >> >> Modified: >> cfe/trunk/lib/Sema/SemaTemplate.cpp >> cfe/trunk/test/Parser/MicrosoftExtensions.cpp >> >> Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplate.cpp?rev=215609&r1=215608&r2=215609&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaTemplate.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaTemplate.cpp Wed Aug 13 19:49:23 2014 >> @@ -4189,7 +4189,7 @@ isNullPointerValueTemplateArgument(Sema >> if (Arg->isValueDependent() || Arg->isTypeDependent()) >> return NPV_NotNullPointer; >> >> - if (!S.getLangOpts().CPlusPlus11 || S.getLangOpts().MSVCCompat) >> + if (!S.getLangOpts().CPlusPlus11) >> return NPV_NotNullPointer; >> >> // Determine whether we have a constant expression. >> >> Modified: cfe/trunk/test/Parser/MicrosoftExtensions.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/MicrosoftExtensions.cpp?rev=215609&r1=215608&r2=215609&view=diff >> >> ============================================================================== >> --- cfe/trunk/test/Parser/MicrosoftExtensions.cpp (original) >> +++ cfe/trunk/test/Parser/MicrosoftExtensions.cpp Wed Aug 13 19:49:23 2014 >> @@ -118,7 +118,7 @@ typedef COM_CLASS_TEMPLATE_REF<struct_wi >> >> COM_CLASS_TEMPLATE_REF<int, __uuidof(struct_with_uuid)> >> good_template_arg; >> >> -COM_CLASS_TEMPLATE<int, __uuidof(struct_with_uuid)> bad_template_arg; // >> expected-error {{non-type template argument of type 'const _GUID' cannot be >> converted to a value of type 'const GUID *' (aka 'const _GUID *')}} >> +COM_CLASS_TEMPLATE<int, __uuidof(struct_with_uuid)> bad_template_arg; // >> expected-error {{non-type template argument of type 'const _GUID' is not a >> constant expression}} >> >> namespace PR16911 { >> struct __declspec(uuid("{12345678-1234-1234-1234-1234567890aB}")) uuid; >> @@ -357,3 +357,7 @@ void *_alloca(int); >> void foo(void) { >> __declspec(align(16)) int *buffer = (int *)_alloca(9); >> } >> + >> +template <int *> >> +struct NullptrArg {}; >> +NullptrArg<nullptr> a; >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
