https://gcc.gnu.org/g:65b7d1862e11784a0ce67ab758e06dd8aa65b181

commit r14-9630-g65b7d1862e11784a0ce67ab758e06dd8aa65b181
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Fri Mar 22 17:29:21 2024 +0100

    AVR: Adjust message for SIGNAL and INTERRUPT usage
    
    gcc/
            * config/avr/avr.cc (avr_set_current_function): Adjust diagnostic
            for deprecated SIGNAL and INTERRUPT usage without respective header.

Diff:
---
 gcc/config/avr/avr.cc | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index 12c59668b4c..4a5a921107b 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -1495,14 +1495,20 @@ avr_set_current_function (tree decl)
   // Common problem is using "ISR" without first including avr/interrupt.h.
   const char *name = IDENTIFIER_POINTER (DECL_NAME (decl));
   name = default_strip_name_encoding (name);
-  if (strcmp ("ISR", name) == 0
-      || strcmp ("INTERRUPT", name) == 0
-      || strcmp ("SIGNAL", name) == 0)
+  if (strcmp ("ISR", name) == 0)
     {
       warning_at (loc, OPT_Wmisspelled_isr, "%qs is a reserved identifier"
                  " in AVR-LibC.  Consider %<#include <avr/interrupt.h>%>"
                  " before using the %qs macro", name, name);
     }
+  if (strcmp ("INTERRUPT", name) == 0
+      || strcmp ("SIGNAL", name) == 0)
+    {
+      warning_at (loc, OPT_Wmisspelled_isr, "%qs is a deprecated identifier"
+                 " in AVR-LibC.  Consider %<#include <avr/interrupt.h>%>"
+                 " or %<#include <compat/deprecated.h>%>"
+                 " before using the %qs macro", name, name);
+    }
 #endif // AVR-LibC naming conventions
 
   /* Don't print the above diagnostics more than once.  */

Reply via email to