This reverts commit r197184.
Richard Smith brings up some good points, a proper implementation will
require us to mangle unnameable entities compatibly with MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197192
91177308-0d34-0410-b5e6-
96231b3b80d8
}
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,
// 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