diff --git a/clang/lib/Basic/Targets/BPF.h b/clang/lib/Basic/Targets/BPF.h --- a/clang/lib/Basic/Targets/BPF.h +++ b/clang/lib/Basic/Targets/BPF.h @@ -24,6 +24,11 @@ class LLVM_LIBRARY_VISIBILITY BPFTargetInfo : public TargetInfo { static const Builtin::Info BuiltinInfo[]; + enum Address { + Generic = 0, + OsUser = 1, + }; + public: BPFTargetInfo(const llvm::Triple &Triple, const TargetOptions &) : TargetInfo(Triple) { @@ -58,6 +63,14 @@ ArrayRef getTargetBuiltins() const override; + Optional + getDWARFAddressSpace(unsigned AddressSpace) const override { + const unsigned DWARF_OsUser = 1; + if (AddressSpace == OsUser) + return DWARF_OsUser; + return None; + } + const char *getClobbers() const override { return ""; } BuiltinVaListKind getBuiltinVaListKind() const override { diff --git a/clang/lib/Basic/Targets/X86.h b/clang/lib/Basic/Targets/X86.h --- a/clang/lib/Basic/Targets/X86.h +++ b/clang/lib/Basic/Targets/X86.h @@ -45,6 +45,10 @@ AMD3DNowAthlon } MMX3DNowLevel = NoMMX3DNow; enum XOPEnum { NoXOP, SSE4A, FMA4, XOP } XOPLevel = NoXOP; + enum Address { + Generic = 0, + OsUser = 1, + }; bool HasAES = false; bool HasVAES = false; @@ -257,6 +261,14 @@ setFeatureEnabledImpl(Features, Name, Enabled); } + Optional + getDWARFAddressSpace(unsigned AddressSpace) const override { + const unsigned DWARF_OsUser = 1; + if (AddressSpace == OsUser) + return DWARF_OsUser; + return None; + } + // This exists purely to cut down on the number of virtual calls in // initFeatureMap which calls this repeatedly. static void setFeatureEnabledImpl(llvm::StringMap &Features,