Pitchumani Sivanupandi schrieb:
Hi,
This patch introduces new flags for warning 'misspelled interrupt/
signal handler'. Flag -Wmisspelled-isr is enabled by default and it
will warn user if the interrupt/ signal handler is without '__vector'
prefix. Flag -Wno-misspelled-isr shall be enabled by user to allow
custom names, i.e. without __vector prefix.
// avr-gcc -c test.c
void custom_interruption(void) __attribute__((signal));
void custom_interruption(void) {}
Behavior after applying this patch:
$ avr-gcc test.c
test.c: In function 'custom_interruption':
test.c:2:6: warning: 'custom_interruption' appears to be a misspelled
signal handler
void custom_interruption(void) {}
^~~~~~~~~~~~~~~~~~~
$ avr-gcc test.c -Wmisspelled-isr
test.c: In function
'custom_interruption':
test.c:2:6: warning: 'custom_interruption'
appears to be a misspelled signal handler
void
custom_interruption(void) {}
^~~~~~~~~~~~~~~~~~~
$ avr-gcc test.c -Wno-misspelled-isr
$
What about -Werror=misspelled-isr?
> [...]
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index ba5cd91..587bdbc 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -753,7 +753,7 @@ avr_set_current_function (tree decl)
that the name of the function is "__vector_NN" so as to catch
when the user misspells the vector name. */
- if (!STR_PREFIX_P (name, "__vector"))
+ if ((!STR_PREFIX_P (name, "__vector")) && (avr_warn_misspelled_isr))
warning_at (loc, 0, "%qs appears to be a misspelled %s handler",
If, instead of the "0" the respective OPT_... enum is used in the call
to warning_at, the -Werror= should work as expected (and explicit "&&
avr_warn_misspelled_isr" no more needed).
Johann