diff mbox series

[avr,applied] Adjust message for SIGNAL and INTERRUPT usage

Message ID 219331fb-e297-442b-b2b8-68c853a762bc@gjlay.de
State New
Headers show
Series [avr,applied] Adjust message for SIGNAL and INTERRUPT usage | expand

Commit Message

Georg-Johann Lay March 22, 2024, 4:34 p.m. UTC
Applied this patchlet for a more precise diagnostic.

Johann

--

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.


    /* Don't print the above diagnostics more than once.  */
diff mbox series

Patch

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