llvm-project/clang
David Green 123064dc39 [Clang][Arm] Convert -fallow-half-arguments-and-returns to a target option. NFC
This cc1 option -fallow-half-arguments-and-returns allows __fp16 to be
passed by argument and returned, without giving an error. It is
currently always enabled for Arm and AArch64, by forcing the option in
the driver. This means any cc1 tests (especially those needing
arm_neon.h) need to specify the option too, to prevent the error from
being emitted.

This changes it to a target option instead, set to true for Arm and
AArch64. This allows the option to be removed. Previously it was implied
by -fnative_half_arguments_and_returns, which is set for certain
languages like open_cl, renderscript and hlsl, so that option now too
controls the errors. There were are few other non-arm uses of
-fallow-half-arguments-and-returns but I believe they were unnecessary.
The strictfp_builtins.c tests were converted from __fp16 to _Float16 to
avoid the issues.

Differential Revision: https://reviews.llvm.org/D133885
2022-09-29 11:00:32 +01:00
..
bindings Add clang_CXXMethod_isDeleted function 2022-09-21 11:12:48 -04:00
cmake [CMake] Add `CLANG_ENABLE_HLSL` CMake option 2022-09-27 12:33:22 -05:00
docs [Driver] Add --config= as canonical spelling of --config 2022-09-29 00:38:12 -07:00
examples
include [Clang][Arm] Convert -fallow-half-arguments-and-returns to a target option. NFC 2022-09-29 11:00:32 +01:00
lib [Clang][Arm] Convert -fallow-half-arguments-and-returns to a target option. NFC 2022-09-29 11:00:32 +01:00
runtime Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too" 2022-08-18 22:46:32 -04:00
test [Clang][Arm] Convert -fallow-half-arguments-and-returns to a target option. NFC 2022-09-29 11:00:32 +01:00
tools [C2x] implement typeof and typeof_unqual 2022-09-28 13:27:52 -04:00
unittests [clang-format] Fix a bug with C++ `export import <Foo/Bar>` 2022-09-28 19:10:12 -07:00
utils [CMake] Add clang-bolt target 2022-09-23 10:10:31 +02:00
www [C2x] implement typeof and typeof_unqual 2022-09-28 13:27:52 -04:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Add `CLANG_ENABLE_HLSL` CMake option 2022-09-27 12:33:22 -05:00
CodeOwners.rst Update the clang and clang-tools-extra code owners files 2022-09-06 08:28:03 -04:00
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt

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 forums:
  https://discourse.llvm.org/c/clang/

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