diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2020-08-24 14:02:26 +0700 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2020-09-04 16:47:10 +0700 |
commit | a633da5391b0e42c0185132e8b532ae9bc34489f (patch) | |
tree | 8e0e36267d0ed508b0426f8ca6202d45f5b119f7 /clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp | |
parent | f9ad112770ece2e3612ddcdd6a4157bc0b0faf31 (diff) | |
download | llvm-a633da5391b0e42c0185132e8b532ae9bc34489f.zip llvm-a633da5391b0e42c0185132e8b532ae9bc34489f.tar.gz llvm-a633da5391b0e42c0185132e8b532ae9bc34489f.tar.bz2 |
[FPEnv] Partially implement #pragma STDC FENV_ROUND
This change implements pragma STDC FENV_ROUND, which is introduced by
the extension to standard (TS 18661-1). The pragma is implemented only
in frontend, it sets apprpriate state of FPOptions stored in Sema. Use
of these bits in constant evaluation adn/or code generator is not in the
scope of this change.
Parser issues warning on unsuppored pragma when it encounteres pragma
STDC FENV_ROUND, however it makes syntax checks and updates Sema state
as if the pragma were supported.
Primary purpose of the partial implementation is to facilitate
development of non-default floating poin environment. Previously a
developer cannot set non-default rounding mode in sources, this mades
preparing tests for say constant evaluation substantially complicated.
Differential Revision: https://reviews.llvm.org/D86921
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp')
0 files changed, 0 insertions, 0 deletions