diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-02-10 19:06:37 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-02-10 19:06:37 +0000 |
commit | 4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c (patch) | |
tree | e380e3fbc466701b1bb11f493d5a76fed574d3d3 /include/clang/Basic/DiagnosticParseKinds.td | |
parent | d387ffe0387f0df0886482ccdb90f99b0199fcf4 (diff) | |
download | clang-4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c.tar.gz clang-4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c.tar.bz2 clang-4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c.tar.xz |
Basic: Clean up malformed pragma diagnostics
Create a new diagnostic, -Wignored-pragmas and use it to handle any
case where a pragma would have a side effect but is ignored.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201102 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticParseKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticParseKinds.td | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td index ff76e959c3..b269313fce 100644 --- a/include/clang/Basic/DiagnosticParseKinds.td +++ b/include/clang/Basic/DiagnosticParseKinds.td @@ -763,32 +763,40 @@ def err_type_trait_arity : Error< // Language specific pragmas // - Generic warnings def warn_pragma_expected_lparen : Warning< - "missing '(' after '#pragma %0' - ignoring">; + "missing '(' after '#pragma %0' - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_expected_rparen : Warning< - "missing ')' after '#pragma %0' - ignoring">; + "missing ')' after '#pragma %0' - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_expected_identifier : Warning< - "expected identifier in '#pragma %0' - ignored">; + "expected identifier in '#pragma %0' - ignored">, InGroup<IgnoredPragmas>; def warn_pragma_ms_struct : Warning< - "incorrect use of '#pragma ms_struct on|off' - ignored">; + "incorrect use of '#pragma ms_struct on|off' - ignored">, + InGroup<IgnoredPragmas>; def warn_pragma_extra_tokens_at_eol : Warning< - "extra tokens at end of '#pragma %0' - ignored">; + "extra tokens at end of '#pragma %0' - ignored">, + InGroup<IgnoredPragmas>; +def warn_pragma_expected_punc : Warning< + "expected ')' or ',' in '#pragma %0'">, InGroup<IgnoredPragmas>; // - #pragma options def warn_pragma_options_expected_align : Warning< - "expected 'align' following '#pragma options' - ignored">; + "expected 'align' following '#pragma options' - ignored">, + InGroup<IgnoredPragmas>; def warn_pragma_align_expected_equal : Warning< - "expected '=' following '#pragma %select{align|options align}0' - ignored">; + "expected '=' following '#pragma %select{align|options align}0' - ignored">, + InGroup<IgnoredPragmas>; def warn_pragma_align_invalid_option : Warning< - "invalid alignment option in '#pragma %select{align|options align}0' - ignored">; + "invalid alignment option in '#pragma %select{align|options align}0' - ignored">, + InGroup<IgnoredPragmas>; // - #pragma pack def warn_pragma_pack_invalid_action : Warning< - "unknown action for '#pragma pack' - ignored">; + "unknown action for '#pragma pack' - ignored">, + InGroup<IgnoredPragmas>; def warn_pragma_pack_malformed : Warning< - "expected integer or identifier in '#pragma pack' - ignored">; + "expected integer or identifier in '#pragma pack' - ignored">, + InGroup<IgnoredPragmas>; // - #pragma unused def warn_pragma_unused_expected_var : Warning< - "expected '#pragma unused' argument to be a variable name">; -def warn_pragma_unused_expected_punc : Warning< - "expected ')' or ',' in '#pragma unused'">; + "expected '#pragma unused' argument to be a variable name">, + InGroup<IgnoredPragmas>; // - #pragma fp_contract def err_pragma_fp_contract_scope : Error< "'#pragma fp_contract' can only appear at file scope or at the start of a " @@ -808,11 +816,11 @@ def err_not_opencl_storage_class_specifier : Error< // OpenCL EXTENSION pragma (OpenCL 1.1 [9.1]) def warn_pragma_expected_colon : Warning< - "missing ':' after %0 - ignoring">; + "missing ':' after %0 - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_expected_enable_disable : Warning< - "expected 'enable' or 'disable' - ignoring">; + "expected 'enable' or 'disable' - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_unknown_extension : Warning< - "unknown OpenCL extension %0 - ignoring">; + "unknown OpenCL extension %0 - ignoring">, InGroup<IgnoredPragmas>; def err_seh_expected_handler : Error< "expected '__except' or '__finally' block">; @@ -837,7 +845,7 @@ def err_omp_unknown_directive : Error < def err_omp_unexpected_directive : Error < "unexpected OpenMP directive '#pragma omp %0'">; def err_omp_expected_punc : Error < - "expected ',' or ')' in %select{'#pragma omp %1'|'%1' clause}0">; + "expected ',' or ')' in '%0' clause">; def err_omp_unexpected_clause : Error < "unexpected OpenMP clause '%0' in directive '#pragma omp %1'">; def err_omp_more_one_clause : Error < |