Revert "[-cxx-abi microsoft] Mangle reference temporaries"

This reverts commit r197184.

Richard Smith brings up some good points, a proper implementation will
require us to mangle unnameable entities compatibly with MSVC.

llvm-svn: 197192
This commit is contained in:
David Majnemer 2013-12-13 00:39:38 +00:00
parent 25eec2cc75
commit 210e6bfa19
2 changed files with 4 additions and 10 deletions

View File

@ -2040,9 +2040,10 @@ void MicrosoftMangleContextImpl::mangleCXXDtor(const CXXDestructorDecl *D,
}
void MicrosoftMangleContextImpl::mangleReferenceTemporary(const VarDecl *VD,
raw_ostream &Out) {
MicrosoftCXXNameMangler mangler(*this, Out);
mangler.mangle(VD);
raw_ostream &) {
unsigned DiagID = getDiags().getCustomDiagID(DiagnosticsEngine::Error,
"cannot mangle this reference temporary yet");
getDiags().Report(VD->getLocation(), DiagID);
}
void MicrosoftMangleContextImpl::mangleStaticGuardVariable(const VarDecl *VD,

View File

@ -445,10 +445,3 @@ decltype(a) fun(decltype(a) x, decltype(a)) { return x; }
// CHECK-DAG: ?fun@PR18022@@YA?AU<unnamed-type-a>@1@U21@0@Z
}
// Binding to a bit-field that requires a temporary.
struct { int bitfield : 3; } object_with_bitfield = { 3 };
const int &reference_to_bitfield = object_with_bitfield.bitfield;
// CHECK-DAG: ?object_with_bitfield@@3U<unnamed-type-object_with_bitfield>@@A
// CHECK-DAG: ?reference_to_bitfield@@3ABHB
// CHECK-DAG: ??__Ereference_to_bitfield@@YAXXZ