]> granicus.if.org Git - clang/commit
MS ABI: Add support for #pragma pointers_to_members
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 10 Feb 2014 19:50:15 +0000 (19:50 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 10 Feb 2014 19:50:15 +0000 (19:50 +0000)
commit3fad2414b036a7803c98c7124343bad6013e178f
tree8d61daf2f835ffe67449ea36b30bcdc8a9cb3ee4
parent4809f9bcd2f9b1473fa0d8b1db56cc6887ff814c
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
19 files changed:
include/clang/AST/DeclCXX.h
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticParseKinds.td
include/clang/Basic/TokenKinds.def
include/clang/Parse/Parser.h
include/clang/Sema/Sema.h
lib/AST/MicrosoftCXXABI.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/ParsePragma.cpp
lib/Parse/ParsePragma.h
lib/Parse/ParseStmt.cpp
lib/Parse/Parser.cpp
lib/Sema/Sema.cpp
lib/Sema/SemaAttr.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaDeclAttr.cpp
lib/Sema/SemaType.cpp
test/SemaCXX/member-pointer-ms.cpp
utils/TableGen/ClangAttrEmitter.cpp