Author: Prabhuk Date: 2024-12-23T14:15:16-08:00 New Revision: ac586fd204e92b76b1ee255342ba26a45a29a1d9
URL: https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9 DIFF: https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9.diff LOG: [clang] Introduce a new UEFI target predefine. (#111719) Add a `__UEFI__` predefine for UEFI target. Co-authored-by: RossComputerGuy Added: clang/test/Driver/uefi-defines.c Modified: clang/lib/Basic/Targets/OSTargets.h clang/test/Preprocessor/init.c Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h index cd9b3760ca5874..53dd23c3129636 100644 --- a/clang/lib/Basic/Targets/OSTargets.h +++ b/clang/lib/Basic/Targets/OSTargets.h @@ -790,7 +790,9 @@ template <typename Target> class LLVM_LIBRARY_VISIBILITY UEFITargetInfo : public OSTargetInfo<Target> { protected: void getOSDefines(const LangOptions &Opts, const llvm::Triple &Triple, - MacroBuilder &Builder) const override {} + MacroBuilder &Builder) const override { + Builder.defineMacro("__UEFI__"); + } public: UEFITargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) diff --git a/clang/test/Driver/uefi-defines.c b/clang/test/Driver/uefi-defines.c new file mode 100644 index 00000000000000..45f27bfdb9fa98 --- /dev/null +++ b/clang/test/Driver/uefi-defines.c @@ -0,0 +1,6 @@ +// RUN: %clang -target x86_64-unknown-uefi %s -emit-llvm -S -c -o - | FileCheck %s + +// CHECK: __UEFI__defined +#ifdef __UEFI__ +void __UEFI__defined() {} +#endif diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c index 05225c120b13de..3b99204acd7a44 100644 --- a/clang/test/Preprocessor/init.c +++ b/clang/test/Preprocessor/init.c @@ -2742,3 +2742,7 @@ // RISCV64-LINUX: #define __unix__ 1 // RISCV64-LINUX: #define linux 1 // RISCV64-LINUX: #define unix 1 + +// RUN: %clang_cc1 -dM -triple=x86_64-uefi -E /dev/null | FileCheck -match-full-lines -check-prefix UEFI %s + +// UEFI: #define __UEFI__ 1 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits