From f699fde7d979a731ad72892588328a00fe9840d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
Date: Wed, 23 Aug 2023 21:55:03 +0200
Subject: [PATCH] Generalize AVR -Werror=array-bounds workaround (#21798)

GCC 13 needs the same workaround as GCC 12.
To avoid having to maintain an ever-growing list of broken versions
apply the workaround wherever it can be used.

If at some point a fixed version of GCC is released the workaround can
be disabled for those fixed versions.

See #17064
---
 platforms/avr/platform.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk
index 39a11b28e4..09028d80af 100644
--- a/platforms/avr/platform.mk
+++ b/platforms/avr/platform.mk
@@ -12,8 +12,7 @@ HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature
 EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT)
 BIN =
 
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523
-ifneq ($(findstring 12.,$(shell avr-gcc --version 2>/dev/null)),)
+ifeq ("$(shell echo "int main(){}" | $(CC) --param=min-pagesize=0 -x c - -o /dev/null 2>&1)", "")
 COMPILEFLAGS += --param=min-pagesize=0
 endif