diff options
author | Alex Lorenz <arphaman@gmail.com> | 2017-12-14 19:22:02 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2017-12-14 19:22:02 +0000 |
commit | d8ec43114389756f916ad12b73e49f39d3c29a49 (patch) | |
tree | bc5b99d1df33b059570482b27cf45367cb9cd0de /llvm/lib/Object/WasmObjectFile.cpp | |
parent | 689c6960ef0a1f1448c699f64361c9be3dfa42b7 (diff) | |
download | llvm-d8ec43114389756f916ad12b73e49f39d3c29a49.zip llvm-d8ec43114389756f916ad12b73e49f39d3c29a49.tar.gz llvm-d8ec43114389756f916ad12b73e49f39d3c29a49.tar.bz2 |
[Preprocessor] Implement __is_target_{arch|vendor|os|environment} function-like
builtin macros
This patch implements the __is_target_arch, __is_target_vendor, __is_target_os,
and __is_target_environment Clang preprocessor extensions that were proposed by
@compnerd in Bob's cfe-dev post:
http://lists.llvm.org/pipermail/cfe-dev/2017-November/056166.html.
These macros can be used to examine the components of the target triple at
compile time. A has_builtin(is_target_???) preprocessor check can be used to
check for their availability.
__is_target_arch allows you to check if an arch is specified without worring
about a specific subarch, e.g.
__is_target_arch(arm) returns 1 for the target arch "armv7"
__is_target_arch(armv7) returns 1 for the target arch "armv7"
__is_target_arch(armv6) returns 0 for the target arch "armv7"
__is_target_vendor and __is_target_environment match the specific vendor
or environment. __is_target_os matches the specific OS, but
__is_target_os(darwin) will match any Darwin-based OS. "Unknown" can be used
to test if the triple's component is specified.
rdar://35753116
Differential Revision: https://reviews.llvm.org/D41087
llvm-svn: 320734
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions