[clang] 16f9451 - [clang] Redefine some AVR specific macros
Ben Shi via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 13 01:22:46 PST 2023
Author: Ben Shi
Date: 2023-01-13T17:22:15+08:00
New Revision: 16f9451b07619cd84e0b88ff17ca2b27a2c1f9cc
URL: https://github.com/llvm/llvm-project/commit/16f9451b07619cd84e0b88ff17ca2b27a2c1f9cc
DIFF: https://github.com/llvm/llvm-project/commit/16f9451b07619cd84e0b88ff17ca2b27a2c1f9cc.diff
LOG: [clang] Redefine some AVR specific macros
Fixes https://github.com/llvm/llvm-project/issues/58855
Reviewed By: aykevl, Miss_Grape
Differential Revision: https://reviews.llvm.org/D141598
Added:
Modified:
clang/lib/Basic/Targets/AVR.cpp
clang/test/Preprocessor/predefined-arch-macros.c
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/AVR.cpp b/clang/lib/Basic/Targets/AVR.cpp
index f2e5d970f3210..3d662cc3ba74f 100644
--- a/clang/lib/Basic/Targets/AVR.cpp
+++ b/clang/lib/Basic/Targets/AVR.cpp
@@ -468,15 +468,15 @@ void AVRTargetInfo::getTargetDefines(const LangOptions &Opts,
}
if (NumFlashBanks >= 1)
- Builder.defineMacro("__flash", "__attribute__((address_space(1)))");
+ Builder.defineMacro("__flash", "__attribute__((__address_space__(1)))");
if (NumFlashBanks >= 2)
- Builder.defineMacro("__flash1", "__attribute__((address_space(2)))");
+ Builder.defineMacro("__flash1", "__attribute__((__address_space__(2)))");
if (NumFlashBanks >= 3)
- Builder.defineMacro("__flash2", "__attribute__((address_space(3)))");
+ Builder.defineMacro("__flash2", "__attribute__((__address_space__(3)))");
if (NumFlashBanks >= 4)
- Builder.defineMacro("__flash3", "__attribute__((address_space(4)))");
+ Builder.defineMacro("__flash3", "__attribute__((__address_space__(4)))");
if (NumFlashBanks >= 5)
- Builder.defineMacro("__flash4", "__attribute__((address_space(5)))");
+ Builder.defineMacro("__flash4", "__attribute__((__address_space__(5)))");
if (NumFlashBanks >= 6)
- Builder.defineMacro("__flash5", "__attribute__((address_space(6)))");
+ Builder.defineMacro("__flash5", "__attribute__((__address_space__(6)))");
}
diff --git a/clang/test/Preprocessor/predefined-arch-macros.c b/clang/test/Preprocessor/predefined-arch-macros.c
index 68fa6e2c6feab..a78bac132db15 100644
--- a/clang/test/Preprocessor/predefined-arch-macros.c
+++ b/clang/test/Preprocessor/predefined-arch-macros.c
@@ -4319,6 +4319,22 @@
// CHECK_R600_FP64-DAG: #define __R600__ 1
// CHECK_R600_FP64-DAG: #define __HAS_FMAF__ 1
+// Begin avr tests ----------------
+
+// RUN: %clang --target=avr -mmcu=atmega328 -E -dM %s -o - 2>&1 \
+// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK-AVR0
+// CHECK-AVR0: #define __AVR_ARCH__ 5
+// CHECK-AVR0: #define __AVR_ATmega328__ 1
+// CHECK-AVR0: #define __flash __attribute__((__address_space__(1)))
+// RUN: %clang --target=avr -mmcu=atmega2560 -E -dM %s -o - 2>&1 \
+// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK-AVR1
+// CHECK-AVR1: #define __AVR_ARCH__ 6
+// CHECK-AVR1: #define __AVR_ATmega2560__ 1
+// CHECK-AVR1: #define __flash __attribute__((__address_space__(1)))
+// CHECK-AVR1: #define __flash1 __attribute__((__address_space__(2)))
+// CHECK-AVR1: #define __flash2 __attribute__((__address_space__(3)))
+// CHECK-AVR1: #define __flash3 __attribute__((__address_space__(4)))
+
// Begin M68k tests ----------------
// RUN: %clang -mcpu=68000 -E -dM %s -o - 2>&1 \
More information about the cfe-commits
mailing list