Author: agutowski Date: Wed Sep 21 15:19:21 2016 New Revision: 282108 URL: http://llvm.org/viewvc/llvm-project?rev=282108&view=rev Log: Add -Wignored-pragma-intrinsic flag
Summary: People might want to receive warnings about pragmas but not about intrinsics that are implemented in intrin.h. Reviewers: thakis, hans Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24775 Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td cfe/trunk/test/Preprocessor/pragma_microsoft.c Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=282108&r1=282107&r2=282108&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Wed Sep 21 15:19:21 2016 @@ -439,8 +439,9 @@ def UninitializedSometimes : DiagGroup<" def UninitializedStaticSelfInit : DiagGroup<"static-self-init">; def Uninitialized : DiagGroup<"uninitialized", [UninitializedSometimes, UninitializedStaticSelfInit]>; +def IgnoredPragmaIntrinsic : DiagGroup<"ignored-pragma-intrinsic">; def UnknownPragmas : DiagGroup<"unknown-pragmas">; -def IgnoredPragmas : DiagGroup<"ignored-pragmas">; +def IgnoredPragmas : DiagGroup<"ignored-pragmas", [IgnoredPragmaIntrinsic]>; def Pragmas : DiagGroup<"pragmas", [UnknownPragmas, IgnoredPragmas]>; def UnknownWarningOption : DiagGroup<"unknown-warning-option">; def NSobjectAttribute : DiagGroup<"NSObject-attribute">; Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=282108&r1=282107&r2=282108&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original) +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Wed Sep 21 15:19:21 2016 @@ -914,7 +914,7 @@ def warn_pragma_pack_malformed : Warning // - #pragma intrinsic def warn_pragma_intrinsic_builtin : Warning< "%0 is not a recognized builtin%select{|; consider including <intrin.h> to access non-builtin intrinsics}1">, - InGroup<IgnoredPragmas>; + InGroup<IgnoredPragmaIntrinsic>; // - #pragma unused def warn_pragma_unused_expected_var : Warning< "expected '#pragma unused' argument to be a variable name">, Modified: cfe/trunk/test/Preprocessor/pragma_microsoft.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/pragma_microsoft.c?rev=282108&r1=282107&r2=282108&view=diff ============================================================================== --- cfe/trunk/test/Preprocessor/pragma_microsoft.c (original) +++ cfe/trunk/test/Preprocessor/pragma_microsoft.c Wed Sep 21 15:19:21 2016 @@ -178,3 +178,15 @@ void g() {} #pragma intrinsic(memset) // no-warning #undef __INTRIN_H #pragma intrinsic(asdf) // expected-warning {{'asdf' is not a recognized builtin; consider including <intrin.h>}} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wignored-pragma-intrinsic" +#pragma intrinsic(asdf) // no-warning +#pragma clang diagnostic pop +#pragma intrinsic(asdf) // expected-warning {{'asdf' is not a recognized builtin; consider including <intrin.h>}} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wignored-pragmas" +#pragma intrinsic(asdf) // no-warning +#pragma clang diagnostic pop +#pragma intrinsic(asdf) // expected-warning {{'asdf' is not a recognized builtin; consider including <intrin.h>}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits