History log of /external/clang/test/CodeGenCXX/mangle.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ef8225444452a1486bd721f3285301fe84643b00 21-Jul-2014 Stephen Hines <srhines@google.com> Update Clang for rebase to r212749.

This also fixes a small issue with arm_neon.h not being generated always.

Includes a cherry-pick of:
r213450 - fixes mac-specific header issue
r213126 - removes a default -Bsymbolic on Android

Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/test/CodeGenCXX/mangle.cpp
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/CodeGenCXX/mangle.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/mangle.cpp
62e9370d9da9ee4f675da52d559a79c93c30642e 04-Nov-2013 David Majnemer <david.majnemer@gmail.com> Sema: Do not allow overloading between methods based on restrict

If the sole distinction between two declarations is that one has a
__restrict qualifier then we should not consider it to be an overload.

Instead, we will consider it as an incompatible redeclaration which is
similar to how MSVC, ICC and GCC would handle it.

This fixes PR17786.

N.B. We must not mangle in __restrict into method qualifiers becase we
don't allow overloading between such declarations anymore. To do
otherwise would be a violation of the Itanium ABI.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
885d8bf8d06ddaf79ffe45a96aaa42621db44241 23-Oct-2013 David Majnemer <david.majnemer@gmail.com> AST: Mangle fields in anonymous structs/unions

The Itanium mangler couldn't cope with mangling an IndirectFieldDecl.
Instead, mangle the field the IndirectFieldDecl refers to.

Further, give IndirectFieldDecl no linkage just like FieldDecl.

N.B. Decl.cpp:getLVForNamespaceScopeDecl tried to calculate linkage for
data members of anonymous structs/unions. However, this seems
impossible so turn it into an assertion.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
a41c97a5d1912ffd184381d269fd8e5a25ee5e59 20-Sep-2013 Richard Smith <richard-llvm@metafoo.co.uk> Switch the semantic DeclContext for a block-scope declaration of a function or
variable from being the function to being the enclosing namespace scope (in
C++) or the TU (in C). This allows us to fix a selection of related issues
where we would build incorrect redeclaration chains for such declarations, and
fail to notice type mismatches.

Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern,
which is only found when searching scopes, and not found when searching
DeclContexts. Such a declaration is only made visible in its DeclContext if
there are no non-LocalExtern declarations.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
9d57b8dea3b139dc2e2976ffccef50c74ac03873 29-Aug-2013 David Majnemer <david.majnemer@gmail.com> Sema: Subst type default template args earlier

Summary:
We would not perform substitution at an appropriate point, allowing strange
results to appear. We would accepts things that we shouldn't or mangle things incorrectly. Note that this hasn't fixed the other cases like
template-template parameters or non-type template parameters.

Reviewers: doug.gregor, rjmccall, rsmith

Reviewed By: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1507

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
93ab6bf534fb6c26563c00f28a8fc5581bb71dfd 15-Aug-2013 Stephen Lin <stephenwlin@gmail.com> CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5e867c8a07d82da0d3b0a43402ee4f1c6ba416e9 10-Jul-2013 Eli Friedman <eli.friedman@gmail.com> More local mangling fixes.

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>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5bbb0581cb62e019c2b92bdd5362ba93e84e826f 28-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Fix a crash when we were trying to compute the linkage too early.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
f21107b95a65db82f3295fd166074b5a59dfb1a7 08-Feb-2013 Tanya Lattner <tonic@nondot.org> Use the target address space value when mangling names.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
66cff7257698d5528632917d38f9a3037bb1506d 14-Nov-2012 David Blaikie <dblaikie@gmail.com> Provide the correct mangling and linkage for certain unnamed nested classes.

This corrects the mangling and linkage of classes (& their member functions) in
cases like this:

struct foo {
struct {
void func() { ... }
} x;
};

we were accidentally giving this nested unnamed struct 'no' linkage where it
should've had the linkage of the outer class. The mangling was incorrecty too,
mangling as TU-wide unnamed type mangling of $_X rather than class-scoped
mangling of UtX_.

