llvm-project/clang/include/clang/Lex
Zahira Ammarguellat bbf0d1932a Currently the control of the eval-method is mixed with fast-math.
FLT_EVAL_METHOD tells the user the precision at which, temporary results
are evaluated but when fast-math is enabled, the numeric values are not
guaranteed to match the source semantics, so the eval-method is
meaningless.
For example, the expression `x + y + z` has as source semantics `(x + y)
+ z`. FLT_EVAL_METHOD is telling the user at which precision `(x + y)`
is evaluated. With fast-math enable the compiler can choose to
evaluate the expression as `(y + z) + x`.
The correct behavior is to set the FLT_EVAL_METHOD to `-1` to tell the
user that the precision of the intermediate values is unknow. This
patch is doing that.

Differential Revision: https://reviews.llvm.org/D121122
2022-03-17 11:48:03 -07:00
..
CodeCompletionHandler.h
DependencyDirectivesSourceMinimizer.h [clang] Fix header guards (NFC) 2021-12-29 00:16:40 -08:00
DirectoryLookup.h
ExternalPreprocessorSource.h
HeaderMap.h [clang][lex] Remark on search path usage 2021-10-12 12:20:55 +02:00
HeaderMapTypes.h
HeaderSearch.h [clang][deps] Modules don't contribute to search path usage 2022-03-16 12:17:52 +01:00
HeaderSearchOptions.h [modules] Use `HashBuilder` and `MD5` for the module hash. 2021-09-03 11:13:36 -07:00
LexDiagnostic.h
Lexer.h [NFC][Lexer] Remove getLangOpts function from Lexer 2022-03-02 11:17:05 +01:00
LiteralSupport.h Implement literal suffixes for _BitInt 2022-03-14 09:24:19 -04:00
MacroArgs.h
MacroInfo.h [Preprocessor] Reduce the memory overhead of `#define` directives (Recommit) 2022-02-14 09:27:44 -08:00
ModuleLoader.h Modules: Remove ModuleLoader::OtherUncachedFailure, NFC 2021-05-13 10:10:46 -07:00
ModuleMap.h [clang] Improve laziness of resolving module map headers. 2022-03-01 15:56:23 +01:00
MultipleIncludeOpt.h
PPCallbacks.h [clang][lex] Remove `PPCallbacks::FileNotFound()` 2022-02-15 09:48:25 +01:00
PPConditionalDirectiveRecord.h Add support for #elifdef and #elifndef 2021-05-27 08:57:47 -04:00
Pragma.h
PreprocessingRecord.h Speculatively fix this harder and with improved spelling capabilities. 2021-05-27 09:54:09 -04:00
Preprocessor.h Currently the control of the eval-method is mixed with fast-math. 2022-03-17 11:48:03 -07:00
PreprocessorExcludedConditionalDirectiveSkipMapping.h [clang] Fix header guards (NFC) 2021-12-29 00:16:40 -08:00
PreprocessorLexer.h Revert "Revert "[clang][pp] adds '#pragma include_instead'"" 2021-07-29 19:21:43 +00:00
PreprocessorOptions.h Revert "[CLANG][PATCH][FPEnv] Add support for option -ffp-eval-method and extend #pragma float_control similarly" 2021-09-01 04:48:50 -07:00
ScratchBuffer.h
Token.h [NFC][clang] Simplify `isOneOf` function 2022-02-24 19:12:34 +08:00
TokenConcatenation.h
TokenLexer.h
VariadicMacroSupport.h Permit __VA_OPT__ in all language modes and allow it to be detected with #ifdef. 2021-01-27 12:34:43 -08:00