summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/MangleNumberingContext.cpp
Commit message (Collapse)AuthorAgeFilesLines
* More local mangling fixes.Eli Friedman2013-07-101-2/+12
| | | | | | | | | | | | Compute mangling numbers for externally visible local variables and tags. Change the mangler to consistently use discriminators where necessary. Tweak the scheme we use to number decls which are not externally visible to avoid unnecessary discriminators in common cases now that we request them more consistently. Fixes <rdar://problem/14204721>. llvm-svn: 185986
* Fix mangling for block literals.Eli Friedman2013-07-011-0/+38
Blocks, like lambdas, can be written in contexts which are required to be treated as the same under ODR. Unlike lambdas, it isn't possible to actually take the address of a block, so the mangling of the block itself doesn't matter. However, objects like static variables inside a block do need to be mangled in a consistent way. There are basically three components here. One, block literals need a consistent numbering. Two, objects/types inside a block literal need to be mangled using it. Three, objects/types inside a block literal need to have their linkage computed correctly. llvm-svn: 185372
OpenPOWER on IntegriCloud