llvm-project/clang/lib/AST
David Majnemer 8f77453f7c MS ABI: Mangle variable templates properly
We wouldn't recognize variable templates as being templates leading us
to leave the template arguments off of the mangled name.  This would
allow two unrelated templates to map to the same mangled name.

N.B.  While MSVC doesn't support variable templates as of this date,
this mangling is the most likely thing they will choose to use.  Their
demangler can successfully demangle our manglings with the template
arguments shown.

llvm-svn: 202789
2014-03-04 05:38:05 +00:00
..
APValue.cpp Reapply r198845, reverted in r198849, with a fix to make it valid C++98, not 2014-01-10 00:40:45 +00:00
ASTConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTContext.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
ASTDiagnostic.cpp Normalize line endings 2014-03-02 18:46:05 +00:00
ASTDumper.cpp Rename getResultType() on function and method declarations to getReturnType() 2014-01-25 16:55:45 +00:00
ASTImporter.cpp Rename getResultType() on function and method declarations to getReturnType() 2014-01-25 16:55:45 +00:00
ASTTypeTraits.cpp Add Distance parameter to ASTNodeKind::isBaseOf. 2013-11-23 01:40:07 +00:00
AttrImpl.cpp Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. 2013-12-18 23:44:18 +00:00
CMakeLists.txt [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
CXXABI.h [ms-cxxabi] Implement guard variables for static initialization 2013-09-10 20:14:30 +00:00
CXXInheritance.cpp Use pop_back_val() instead of both back() and pop_back(). 2013-08-23 16:11:15 +00:00
Comment.cpp Rename getResultLoc() too 2014-01-25 23:51:36 +00:00
CommentBriefParser.cpp Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
CommentCommandTraits.cpp Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]). 2013-07-15 03:38:40 +00:00
CommentLexer.cpp CommentLexer: eliminate an NDEBUG from the headers 2013-12-07 13:51:26 +00:00
CommentParser.cpp Comment parsing: fix a bug where a line with whitespace between two paragraphs 2013-08-23 18:03:40 +00:00
CommentSema.cpp Comment parsing: don't crash while parsing \deprecated in a standalone comment 2014-01-27 17:55:43 +00:00
Decl.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
DeclBase.cpp Fix typo that resulted in names at TU scope getting lost sometimes after a 2014-03-04 00:21:14 +00:00
DeclCXX.cpp Introduce and use Decl::getAsFunction() to simplify templated function checks 2014-01-22 07:29:52 +00:00
DeclFriend.cpp Add class-specific operator new to Decl hierarchy. This guarantees that Decls 2013-11-22 09:01:48 +00:00
DeclGroup.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclObjC.cpp Remove obsolete ObjCMethodDecl arg_type iterator functions 2014-01-25 17:32:04 +00:00
DeclOpenMP.cpp Sort all the #include lines with LLVM's utils/sort_includes.py which 2014-01-07 11:51:46 +00:00
DeclPrinter.cpp Pretty Printer: Print constexpr and ref qualifiers. Don't print return types on destructors. 2014-02-25 18:49:49 +00:00
DeclTemplate.cpp Clean up variable template handling a bit, and correct the behavior of name 2014-01-16 23:39:20 +00:00
DeclarationName.cpp Reapply "Pretty Printer: Fix printing of conversion operator decls and calls." 2014-02-25 18:03:55 +00:00
Expr.cpp Sema: When merging objc string literals, give the result a constant array type. 2014-02-25 12:26:20 +00:00
ExprCXX.cpp Introduce and use Decl::getAsFunction() to simplify templated function checks 2014-01-22 07:29:52 +00:00
ExprClassification.cpp PR17052 / DR1560 (+DR1550): In a conditional expression between a glvalue and a 2014-01-27 04:19:56 +00:00
ExprConstant.cpp [AST] Follow-up for r201468, move the check to the caller and add an assertion. 2014-02-20 04:00:01 +00:00
ExternalASTSource.cpp Simplify FindExternalVisibleDeclsByName by making it return a bool indicating 2013-02-07 03:30:24 +00:00
InheritViz.cpp Use llvm::sys::fs::createTemporaryFile. 2013-07-05 20:00:06 +00:00
ItaniumCXXABI.cpp Switch to the new MingW ABI. 2013-12-12 16:07:11 +00:00
ItaniumMangle.cpp Add AArch64 big endian Target (aarch64_be) 2014-02-25 13:51:00 +00:00
Makefile
Mangle.cpp Rename FunctionProtoType accessors from 'arguments' to 'parameters' 2014-01-20 20:26:09 +00:00
MangleNumberingContext.cpp Rename FunctionProtoType accessors from 'arguments' to 'parameters' 2014-01-20 20:26:09 +00:00
MicrosoftCXXABI.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
MicrosoftMangle.cpp MS ABI: Mangle variable templates properly 2014-03-04 05:38:05 +00:00
NSAPI.cpp Use None rather than Optional<T>() where possible. 2013-02-21 01:47:18 +00:00
NestedNameSpecifier.cpp Use pop_back_val() instead of both back() and pop_back(). 2013-08-23 16:11:15 +00:00
ParentMap.cpp [analyzer; new edges] Simplify edges in a C++11 for-range loop. 2013-06-06 21:53:45 +00:00
RawCommentList.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
RecordLayout.cpp [ms-abi] Refactor Microsoft Record Layout 2014-01-09 00:30:56 +00:00
RecordLayoutBuilder.cpp [C++11] Replace llvm::tie with std::tie. 2014-03-02 13:01:17 +00:00
SelectorLocationsKind.cpp Fix crash when using archaic protocol, rdar://10238337 2011-10-05 21:28:06 +00:00
Stmt.cpp "&&&" != "&&" 2014-02-27 23:59:14 +00:00
StmtIterator.cpp Simplify StmtIterator. 2013-06-27 20:39:04 +00:00
StmtPrinter.cpp [OPENMP] First changes for Parsing and Sema for 'omp simd' directive support 2014-02-27 08:29:12 +00:00
StmtProfile.cpp [OPENMP] First changes for Parsing and Sema for 'omp simd' directive support 2014-02-27 08:29:12 +00:00
StmtViz.cpp
TemplateBase.cpp Reduce sizeof(TemplateArgument) from 32 to 24. 2013-08-21 23:05:56 +00:00
TemplateName.cpp Add quotation marks to template names in diagnostics. 2013-03-05 06:21:38 +00:00
Type.cpp MS ABI: Add support for mangling __restrict 2014-02-18 12:58:35 +00:00
TypeLoc.cpp AST: Don't treat a TemplateExpansion as a Template 2013-08-28 00:00:27 +00:00
TypePrinter.cpp Print anonymous namespaces as <anonymous namespace> instead of <anonymous> 2014-02-14 22:12:51 +00:00
VTTBuilder.cpp Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used instead. 2012-07-04 18:45:14 +00:00
VTableBuilder.cpp [C++11] Simplify compare operators with std::tie. 2014-03-03 20:26:46 +00:00