summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ItaniumMangle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/AST/ItaniumMangle.cpp')
-rw-r--r--clang/lib/AST/ItaniumMangle.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp
index 99556a6e70d..5f4644b0f7c 100644
--- a/clang/lib/AST/ItaniumMangle.cpp
+++ b/clang/lib/AST/ItaniumMangle.cpp
@@ -2608,30 +2608,19 @@ void CXXNameMangler::mangleType(const BuiltinType *T) {
Out << 'd';
break;
case BuiltinType::LongDouble: {
- bool UseFloat128Mangling =
- getASTContext().getTargetInfo().useFloat128ManglingForLongDouble();
- if (getASTContext().getLangOpts().OpenMP &&
- getASTContext().getLangOpts().OpenMPIsDevice) {
- UseFloat128Mangling = getASTContext()
- .getAuxTargetInfo()
- ->useFloat128ManglingForLongDouble();
- }
- Out << (UseFloat128Mangling ? 'g' : 'e');
+ const TargetInfo *TI = getASTContext().getLangOpts().OpenMP &&
+ getASTContext().getLangOpts().OpenMPIsDevice
+ ? getASTContext().getAuxTargetInfo()
+ : &getASTContext().getTargetInfo();
+ Out << TI->getLongDoubleMangling();
break;
}
case BuiltinType::Float128: {
- bool UseFloat128Mangling =
- getASTContext().getTargetInfo().useFloat128ManglingForLongDouble();
- if (getASTContext().getLangOpts().OpenMP &&
- getASTContext().getLangOpts().OpenMPIsDevice) {
- UseFloat128Mangling = getASTContext()
- .getAuxTargetInfo()
- ->useFloat128ManglingForLongDouble();
- }
- if (UseFloat128Mangling)
- Out << "U10__float128"; // Match the GCC mangling
- else
- Out << 'g';
+ const TargetInfo *TI = getASTContext().getLangOpts().OpenMP &&
+ getASTContext().getLangOpts().OpenMPIsDevice
+ ? getASTContext().getAuxTargetInfo()
+ : &getASTContext().getTargetInfo();
+ Out << TI->getFloat128Mangling();
break;
}
case BuiltinType::NullPtr:
OpenPOWER on IntegriCloud