]> granicus.if.org Git - clang/commit
Itanium ABI: Mangle <mangled-name> according to the ABI
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 18 Feb 2015 07:47:09 +0000 (07:47 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 18 Feb 2015 07:47:09 +0000 (07:47 +0000)
commit906d41ab2ef81ff361197b69100faa77540d15ce
tree0cd54e6c4997181168e112116881711588d19ab6
parentb279682bcd79c70baecb312e0db0f0e019eee2bf
Itanium ABI: Mangle <mangled-name> according to the ABI

We attempted to be compatible with GCC's buggy mangling for templates
with a declaration for a template argument.

However, we weren't completely successful in copying their bug in cases
like:
  char foo;
  template <char &C> decltype(C) f() { return foo; };
  template char &f<foo>();

Instead, just follow the ABI specification.  This fixes PR22621.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229644 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ItaniumMangle.cpp
test/CodeGenCXX/mangle-template.cpp
test/CodeGenCXX/mangle.cpp
test/CodeGenCXX/visibility.cpp