This also fixes -Wunused-member-function which would incorrectly diagnose
'func' as unused due to it having no linkage & thus appearing to be TU-local
when in fact it might be correctly used in another TU.

Similar mangling should be applied to function local classes in similar cases
but I've deferred that for a subsequent patch.

Review/discussion by Richard Smith, John McCall, & especially Eli Friedman.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
2bcb984df975c75130f2320c935fae1143c2a5cc 14-Sep-2012 Richard Smith <richard-llvm@metafoo.co.uk> Revert r163829. The world (or libstdc++, at least) is not ready.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
ceb07622bacde3184b19caf0957f5eeba5cb6784 13-Sep-2012 Richard Smith <richard-llvm@metafoo.co.uk> Remove speculative fix for C++ core issue 1407, since it was resolved as NAD.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
0c8731a2724e1aee3b908dcfd589a89d4b7938e9 30-Jan-2012 John McCall <rjmccall@apple.com> Per discussion on cxx-abi-dev, don't drop leading zeroes from the
mangling of floating-point literals. I just went ahead and
reimplemented toString() here; if someone wants to generalize
the library routine to do this, or feels strongly that we should
be post-processing, please feel free.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
8ef7b203332b0c8d65876a1f5e6d1db4e6f40e4b 19-Jan-2012 Richard Smith <richard-llvm@metafoo.co.uk> constexpr: converted constant expression handling for enumerator values, case
values and non-type template arguments of integral and enumeration types.

This change causes some legal C++98 code to no longer compile in C++11 mode, by
enforcing the C++11 rule that narrowing integral conversions are not permitted
in the final implicit conversion sequence for the above cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
762bb9d0ad20320b9f97a841dce57ba5e8e48b07 14-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Update all tests other than Driver/std.cpp to use -std=c++11 rather than
-std=c++0x. Patch by Ahmed Charles!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
16ee8191ca6953e173c983e3175a8d7504b5baae 18-Sep-2011 Richard Smith <richard-llvm@metafoo.co.uk> Fix PR10531. Attach an initializer to anonymous unions, since the default constructor might not be trivial (if there is an in-class initializer for some member) and might be deleted.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
f1588660c109610e6a79c786b83b7c9bbd6ed31e 12-Jul-2011 Douglas Gregor <dgregor@apple.com> Improve name mangling for instantiation-dependent types that are not
dependent. This covers an odd class of types such as

int (&)[sizeof(sizeof(T() + T()))];

which involve template parameters but, because of some trick typically
involving a form of expression that is never type-dependent, resolve
down to a non-dependent type. Such types need to be mangled
essentially as they were written in the source code (involving
template parameters), rather than via their canonical type.

In general, instantiation-dependent types should be mangled as
they were written in the source. However, since we can't do that now
without non-trivial refactoring of the AST (see the new FIXME), I've
gone for this partial solution: only use the as-written-in-the-source
mangling for these strange types that are instantiation-dependent but
not dependent. This provides better compatibility with previous
incarnations of Clang and with GCC. In the future, we'd like to get
this right.

Fixes <rdar://problem/9663282>.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
91832368ef1c1158c4351bdccaa141dac818f04e 12-Jul-2011 Douglas Gregor <dgregor@apple.com> Implement name mangling for sizeof...(function parameter pack).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
1961791626ab0ebbd8bf901a37476d527def4edb 12-Jul-2011 Douglas Gregor <dgregor@apple.com> Mangle dependent template names of unknown arity

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
edee94b615059ad178b06a489312eca6e049609a 12-Jul-2011 Douglas Gregor <dgregor@apple.com> Implement the Itanium C++ ABI's mangling rule for
non-instantiation-dependent sizeof and alignof expressions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5e78cd43a033b3dedf741fca4fa1652f9cb3e41c 12-Jul-2011 Douglas Gregor <dgregor@apple.com> Allow us to compute linkage et al for instantiation-dependent types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
35ee32e800145a535f2676898f8f06f7ae6e9b43 01-Jul-2011 John McCall <rjmccall@apple.com> Just mangle substituted template parameter types as unresolved types.
This is kindof questionable but seems to do more-or-less the right thing.
This is not a particularly friendly part of the ABI.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
561f81243f665cf2001caadc45df505f826b72d6 01-Jul-2011 Douglas Gregor <dgregor@apple.com> Introduce the notion of instantiation dependence into Clang's AST. A
type/expression/template argument/etc. is instantiation-dependent if
it somehow involves a template parameter, even if it doesn't meet the
requirements for the more common kinds of dependence (dependent type,
type-dependent expression, value-dependent expression).

