зеркало из https://github.com/microsoft/clang-1.git
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
This commit is contained in:
Родитель
6e461bf753
Коммит
b217c1b9d2
|
@ -1303,7 +1303,7 @@ namespace clang {
|
|||
"Mangling declaration");
|
||||
|
||||
CXXNameMangler Mangler(Context, os);
|
||||
if (!Mangler.mangle(D))
|
||||
if (!Mangler.mangle(cast<NamedDecl>(D->getCanonicalDecl())))
|
||||
return false;
|
||||
|
||||
os.flush();
|
||||
|
|
|
@ -198,3 +198,12 @@ template<typename T> typename __enable_if<__is_scalar<T>::__value, void>::__type
|
|||
template void ft7<int>();
|
||||
// CHECK: @_Z3ft7IPvEN11__enable_ifIXsr11__is_scalarIT_E7__valueEvE6__typeEv
|
||||
template void ft7<void*>();
|
||||
|
||||
// PR5144
|
||||
extern "C" {
|
||||
void extern_f(void);
|
||||
};
|
||||
|
||||
// CHECK: @extern_f
|
||||
void extern_f(void) { }
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче