summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets/ARM.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2019-02-18 12:39:47 +0000
committerOliver Stannard <oliver.stannard@arm.com>2019-02-18 12:39:47 +0000
commite3c8ce8b7547bea03fe4c9271c46c09e11fd4443 (patch)
tree8cf3f61f4253026833f1e7778c06e3d6c86244dd /clang/lib/Basic/Targets/ARM.cpp
parent6e0b562bf6e0e94e3ea6a755a9917b2725fd604d (diff)
downloadbcm5719-llvm-e3c8ce8b7547bea03fe4c9271c46c09e11fd4443.tar.gz
bcm5719-llvm-e3c8ce8b7547bea03fe4c9271c46c09e11fd4443.zip
[ARM] Add pre-defined macros for ROPI and RWPI
This adds ACLE-defined macros to test for code being compiled in the ROPI and RWPI position-independence modes. Differential revision: https://reviews.llvm.org/D23610 llvm-svn: 354265
Diffstat (limited to 'clang/lib/Basic/Targets/ARM.cpp')
-rw-r--r--clang/lib/Basic/Targets/ARM.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/ARM.cpp b/clang/lib/Basic/Targets/ARM.cpp
index f0ebfdd5f71..61a520bd5e0 100644
--- a/clang/lib/Basic/Targets/ARM.cpp
+++ b/clang/lib/Basic/Targets/ARM.cpp
@@ -652,6 +652,12 @@ void ARMTargetInfo::getTargetDefines(const LangOptions &Opts,
if (SoftFloat)
Builder.defineMacro("__SOFTFP__");
+ // ACLE position independent code macros.
+ if (Opts.ROPI)
+ Builder.defineMacro("__ARM_ROPI", "1");
+ if (Opts.RWPI)
+ Builder.defineMacro("__ARM_RWPI", "1");
+
if (ArchKind == llvm::ARM::ArchKind::XSCALE)
Builder.defineMacro("__XSCALE__");
OpenPOWER on IntegriCloud