llvm-project/clang
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
..
INPUTS
bindings Revert "Temporarily revert "build: use `find_package(Python3)` if available"" 2020-04-29 01:38:08 +00:00
cmake [CMake][Fuchsia] Move runtimes to outer scope 2020-07-09 21:07:44 -07:00
docs Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
examples [CMake] Fix building with -DBUILD_SHARED_LIBS=ON on mingw 2020-05-11 23:51:14 +03:00
include Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
lib Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
runtime
test Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." 2020-07-10 08:49:45 -04:00
tools [libclang] Fix crash when visiting a captured VLA 2020-07-08 13:10:16 -07:00
unittests [analyzer] Add CTUImportCppThreshold for C++ files 2020-07-09 15:36:33 +02:00
utils [analyzer][tests] Fix zip unpacking 2020-07-10 11:32:13 +03:00
www DR458: Search template parameter scopes in the right order. 2020-06-23 17:14:33 -07:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Fix missing build dependency on omp_gen. 2020-07-02 09:16:15 +01:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt Revert "[nfc] test commit" 2020-05-16 15:12:04 -05:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/