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


On Thu, Dec 5, 2013 at 4:38 PM, Georg-Johann Lay <avr@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 '*'.
>
>


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