llvm-project/clang/lib/Basic
Kevin P. Neal d4ce862f2a Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."
We currently have strict floating point/constrained floating point enabled
for all targets. Constrained SDAG nodes get converted to the regular ones
before reaching the target layer. In theory this should be fine.

However, the changes are exposed to users through multiple clang options
already in use in the field, and the changes are _completely_ _untested_
on almost all of our targets. Bugs have already been found, like
"https://bugs.llvm.org/show_bug.cgi?id=45274".

This patch disables constrained floating point options in clang everywhere
except X86 and SystemZ. A warning will be printed when this happens.

Use the new -fexperimental-strict-floating-point flag to force allowing
strict floating point on hosts that aren't already marked as supporting
it (X86 and SystemZ).

Differential Revision: https://reviews.llvm.org/D80952
2020-07-10 08:49:45 -04:00
..
Targets Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
Attributes.cpp Build fix: AttributeCommonInfo::AS_C2x 2020-03-25 15:42:21 +01:00
Builtins.cpp isBuiltinFunc() uses StringRef instead of const char* 2019-10-29 17:36:55 +01:00
CMakeLists.txt [VE] Clang toolchain for VE 2020-06-24 10:12:09 +02:00
CharInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeGenOptions.cpp [gcov] Default coverage version to '408*' and delete CC1 option -coverage-exit-block-before-body 2020-05-12 09:14:03 -07:00
Cuda.cpp [CUDA] Fix missed CUDA version mappings. 2020-04-13 15:54:12 -07:00
Diagnostic.cpp Remove llvm::Error include form Diagnostic.h 2020-04-06 10:42:17 -07:00
DiagnosticIDs.cpp [NFC][clang] Add missing VALIDATE_DIAG_SIZE() 2020-07-02 14:14:57 +02:00
DiagnosticOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ExpressionTraits.cpp [clang][NFC] Generate the {Type,ArrayType,UnaryExprOrType,Expression}Traits... 2020-06-11 14:35:52 +01:00
FileManager.cpp [Clang] Expose RequiresNullTerminator in FileManager. 2020-04-15 14:17:51 -07:00
FileSystemStatCache.cpp [FileSystemStatCache] Return std::error_code from stat cache methods 2019-04-16 17:34:26 +00:00
FixedPoint.cpp [AST] Fix handling of some edge cases in fixed-point division. 2020-06-30 13:47:12 +02:00
IdentifierTable.cpp Revert rGf0bab7875e78e01c149d12302dcc4b6d4c43e25c - "Triple.h - reduce Twine.h include to forward declarations. NFC." 2020-06-26 14:46:40 +01:00
LangOptions.cpp Reland D81869 "Modify FPFeatures to use delta not absolute settings" 2020-06-27 01:34:57 -07:00
LangStandards.cpp Move LangStandard*, InputKind::Language to Basic 2019-08-05 13:59:26 +00:00
Module.cpp When making modules transitively visible, don't take into account 2020-04-17 22:49:58 -07:00
ObjCRuntime.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OpenMPKinds.cpp [flang][openmp] Use common Directive and Clause enum from llvm/Frontend 2020-07-01 20:58:11 -04:00
OperatorPrecedence.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SanitizerBlacklist.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
SanitizerSpecialCaseList.cpp Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists exist 2019-11-21 11:56:09 +01:00
Sanitizers.cpp Tweak r355278 for compatibility with gcc 6 and earlier. 2019-03-02 21:55:36 +00:00
SourceLocation.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SourceManager.cpp Reland "[clang][SourceManager] cache Macro Expansions"" 2020-06-29 12:54:32 -07:00
Stack.cpp [msvc] Add necessary #include to make compiler intrinsics available. 2019-08-26 18:33:15 +00:00
TargetInfo.cpp Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
Targets.cpp [VE] Clang toolchain for VE 2020-06-24 10:12:09 +02:00
Targets.h De-templatize non-dependent VS macro logic, NFC 2019-07-09 20:57:28 +00:00
TokenKinds.cpp Use switch instead of series of comparisons 2019-08-03 16:32:49 +00:00
TypeTraits.cpp [clang][NFC] Generate the {Type,ArrayType,UnaryExprOrType,Expression}Traits... 2020-06-11 14:35:52 +01:00
Version.cpp clang: Don't show a trailing space with --version when not built from the repo 2020-07-08 14:02:02 +02:00
Warnings.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
XRayInstr.cpp [xray] Allow instrumenting only function entry and/or only function exit 2020-01-17 13:32:34 -08:00
XRayLists.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00