You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.9 KiB
78 lines
2.9 KiB
--- a/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
|
|
+++ b/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
|
|
@@ -3048,11 +3048,7 @@ void CXXNameMangler::mangleNeonVectorType(const VectorType *T) {
|
|
}
|
|
|
|
void CXXNameMangler::mangleNeonVectorType(const DependentVectorType *T) {
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID = Diags.getCustomDiagID(
|
|
- DiagnosticsEngine::Error,
|
|
- "cannot mangle this dependent neon vector type yet");
|
|
- Diags.Report(T->getAttributeLoc(), DiagID);
|
|
+ Out << "__unhandled_NeonVectorType";
|
|
}
|
|
|
|
static StringRef mangleAArch64VectorBase(const BuiltinType *EltType) {
|
|
@@ -3123,11 +3119,7 @@ void CXXNameMangler::mangleAArch64NeonVectorType(const VectorType *T) {
|
|
Out << TypeName.length() << TypeName;
|
|
}
|
|
void CXXNameMangler::mangleAArch64NeonVectorType(const DependentVectorType *T) {
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID = Diags.getCustomDiagID(
|
|
- DiagnosticsEngine::Error,
|
|
- "cannot mangle this dependent neon vector type yet");
|
|
- Diags.Report(T->getAttributeLoc(), DiagID);
|
|
+ Out << "__unhandled_AArch64NeonVectorType";
|
|
}
|
|
|
|
// GNU extension: vector types
|
|
@@ -3626,12 +3618,7 @@ recurse:
|
|
case Expr::BuiltinBitCastExprClass:
|
|
{
|
|
if (!NullOut) {
|
|
- // As bad as this diagnostic is, it's better than crashing.
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error,
|
|
- "cannot yet mangle expression type %0");
|
|
- Diags.Report(E->getExprLoc(), DiagID)
|
|
- << E->getStmtClassName() << E->getSourceRange();
|
|
+ Out << "__unhandled_expression";
|
|
}
|
|
break;
|
|
}
|
|
@@ -3652,12 +3639,7 @@ recurse:
|
|
|
|
// Even gcc-4.5 doesn't mangle this.
|
|
case Expr::BinaryConditionalOperatorClass: {
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID =
|
|
- Diags.getCustomDiagID(DiagnosticsEngine::Error,
|
|
- "?: operator with omitted middle operand cannot be mangled");
|
|
- Diags.Report(E->getExprLoc(), DiagID)
|
|
- << E->getStmtClassName() << E->getSourceRange();
|
|
+ Out << "__unhandled_BinaryConditionalOperatorClass";
|
|
break;
|
|
}
|
|
|
|
@@ -3952,18 +3934,11 @@ recurse:
|
|
Out << 'a';
|
|
break;
|
|
case UETT_VecStep: {
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error,
|
|
- "cannot yet mangle vec_step expression");
|
|
- Diags.Report(DiagID);
|
|
+ Out << "__unhandled_VecStep";
|
|
return;
|
|
}
|
|
case UETT_OpenMPRequiredSimdAlign: {
|
|
- DiagnosticsEngine &Diags = Context.getDiags();
|
|
- unsigned DiagID = Diags.getCustomDiagID(
|
|
- DiagnosticsEngine::Error,
|
|
- "cannot yet mangle __builtin_omp_required_simd_align expression");
|
|
- Diags.Report(DiagID);
|
|
+ Out << "__unhandled_UETT_OpenMPRequiredSimdAlign";
|
|
return;
|
|
}
|
|
}
|