diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-02-12 23:50:26 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-02-12 23:50:26 +0000 |
commit | dd6709eec187570e222414da5b28196201b8c561 (patch) | |
tree | b15f88ccd652665343ebac136b755f7b1396aba8 /include/clang/Basic/DiagnosticParseKinds.td | |
parent | 0e76625dcc45865707b199bcd63d727b70fc05b1 (diff) | |
download | clang-dd6709eec187570e222414da5b28196201b8c561.tar.gz clang-dd6709eec187570e222414da5b28196201b8c561.tar.bz2 clang-dd6709eec187570e222414da5b28196201b8c561.tar.xz |
MS ABI: Implement #pragma vtordisp() and clang-cl /vdN
These features are new in VS 2013 and are necessary in order to layout
std::ostream correctly. Currently we have an ABI incompatibility when
self-hosting with the 2013 stdlib in our convertible_fwd_ostream wrapper
in gtest.
This change adds another implicit attribute, MSVtorDispAttr, because
implicit attributes are currently the best way to make sure the
information stays on class templates through instantiation.
Reviewers: majnemer
Differential Revision: http://llvm-reviews.chandlerc.com/D2746
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201274 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticParseKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticParseKinds.td | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td index de07ee8d8f..d37cef8db2 100644 --- a/include/clang/Basic/DiagnosticParseKinds.td +++ b/include/clang/Basic/DiagnosticParseKinds.td @@ -770,6 +770,9 @@ def warn_pragma_expected_rparen : Warning< "missing ')' after '#pragma %0' - ignoring">, InGroup<IgnoredPragmas>; def warn_pragma_expected_identifier : Warning< "expected identifier in '#pragma %0' - ignored">, InGroup<IgnoredPragmas>; +def warn_pragma_expected_integer : Warning< + "expected integer between %0 and %1 inclusive in '#pragma %2' - ignored">, + InGroup<IgnoredPragmas>; def warn_pragma_ms_struct : Warning< "incorrect use of '#pragma ms_struct on|off' - ignored">, InGroup<IgnoredPragmas>; @@ -789,8 +792,8 @@ def warn_pragma_align_invalid_option : Warning< "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">, +def warn_pragma_invalid_action : Warning< + "unknown action for '#pragma %0' - ignored">, InGroup<IgnoredPragmas>; def warn_pragma_pack_malformed : Warning< "expected integer or identifier in '#pragma pack' - ignored">, |