This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch,avr]: Fix wrong warning PR59396


Am 12/06/2013 10:32 AM, schrieb Richard Biener:
On Thu, Dec 5, 2013 at 4:38 PM, Georg-Johann Lay 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?

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 '*'.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]