summaryrefslogtreecommitdiff
path: root/include/clang/Basic/DiagnosticParseKinds.td
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-02-10 19:50:15 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-02-10 19:50:15 +0000
commit3fad2414b036a7803c98c7124343bad6013e178f (patch)
tree8d61daf2f835ffe67449ea36b30bcdc8a9cb3ee4 /include/clang/Basic/DiagnosticParseKinds.td
parent4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c (diff)
downloadclang-3fad2414b036a7803c98c7124343bad6013e178f.tar.gz
clang-3fad2414b036a7803c98c7124343bad6013e178f.tar.bz2
clang-3fad2414b036a7803c98c7124343bad6013e178f.tar.xz
MS ABI: Add support for #pragma pointers_to_members
Introduce a notion of a 'current representation method' for pointers-to-members. When starting out, this is set to 'best case' (representation method is chosen by examining the class, selecting the smallest representation that would work given the class definition or lack thereof). This pragma allows the translation unit to dictate exactly what representation to use, similar to how the inheritance model keywords operate. N.B. PCH support is forthcoming. Differential Revision: http://llvm-reviews.chandlerc.com/D2723 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201105 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticParseKinds.td')
-rw-r--r--include/clang/Basic/DiagnosticParseKinds.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/Basic/DiagnosticParseKinds.td b/include/clang/Basic/DiagnosticParseKinds.td
index b269313fce..de07ee8d8f 100644
--- a/include/clang/Basic/DiagnosticParseKinds.td
+++ b/include/clang/Basic/DiagnosticParseKinds.td
@@ -177,6 +177,8 @@ def err_invalid_token_after_declarator_suggest_equal : Error<
"invalid %0 at end of declaration; did you mean '='?">;
def err_expected_statement : Error<"expected statement">;
def err_expected_lparen_after : Error<"expected '(' after '%0'">;
+def err_expected_rparen_after : Error<"expected ')' after '%0'">;
+def err_expected_punc : Error<"expected ')' or ',' after '%0'">;
def err_expected_less_after : Error<"expected '<' after '%0'">;
def err_expected_lbrace_in_compound_literal : Error<
"expected '{' in compound literal">;
@@ -809,6 +811,10 @@ def err_pragma_comment_unknown_kind : Error<"unknown kind of pragma comment">;
def err_pragma_detect_mismatch_malformed : Error<
"pragma detect_mismatch is malformed; it requires two comma-separated "
"string literals">;
+// - #pragma pointers_to_members
+def err_pragma_pointers_to_members_unknown_kind : Error<
+ "unexpected %0, expected to see one of %select{|'best_case', 'full_generality', }1"
+ "'single_inheritance', 'multiple_inheritance', or 'virtual_inheritance'">;
// OpenCL Section 6.8.g
def err_not_opencl_storage_class_specifier : Error<