Author: dgregor Date: Mon Jun 29 12:25:49 2015 New Revision: 240969 URL: http://llvm.org/viewvc/llvm-project?rev=240969&view=rev Log: Make __has_extension(assume_nonnull) always true.
Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp cfe/trunk/test/SemaObjCXX/nullability-pragmas.mm Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=240969&r1=240968&r2=240969&view=diff ============================================================================== --- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original) +++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Mon Jun 29 12:25:49 2015 @@ -1226,6 +1226,7 @@ static bool HasExtension(const Preproces // Because we inherit the feature list from HasFeature, this string switch // must be less restrictive than HasFeature's. return llvm::StringSwitch<bool>(Extension) + .Case("assume_nonnull", true) .Case("nullability", true) // C11 features supported by other languages as extensions. .Case("c_alignas", true) Modified: cfe/trunk/test/SemaObjCXX/nullability-pragmas.mm URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjCXX/nullability-pragmas.mm?rev=240969&r1=240968&r2=240969&view=diff ============================================================================== --- cfe/trunk/test/SemaObjCXX/nullability-pragmas.mm (original) +++ cfe/trunk/test/SemaObjCXX/nullability-pragmas.mm Mon Jun 29 12:25:49 2015 @@ -7,6 +7,10 @@ # error assume_nonnull feature is not set #endif +#if !__has_extension(assume_nonnull) +# error assume_nonnull extension is not set +#endif + void test_pragmas_1(A * _Nonnull a, AA * _Nonnull aa) { f1(0); // okay: no nullability annotations f2(0); // expected-warning{{null passed to a callee that requires a non-null argument}} _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits