From: Ayke van Laethem Date: Tue, 14 Apr 2020 15:30:24 +0000 (+0200) Subject: [AVR] Define __ELF__ X-Git-Tag: llvmorg-12-init~9041 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe06e231ff1536e7d0a99551590f6de5a38ce23a;p=platform%2Fupstream%2Fllvm.git [AVR] Define __ELF__ This symbol is defined in avr-gcc. Because AVR normally uses the ELF format, define the symbol unconditionally. This patch is needed to get Clang to compile compiler-rt. Differential Revision: https://reviews.llvm.org/D78117 --- diff --git a/clang/lib/Basic/Targets/AVR.cpp b/clang/lib/Basic/Targets/AVR.cpp index d865676..bb215b4 100644 --- a/clang/lib/Basic/Targets/AVR.cpp +++ b/clang/lib/Basic/Targets/AVR.cpp @@ -300,6 +300,7 @@ void AVRTargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro("AVR"); Builder.defineMacro("__AVR"); Builder.defineMacro("__AVR__"); + Builder.defineMacro("__ELF__"); if (!this->CPU.empty()) { auto It = llvm::find_if( diff --git a/clang/test/CodeGen/avr/target-cpu-defines/atmega328p.c b/clang/test/CodeGen/avr/target-cpu-defines/atmega328p.c index 83b0acc..29f8fa6 100644 --- a/clang/test/CodeGen/avr/target-cpu-defines/atmega328p.c +++ b/clang/test/CodeGen/avr/target-cpu-defines/atmega328p.c @@ -5,3 +5,4 @@ // CHECK: #define __AVR 1 // CHECK: #define __AVR_ATmega328P__ 1 // CHECK: #define __AVR__ 1 +// CHECK: #define __ELF__ 1 diff --git a/clang/test/CodeGen/avr/target-cpu-defines/attiny104.c b/clang/test/CodeGen/avr/target-cpu-defines/attiny104.c index 7de65bf..3f3d871 100644 --- a/clang/test/CodeGen/avr/target-cpu-defines/attiny104.c +++ b/clang/test/CodeGen/avr/target-cpu-defines/attiny104.c @@ -5,3 +5,4 @@ // CHECK: #define __AVR 1 // CHECK: #define __AVR_ATtiny104__ 1 // CHECK: #define __AVR__ 1 +// CHECK: #define __ELF__ 1 diff --git a/clang/test/CodeGen/avr/target-cpu-defines/common.c b/clang/test/CodeGen/avr/target-cpu-defines/common.c index 0b11f5d..3f93852 100644 --- a/clang/test/CodeGen/avr/target-cpu-defines/common.c +++ b/clang/test/CodeGen/avr/target-cpu-defines/common.c @@ -4,3 +4,4 @@ // CHECK: #define AVR 1 // CHECK: #define __AVR 1 // CHECK: #define __AVR__ 1 +// CHECK: #define __ELF__ 1