llvm-project/clang
Ties Stuij e32b818db1 [ARM][clang] Define feature test macro for the PACBTI-M extension
If the extension string "+pacbti" was given in -march=... or -mcpu=... options the compiler shall define the following preprocessor macros:

    __ARM_FEATURE_PAUTH with value 1.
    __ARM_FEATURE_BTI with value 1.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Momchil Velikov
- Ties Stuij

Reviewed By: miyuki

Differential Revision: https://reviews.llvm.org/D112431
2021-12-09 10:39:06 +00:00
..
INPUTS
bindings Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
cmake [Fuchsia][CMake] Don't set libcxxabi and libunwind variables on Windows 2021-11-11 19:29:39 -08:00
docs [Coroutines] Remove unused coroutine builtin/intrinsics llvm.coro.param (NFC-ish) 2021-12-09 14:40:25 +08:00
examples [clang][driver] Add -fplugin-arg- to pass arguments to plugins 2021-11-25 10:47:55 +01:00
include [clang][deps] Use MemoryBuffer in minimizing FS 2021-12-09 11:32:13 +01:00
lib [ARM][clang] Define feature test macro for the PACBTI-M extension 2021-12-09 10:39:06 +00:00
runtime
test [ARM][clang] Define feature test macro for the PACBTI-M extension 2021-12-09 10:39:06 +00:00
tools Introduce _BitInt, deprecate _ExtInt 2021-12-06 12:52:01 -05:00
unittests [clang-format] PR48916 PointerAlignment not working when using C++20 init-statement in for loop 2021-12-09 10:37:02 +00:00
utils [ARM] Use v2i1 for MVE and CDE intrinsics 2021-12-03 15:27:58 +00:00
www Update the status of N2412 in C (we do not implement large parts of it) 2021-12-06 13:14:13 -05:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [clang] Remove CLANG_ROUND_TRIP_CC1_ARGS and always roundtrip in +assert builds 2021-11-18 08:31:21 -05:00
CODE_OWNERS.TXT
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 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/