re PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal ...
authorPitchumani Sivanupandi <pitchumani.s@atmel.com>
Wed, 15 Jun 2016 16:40:07 +0000 (16:40 +0000)
committerDenis Chertykov <denisc@gcc.gnu.org>
Wed, 15 Jun 2016 16:40:07 +0000 (19:40 +0300)
    PR target/67353
    * config/avr/avr.c (avr_set_current_function): Warn misspelled
    interrupt/ signal handler if -Wmisspelled-isr flag is enabled.

From-SVN: r237486

gcc/ChangeLog
gcc/config/avr/avr.c
gcc/config/avr/avr.opt
gcc/doc/invoke.texi

index 8cdecc8be387dbe06a2669cb773e25919631de6e..48fdfc78f74a09dd981709f552f08ae66c17c7ba 100644 (file)
@@ -1,3 +1,9 @@
+2016-06-15  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+       PR target/67353
+       * config/avr/avr.c (avr_set_current_function): Warn misspelled
+       interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
+
 2016-06-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
index ba5cd914e55cea020be46def8282a6081ad18a03..b3276243902501ab9a38a14457c48e773e16f959 100644 (file)
@@ -754,8 +754,8 @@ avr_set_current_function (tree decl)
          when the user misspells the vector name.  */
 
       if (!STR_PREFIX_P (name, "__vector"))
-        warning_at (loc, 0, "%qs appears to be a misspelled %s handler",
-                    name, isr);
+        warning_at (loc, OPT_Wmisspelled_isr, "%qs appears to be a misspelled "
+                           "%s handler, missing __vector prefix", name, isr);
     }
 
   /* Don't print the above diagnostics more than once.  */
index 8809b9b0cff1f816c6652d87ae426dbada1a0790..05aa4b6db986fa3bdec61bc9f28f4c248d3d0f44 100644 (file)
@@ -91,6 +91,10 @@ Waddr-space-convert
 Warning C Report Var(avr_warn_addr_space_convert) Init(0)
 Warn if the address space of an address is changed.
 
+Wmisspelled-isr
+Warning C C++ Report Var(avr_warn_misspelled_isr) Init(1)
+Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by default.
+
 mfract-convert-truncate
 Target Report Mask(FRACT_CONV_TRUNC)
 Allow to use truncation instead of rounding towards 0 for fractional int types.
index 21053511dedac8bb95a9f6c73a93603b4cd6ff07..4a89f5f556c82d78d789cacd4a60929a7d82009b 100644 (file)
@@ -643,7 +643,8 @@ Objective-C and Objective-C++ Dialects}.
 @emph{AVR Options}
 @gccoptlist{-mmcu=@var{mcu} -maccumulate-args -mbranch-cost=@var{cost} @gol
 -mcall-prologues -mint8 -mn_flash=@var{size} -mno-interrupts @gol
--mrelax -mrmw -mstrict-X -mtiny-stack -nodevicelib -Waddr-space-convert}
+-mrelax -mrmw -mstrict-X -mtiny-stack -nodevicelib -Waddr-space-convert @gol
+-Wmisspelled-isr}
 
 @emph{Blackfin Options}
 @gccoptlist{-mcpu=@var{cpu}@r{[}-@var{sirevision}@r{]} @gol
@@ -14586,12 +14587,17 @@ Only change the lower 8@tie{}bits of the stack pointer.
 
 @item -nodevicelib
 @opindex nodevicelib
-Don't link against AVR-LibC's device specific library @code{libdev.a}.
+Don't link against AVR-LibC's device specific library @code{lib<mcu>.a}.
 
 @item -Waddr-space-convert
 @opindex Waddr-space-convert
 Warn about conversions between address spaces in the case where the
 resulting address space is not contained in the incoming address space.
+
+@item -Wmisspelled-isr
+@opindex Wmisspelled-isr
+Warn if the ISR is misspelled, i.e. without __vector prefix.
+Enabled by default.
 @end table
 
 @subsubsection @code{EIND} and Devices with More Than 128 Ki Bytes of Flash