diff --git a/clang/lib/Basic/Targets/AVR.cpp b/clang/lib/Basic/Targets/AVR.cpp index d865676700b52..bb215b4114ac2 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 83b0accbb93f1..29f8fa6325ecf 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 7de65bf09ba3d..3f3d8714591ef 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 0b11f5dbdd596..3f938522e7eb0 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