On Thu, Dec 5, 2013 at 4:38 PM, Georg-Johann Lay <a...@gjlay.de> wrote: > Am 12/05/2013 04:09 PM, schrieb Richard Biener: > >> On Thu, Dec 5, 2013 at 3:53 PM, Georg-Johann Lay wrote: >>> >>> This is a fix of a wrong warning for a bas ISR name. The assumption was >>> that if DECL_ASSEMBLER_NAME is set, it would always starts with a *. >>> >>> This is not the case for LTO compiler where the assembler name is the >>> plain >>> name of the function (except an assembler name is set). >> >> >> That sounds odd to me. Does the bug reproduce with -fwhole-program? >> Or if the interrupt handler is static? >> >> Richard. > > > Yes, with -fwhole-program the issue persists (except -flto is removed). > > Same with a static function, both with and without externally_visible. > Because externally_visible conflicts static, I also tried without > externally_visible, but with no avail.
Ah, I was asking if the issue is not LTO but us bringing the interrupt handler local - which should be reproducible without LTO with just -fwhole-program or by making the interrupt handler local in the first place (by declaring it static). Now your first sentence says that -fwhole-program alone does not reproduce the issue, right? Richard. > Johann > > > >>> Thus, do a more restrictive test if the first character of the function >>> name >>> has to be skipped. >>> >>> Ok to commit? >>> >>> Johann >>> >>> >>> PR target/59396 >>> * config/avr/avr.c (avr_set_current_function): If the first char >>> of the function name is skipped, make sure it is actually '*'. > >