This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch,avr]: Fix wrong warning PR59396
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Denis Chertykov <chertykov at gmail dot com>, Eric Weddington <eric dot weddington at atmel dot com>
- Date: Fri, 6 Dec 2013 10:32:53 +0100
- Subject: Re: [Patch,avr]: Fix wrong warning PR59396
- Authentication-results: sourceware.org; auth=none
- References: <52A0937F dot 8020105 at gjlay dot de> <CAFiYyc2A931UXRhJj4H15KNH_2jkweXqMYtCdftYs+srroLT1g at mail dot gmail dot com> <52A09E07 dot 2090903 at gjlay dot de>
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 '*'.
>
>