diff options
Diffstat (limited to 'clang/lib/Basic/Targets/RISCV.cpp')
-rw-r--r-- | clang/lib/Basic/Targets/RISCV.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp index ab8272c034fd..522776437cd2 100644 --- a/clang/lib/Basic/Targets/RISCV.cpp +++ b/clang/lib/Basic/Targets/RISCV.cpp @@ -125,6 +125,9 @@ void RISCVTargetInfo::getTargetDefines(const LangOptions &Opts, if (HasC) Builder.defineMacro("__riscv_compressed"); + + if (HasB) + Builder.defineMacro("__riscv_bitmanip"); } /// Return true if has this feature, need to sync with handleTargetFeatures. @@ -139,6 +142,7 @@ bool RISCVTargetInfo::hasFeature(StringRef Feature) const { .Case("f", HasF) .Case("d", HasD) .Case("c", HasC) + .Case("experimental-b", HasB) .Default(false); } @@ -156,6 +160,8 @@ bool RISCVTargetInfo::handleTargetFeatures(std::vector<std::string> &Features, HasD = true; else if (Feature == "+c") HasC = true; + else if (Feature == "+experimental-b") + HasB = true; } return true; |