]> granicus.if.org Git - clang/commit
Introduce a new mangling for protocol-qualified ObjC types in C++. This allows
authorEli Friedman <eli.friedman@gmail.com>
Tue, 18 Jun 2013 22:41:37 +0000 (22:41 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 18 Jun 2013 22:41:37 +0000 (22:41 +0000)
commit0601700e8d8e8d0f42bea1c0137c04e8c8ae5ac3
treee71d10923c49a5e48254aaaf056a200e824ee635
parent7e5e2d0c53b1b7253621d955089c0d14fe2a8078
Introduce a new mangling for protocol-qualified ObjC types in C++.  This allows
to provide proper overloading, and also prevents mangling conflicts with
template arguments of protocol-qualified type.

This is a non-backward-compatible mangling change, but per discussion with
John, the benefits outweigh this cost.

Fixes <rdar://problem/14074822>.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184250 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ItaniumMangle.cpp
lib/Sema/SemaOverload.cpp
test/CodeGenObjCXX/catch-id-type.mm
test/CodeGenObjCXX/mangle.mm
test/CodeGenObjCXX/rtti.mm
test/SemaObjCXX/overload-1.mm [deleted file]
test/SemaObjCXX/overload.mm