-
- Downloads
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
Showing
- include/clang/AST/DeclCXX.h 4 additions, 0 deletionsinclude/clang/AST/DeclCXX.h
- include/clang/Basic/Attr.td 17 additions, 0 deletionsinclude/clang/Basic/Attr.td
- include/clang/Basic/DiagnosticParseKinds.td 5 additions, 2 deletionsinclude/clang/Basic/DiagnosticParseKinds.td
- include/clang/Basic/DiagnosticSemaKinds.td 1 addition, 1 deletioninclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Basic/LangOptions.def 1 addition, 0 deletionsinclude/clang/Basic/LangOptions.def
- include/clang/Basic/TokenKinds.def 5 additions, 0 deletionsinclude/clang/Basic/TokenKinds.def
- include/clang/Driver/CC1Options.td 2 additions, 0 deletionsinclude/clang/Driver/CC1Options.td
- include/clang/Driver/CLCompatOptions.td 2 additions, 1 deletioninclude/clang/Driver/CLCompatOptions.td
- include/clang/Lex/Preprocessor.h 5 additions, 0 deletionsinclude/clang/Lex/Preprocessor.h
- include/clang/Parse/Parser.h 3 additions, 0 deletionsinclude/clang/Parse/Parser.h
- include/clang/Sema/Sema.h 23 additions, 0 deletionsinclude/clang/Sema/Sema.h
- lib/AST/MicrosoftCXXABI.cpp 6 additions, 0 deletionslib/AST/MicrosoftCXXABI.cpp
- lib/AST/RecordLayoutBuilder.cpp 24 additions, 0 deletionslib/AST/RecordLayoutBuilder.cpp
- lib/Driver/Tools.cpp 3 additions, 0 deletionslib/Driver/Tools.cpp
- lib/Frontend/CompilerInvocation.cpp 1 addition, 0 deletionslib/Frontend/CompilerInvocation.cpp
- lib/Lex/Pragma.cpp 8 additions, 23 deletionslib/Lex/Pragma.cpp
- lib/Lex/Preprocessor.cpp 18 additions, 0 deletionslib/Lex/Preprocessor.cpp
- lib/Parse/ParsePragma.cpp 101 additions, 1 deletionlib/Parse/ParsePragma.cpp
- lib/Parse/ParsePragma.h 7 additions, 0 deletionslib/Parse/ParsePragma.h
- lib/Parse/Parser.cpp 7 additions, 0 deletionslib/Parse/Parser.cpp
Loading
Please register or sign in to comment