History log of /external/clang/test/CodeGenCXX/mangle-local-class-names.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/mangle-local-class-names.cpp
588a51a471b4cb23613e8183e05d2d193d2ab813 22-Oct-2013 David Majnemer <david.majnemer@gmail.com> Sema: Do not allow template declarations inside local classes

Summary:
Enforce the rule in C++11 [temp.mem]p2 that local classes cannot have
member templates.

This fixes PR16947.

N.B. C++14 has slightly different wording to afford generic lambdas
declared inside of functions.

Fun fact: Some formulations of local classes with member templates
would cause clang to crash during Itanium mangling, such as the
following:

void outer_mem() {
struct Inner {
template <typename = void>
struct InnerTemplateClass {
static void itc_mem() {}
};
};
Inner::InnerTemplateClass<>::itc_mem();
}

Reviewers: eli.friedman, rsmith, doug.gregor, faisalv

Reviewed By: doug.gregor

CC: cfe-commits, ygao

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-local-class-names.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-local-class-names.cpp
889221076f50fe7df37e2e61c967e941b8df383a 05-Jul-2013 Eli Friedman <eli.friedman@gmail.com> Fix regression from r185450.

As it turns out, the NoFunction bit for local class mangling needed to be
propagated into more places. r185450 turned what used to be an incorrect
mangling into an assertion.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-local-class-names.cpp
4819ac44c0e5222ebfe8e199c51f653f52177336 04-Mar-2010 Fariborz Jahanian <fjahanian@apple.com> Refactor local class name mangling and make it
ABI conforming.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-local-class-names.cpp
570585307ef1e33490883b26b807cd2a5f88e99d 03-Mar-2010 Fariborz Jahanian <fjahanian@apple.com> Implements mangling of local class names to
fix a code gen crash. This is WIP as not
all ABI cases are covered (there is a FIXME to
this effect). Fixes radar 7696748.


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