When we see an instantiation-dependent type, we know we always need to
perform substitution into that instantiation-dependent type. This
keeps us from short-circuiting evaluation in places where we
shouldn't, and lets us properly implement C++0x [temp.type]p2.

In theory, this would also allow us to properly mangle
instantiation-dependent-but-not-dependent decltype types per the
Itanium C++ ABI, but we aren't quite there because we still mangle
based on the canonical type in cases like, e.g.,

template<unsigned> struct A { };
template<typename T>
void f(A<sizeof(sizeof(decltype(T() + T())))>) { }
template void f<int>(A<sizeof(sizeof(int))>);

and therefore get the wrong answer.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
68a51a7f9c01ccbe7232d41beeb4deb26f40b013 01-Jul-2011 John McCall <rjmccall@apple.com> Change the mangling of enclosing template template parameters
that serve as the base template name of an unresolved-name to
be mangled as a substitution.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
d3d49bb27c7ffd9accc0a6c00e887111c0348845 28-Jun-2011 John McCall <rjmccall@apple.com> Be more thorough about mangling unresolved types.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
26a6ec7be5ad57aa380f62aa2c39cd073e22d9dc 22-Jun-2011 John McCall <rjmccall@apple.com> Fix the mangling of dependent-scope decl ref expressions so that they
use the unresolved-name production correctly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
4f4e413f282609d4a488b44fc8669c28636a7aba 04-May-2011 John McCall <rjmccall@apple.com> Type prefixes of unresolved-names should only be mangled as unresolved-types
if they match that production, i.e. if they're template type parameters
or decltypes (or, as an obvious case not yet described in the ABI document,
if they're template template parameters applied to template arguments).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
20c0da7787c9a7d2529e42a4a91d777778595d74 28-Apr-2011 John Wiegley <johnw@boostpro.com> t/clang/type-traits

Patch authored by John Wiegley.

These type traits are used for parsing code that employs certain features of
the Embarcadero C++ compiler. Several of these constructs are also desired by
libc++, according to its project pages (such as __is_standard_layout).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
c0a455942453a37dd7db83eb354f40a49872ab06 24-Apr-2011 John McCall <rjmccall@apple.com> GCC seems to create address-of expression manglings when passing *any*
function as a template argument where a pointer to function is wanted.
Just extend the existing hack.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
a0ce15c13a69c430d8980a1fcf03f420855c18ca 24-Apr-2011 John McCall <rjmccall@apple.com> Update the mangler for some of the "new" unresolved-name manglings.
I've sent off an email requesting clarification on a few things that
I wasn't sure how to handle.

This also necessitated making prefixes and unresolved-prefixes get
mangled separately.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
1b6005285e234bc30698917b2d3abb2f1f98bc77 24-Apr-2011 John McCall <rjmccall@apple.com> The ABI settled on mangling float literals with lowercase hex dumps.
APInt::toString doesn't do those, but it's easy to postprocess that output,
and that's probably better than adding another knob to that method.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
74990f45b0bc57fca81f908efb13d2b6c6350f03 22-Mar-2011 John McCall <rjmccall@apple.com> File-scope static functions need to be mangled with 'L' so that
they don't collide with file-scope extern functions from the same
translation unit. This is basically a matter of applying the same
logic to FunctionDecls as we were previously applying to VarDecls.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
b47f74818094fabd8f150fb4d6d0fa8a6c52cde1 26-Jan-2011 John McCall <rjmccall@apple.com> When mangling a qualified array type, push the qualifiers down to the
element type. Fixes rdar://problem/8913416.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
e292368afa63337f5ff64c967857a898d6f868da 04-Nov-2010 Anders Carlsson <andersca@mac.com> Mangle std::nullptr_t as specified by the Itanium C++ ABI.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7281d1fbea62a4549b045bb7dc434904f2b609d8 02-Nov-2010 Fariborz Jahanian <fjahanian@apple.com> Fix a crash mangling decayed val argument-typed function.
// rdar: //8620510 and PR7666


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
6dbce19fdae4cfae4eb5f826284978e723a04e61 20-Aug-2010 John McCall <rjmccall@apple.com> Mangle explicit template arguments in dependent or overloaded names.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5e1e89b8af283af34943a477dc6378f1a641df26 18-Aug-2010 John McCall <rjmccall@apple.com> Contextual arity is a feature of mangling expressions; kill off
mangleCallExpression. Also, operator names with unknown arity should
be mangled as binary operators; this is actually covered by an oddly-
positioned sentence in the ABI document. Fixes PR7891.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
6f615bc52bd5513019c32b378834a3c1b8425bf8 17-Aug-2010 John McCall <rjmccall@apple.com> Whoops. Don't fall through into the overload case when mangling a
dependent call expression.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7121c8f551d9c91c0cf0e5e1f7f9aafa97241b17 06-Aug-2010 John McCall <rjmccall@apple.com> Don't crash when mangling empty anonymous unions. We never actually *need*
these, but it's convenient to mangle them when deferring them (in the 99.99%
case where it's not an anonymous union, of course).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
3dc7e7b9c59b9a2ed4f530b32e710a3738611df7 24-Jul-2010 John McCall <rjmccall@apple.com> Mangle enum constant expressions. Fixes rdar://problem/8204122



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
c00cb6409307846a9bbcd86d307a1a91aab659d0 18-Jul-2010 Eli Friedman <eli.friedman@gmail.com> Fix mangling for static member variables of classes inside an extern "C"
linkage specification. Not sure if this is the ideal fix, but I'm reasonably
sure it's correct vs. gcc.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
b6f532e2b03dbbfd97a37a7bb845fe23f8136889 14-Jul-2010 John McCall <rjmccall@apple.com> Fix the mangling of template template arguments, which do not always
follow <name>; instead they follow <type>, which has <name> as a subset.

Fixes PR7446.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
dfc0d1ff1af5b199945a1ff98a6f7db0fdfb1615 02-Jun-2010 Anders Carlsson <andersca@mac.com> Correctly mangle unsigned integer literals where the high bit is set.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
93296683a70eed2fae0b694748ed4cc51c53aef4 02-Jun-2010 Anders Carlsson <andersca@mac.com> Correctly mangle variadic functions that don't have any other parameters.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
de81063acdc999fbe1225f466ead12f7e9107acf 09-Apr-2010 John McCall <rjmccall@apple.com> Provide manglings for bool and character literal expressions. These are
just integer-literal expressions with special case implementations in the AST.

Fixes rdar://problem/7825453.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7002f4c03c2d0544f4e8bea8d3a5636519081e35 09-Apr-2010 John McCall <rjmccall@apple.com> Turn access control on by default in -cc1.
Remove -faccess-control from -cc1; add -fno-access-control.
Make the driver pass -fno-access-control by default.
Update a bunch of tests to be correct under access control.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
9b35b25db3641dfa8876d24b41cfa5b4d51477cb 17-Mar-2010 Rafael Espindola <rafael.espindola@gmail.com> Correctly mangle dependent TypenameType.
Fixes PR6625.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
8f51a4f2d00b0abda3cde7f3828fb2e2b9beafb5 13-Mar-2010 Douglas Gregor <dgregor@apple.com> Give explicit template instantiations weak ODR linkage. Former
iterations of this patch gave explicit template instantiation
link-once ODR linkage, which permitted the back end to eliminate
unused symbols. Weak ODR linkage still requires the symbols to be
generated.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
34fd284e0a6ea88b98d6e1183548264bab5b3702 13-Mar-2010 Douglas Gregor <dgregor@apple.com> Re-revert the explicit template instantiation linkage patch. I am beginning to look incompetent

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
8721360da5cf3d5dfdc2fc2bf8d53a5f79307995 13-Mar-2010 Douglas Gregor <dgregor@apple.com> Reinstate patch to turn explicit template instantiations into weak symbols

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
4ea9006629acb6bf9b2984554517c968a10a6b77 12-Mar-2010 Douglas Gregor <dgregor@apple.com> Revert the linkage change for explicit template instantiations; something is amiss

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
e5e0c9deb1b4cfa081152cda548d31368facbc57 12-Mar-2010 Douglas Gregor <dgregor@apple.com> Give explicit template instantiations weak linkage (but don't defer
them). Fixes PR6578.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
d9800728cc3e7f478eec4d4b19af5b808ac51942 11-Mar-2010 Rafael Espindola <rafael.espindola@gmail.com> Correctly mangle address of member in template arguments. Fixes PR6460



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
ad5e73887052193afda72db8efcb812bd083a4a8 02-Mar-2010 John McCall <rjmccall@apple.com> Split out types that are non-canonical unless dependent as their own
category. Use this in a few places to eliminate unnecessary TST cases and
do some future-proofing. Provide terrible manglings for typeof. Mangle
decltype with some hope of accuracy.

Our manglings for some of the cases covered in the testcase are different
from gcc's, which I've raised as an issue with the ABI list.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
e1e342f4a96f132d8d7e802284417bd520f9f4f8 01-Mar-2010 John McCall <rjmccall@apple.com> The latest draft uses 'dt' to mangle member expressions, and now so do we.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97479 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
8e51a1f5da6ef4a1a168d14116c6eed3a578a263 18-Feb-2010 John McCall <rjmccall@apple.com> Revert the ctor/dtor alias optimization for now; the buildbots can detect
some failure here that I can't.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
92ac9ffecd236a6be0d6ab30cef56100e56b171c 17-Feb-2010 John McCall <rjmccall@apple.com> Emit complete constructors and destructors as aliases to base constructors
and destructors when the two entities are semantically identical, i.e. when
the class has no virtual base classes. We only do this for linkage types
for which aliases are supported, i.e. internal and external, i.e. not linkonce.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
aec2523ab2c91413ef2f66dc944d0d6ac6a58abe 06-Feb-2010 Anders Carlsson <andersca@mac.com> Only append 'L' for internal variable declarations, not all declarations. (Found by the mangle checker, yay)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
32fb4e1fd1cbd2ff006cc0e06c997e4eea2f0e28 05-Feb-2010 Douglas Gregor <dgregor@apple.com> Implement name mangling for template template parameters

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
2f27bf854f0519810b34afd209089cc75536b757 04-Feb-2010 John McCall <rjmccall@apple.com> Mangle member expressions. Also invented.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
1dd7383dc48718c452e71a625b29531dd96fbb9d 04-Feb-2010 John McCall <rjmccall@apple.com> Add mangling support for calls, sizeof/alignof, constructor calls,
float literals, and unresolved lookups (which required hand-wavey extensions).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
31455256ae26cc7069111643ec4429ea564377da 24-Jan-2010 Sean Hunt <rideau3@gmail.com> Mangle static variables with an extra name to distinguish them from non-static variables in the same TU.
Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
a9efbf009468f36df0bb66551677339055757d51 07-Jan-2010 Nuno Lopes <nunoplopes@sapo.pt> fix PR5869: mangle static symbols like gcc does to make it easier to diff symbol tables

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
f28c687866aed1ed7b4b9ddf44a51673861236cf 23-Dec-2009 Anders Carlsson <andersca@mac.com> Mangle block pointer types. Fixes PR5858.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
9e85c743a4cefff7386764bba3f3f2cdbe5c06e2 23-Dec-2009 Anders Carlsson <andersca@mac.com> Mangle template template parameters. Fixes PR5861.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
8257d411a759b91921681c3b7f79e50e0d9252db 22-Dec-2009 Anders Carlsson <andersca@mac.com> Make sure that we mangle overloaded operators that are member functions correctly, giving them the correct arity.

With this seemingly insignificant fix, we are now able to build and link clang using clang itself! (LLVM still has to be built with gcc for the time being).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
58040a5ee50bcaebbcbebe47fbdc5fd70be90e83 16-Dec-2009 Anders Carlsson <andersca@mac.com> Mangle CXXOperatorCallExprs, fixes PR5796.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 15-Dec-2009 Daniel Dunbar <daniel@zuster.org> Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
e170ba7846bc4cae4b376b52eb4448645c141e59 14-Dec-2009 Anders Carlsson <andersca@mac.com> Mangle unary, binary and ternary expressions correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
6f9f25dfc7bf9cc1ab1282d6d7e9cf7916d8a09c 11-Dec-2009 Eli Friedman <eli.friedman@gmail.com> Make sure mangling doesn't crash in another case. Add some more tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
ecb7e932e9274a0628477d17931a06b3b109024a 11-Dec-2009 Eli Friedman <eli.friedman@gmail.com> Fix for PR5706: let mangleName deal with mangling names without identifiers
correctly.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5c478cf2d54157062cd843737324e0d0df03a464 04-Dec-2009 Anders Carlsson <andersca@mac.com> Diagnose declarations of implicit member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
a7694087e4abaea261918ffbb3ffe38feb1da489 06-Nov-2009 Anders Carlsson <andersca@mac.com> Handle ParenExprs in mangleExpression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
c4355b6883382b85cda3b7337587784dabf3450b 07-Oct-2009 Anders Carlsson <andersca@mac.com> Mangle anonymous structs/unions correctly. Fixes PR5139.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
b217c1b9d2225521f4021984ad5a424784fa22bb 06-Oct-2009 Anders Carlsson <andersca@mac.com> When mangling names, always use the canonical decl. Fixes PR5144.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
50755b0dcc81eed9dcf27abe9162527013f26bd4 27-Sep-2009 Anders Carlsson <andersca@mac.com> Mangle dependent name expressions. Fixes PR5063.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
0ccdf8d62cba2ad730001f133b6cc4836c42da83 27-Sep-2009 Anders Carlsson <andersca@mac.com> Better template parameter type mangling.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
aeb85374e92619b8e4ce92ac6e30756b5053a137 27-Sep-2009 Anders Carlsson <andersca@mac.com> Handle substitutions in mangleTemplatePrefix.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
1668f2062b237ddb137f5d16388b3dea49651f85 26-Sep-2009 Anders Carlsson <andersca@mac.com> Don't crash when trying to mangle function templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
ae3524866124021f3bc695886668254093c0793f 26-Sep-2009 Anders Carlsson <andersca@mac.com> Improve mangling of typename types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
add28829c7a8d3c5da9ae140f18d3c9ad2d8b599 22-Sep-2009 Anders Carlsson <andersca@mac.com> CXXMethodDecls should always be mangled, even if they are inside an extern "C" block. Fixes PR5017.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5cc58c6cfe4a6378287dbf92f9b1a23e133a6118 22-Sep-2009 Anders Carlsson <andersca@mac.com> Don't assert that linkage decls are always C++, it's not true. Fixes PR5019.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
d553f8c57fc77a46f6a1a1c90d7fd8f2d0e96073 21-Sep-2009 Anders Carlsson <andersca@mac.com> Start mangling expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7482e247163978792654ca1a99913e19dd507e0a 18-Sep-2009 Anders Carlsson <andersca@mac.com> More mangling goodness.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
b251e9346e4ff0f995aa33c26f691406a70f0ed1 18-Sep-2009 Anders Carlsson <andersca@mac.com> Fix error in test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7624f219388f2434a4988ba2508a6ca7b57ba1c3 18-Sep-2009 Anders Carlsson <andersca@mac.com> Handle mangling of TemplateSpecializationType.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
d58d6f778de936516d8815783f2e88348c41dce4 17-Sep-2009 Anders Carlsson <andersca@mac.com> Ignore extern "C++" { } when mangling.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
03c9d530dbdcbb00b0b1ac0abced5dcce2e21408 17-Sep-2009 Anders Carlsson <andersca@mac.com> Substitute unscoped template names.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
9234b7ff2bb99479fb97d5faa181a55aacf28b78 17-Sep-2009 Anders Carlsson <andersca@mac.com> When mangling function template specialization, mangle the type encoding of the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
cf85b933fef4ce827df83ef2d22c322ab2078aa5 17-Sep-2009 Anders Carlsson <andersca@mac.com> Add a simple const mangling test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
0e650017acdbbeb0c590e77bbea88c200ea1caef 17-May-2009 Anders Carlsson <andersca@mac.com> Add support for converting member pointer types to LLVM types. Also mangle pointer to member functions correctly and add tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
2928c2107f2e0007f35fe1c224aab63535f1403d 16-May-2009 Anders Carlsson <andersca@mac.com> extern "C" should preserve the 'extern' qualifier for VarDecls. Fixes 6853728.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
7a0ba875a7dcee94ec74fa79b7f8a247d200a76c 15-May-2009 Anders Carlsson <andersca@mac.com> Name mangling for class template specializations and template arguments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
4d150c84514dbf15975960a3ea46bdf6b7f16a5b 30-Apr-2009 Chris Lattner <sabre@nondot.org> only support int128_t on 64-bit and larger targets. 32-bit targets don't
have support for __divti3 and friends.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
2df9ced9fd1e8c7d7b38443db07e0e811de22571 30-Apr-2009 Chris Lattner <sabre@nondot.org> initial support for __[u]int128_t, which should be basically
compatible with VC++ and GCC. The codegen/mangling angle hasn't
been fully ironed out yet. Note that we accept int128_t even in
32-bit mode, unlike gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
283a062a633d6e868aa2be319da812341fe73728 13-Apr-2009 Anders Carlsson <andersca@mac.com> Use the new guard variable mangling function and get rid of the old code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
1b42c794481f6f958267e4ba913d74fef43161f6 02-Apr-2009 Anders Carlsson <andersca@mac.com> Implement mangling of declarations inside functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
329749c1ec1ead3c41af52260f1203e4991b4e83 02-Apr-2009 Anders Carlsson <andersca@mac.com> Mangle VarDecls correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
91e20dd8bf1bc8980ee93839383d2bd170bce050 02-Apr-2009 Anders Carlsson <andersca@mac.com> Emit code for linkage specifications.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
984e06874685396ca2cb51f0008cfff7c9b3d9c6 01-Apr-2009 Anders Carlsson <andersca@mac.com> Implement code generation of namespaces and add mangling tests.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
c6c91bc019ff7fa09f6570025ba011aad4c0d004 01-Apr-2009 Anders Carlsson <andersca@mac.com> Fix a mangling bug where functions with no arguments weren't getting the 'v' parameter specifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
d7d5f0223bd30dfd618762349c6209dd1d5ea3e6 24-Mar-2009 Daniel Dunbar <daniel@zuster.org> Rename clang to clang-cc.

Tests and drivers updated, still need to shuffle dirs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
4843e584b54460973b8445d38907bab0401ebb0c 10-Mar-2009 Anders Carlsson <andersca@mac.com> Address Doug's comments wrt the mangler and fix Eli's test case

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
b1d947b1011cb559be5745153f292b2dfb46b8e6 08-Mar-2009 Anders Carlsson <andersca@mac.com> Make mangling work with anonymous tag types. Doug, please review

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp
5f2bfd4811996abb783aa6c7254c56baa6930e8c 13-Feb-2009 Douglas Gregor <dgregor@apple.com> Add basic support for C++ name mangling according to the Itanium C++
ABI to the CodeGen library. Since C++ code-generation is so
incomplete, we can't exercise much of this mangling code. However, a
few smoke tests show that it's doing the same thing as GCC. When C++
codegen matures, we'll extend the ABI tester to verify name-mangling
as well, and complete the implementation here.

At this point, the major client of name mangling is in the uses of the
new "overloadable" attribute in C, which allows overloading. Any
"overloadable" function in C (or in an extern "C" block in C++) will
be mangled the same way that the corresponding C++ function would be
mangled.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle.cpp