llvm-project/clang/lib/AST
David Majnemer 34b4989658 MS ABI: Disambiguate the manglings for global guard variables
If a guard variable will be created for an entity at global scope,
then we cannot rely on the scope depth to disambiguate names for us.

Instead, mangle the entire variable into the guard to ensure it's uniqueness.

llvm-svn: 203151
2014-03-06 19:57:36 +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 [-cxx-abi microsoft] Implement local manglings accurately 2014-03-05 08:57:59 +00:00
ASTDiagnostic.cpp Normalize line endings 2014-03-02 18:46:05 +00:00
ASTDumper.cpp Change the color of comment nodes from bright yellow to blue. Bright yellow on 2014-03-06 01:09:03 +00:00
ASTImporter.cpp When deciding whether or not to resolve two 2014-03-04 18:11:50 +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 Objective-C. Return 0 as class of methods in protocols. 2014-03-04 22:57:32 +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 PR19010: Make sure we initialize (empty) indirect base class subobjects when 2014-03-05 23:32:50 +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 AST: Remove layering violation with Sema 2014-03-05 18:55:38 +00:00
ItaniumMangle.cpp [-cxx-abi microsoft] Implement local manglings accurately 2014-03-05 08:57:59 +00:00
Makefile
Mangle.cpp Pass llvm::Triple objects by const reference. 2014-03-04 19:31:42 +00:00
MangleNumberingContext.cpp [-cxx-abi microsoft] Implement local manglings accurately 2014-03-05 08:57:59 +00:00
MicrosoftCXXABI.cpp AST: Remove layering violation with Sema 2014-03-05 18:55:38 +00:00
MicrosoftMangle.cpp MS ABI: Disambiguate the manglings for global guard variables 2014-03-06 19:57:36 +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] Clause 'num_threads' 2014-03-06 06:15:19 +00:00
StmtProfile.cpp [OPENMP] Clause 'num_threads' 2014-03-06 06:15:19 +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 [ASTPrinter] 'SEL' isn't a ObjCObjectPointer, so we don't need to handle it in TypePrinter::printObjCObjectPointerBefore. 2014-03-06 15:31:56 +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 Style fix: replace "1 entries" with "1 entry" in the vftable layout dumping code 2014-03-05 13:54:07 +00:00