diff options
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInstance.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp index 0ec7964..b982ca7 100644 --- a/clang/lib/Frontend/CompilerInstance.cpp +++ b/clang/lib/Frontend/CompilerInstance.cpp @@ -123,12 +123,12 @@ bool CompilerInstance::createTarget() { } if (!getTarget().hasStrictFP() && !getLangOpts().ExpStrictFP) { - if (getLangOpts().getFPRoundingMode() != - llvm::RoundingMode::NearestTiesToEven) { + if (getLangOpts().RoundingMath) { getDiagnostics().Report(diag::warn_fe_backend_unsupported_fp_rounding); - getLangOpts().setFPRoundingMode(llvm::RoundingMode::NearestTiesToEven); + getLangOpts().RoundingMath = false; } - if (getLangOpts().getFPExceptionMode() != LangOptions::FPE_Ignore) { + auto FPExc = getLangOpts().getFPExceptionMode(); + if (FPExc != LangOptions::FPE_Default && FPExc != LangOptions::FPE_Ignore) { getDiagnostics().Report(diag::warn_fe_backend_unsupported_fp_exceptions); getLangOpts().setFPExceptionMode(LangOptions::FPE_Ignore); } |