Hello,

On Fri, Oct 14 2022, Martin Liška wrote:
> On 10/14/22 08:12, Richard Biener wrote:
>> On Fri, Oct 14, 2022 at 12:54 AM Eric Botcazou via Gcc-patches
>> <gcc-patches@gcc.gnu.org> wrote:
>>>
>>>> Not a fan as it could potentially hide a real issue, but I don't really
>>>> have a better solution.
>>>
>>> Thanks.
>>>
>>>> I pondered suggesting "access" affect type identity, but the cases where
>>>> that's really important are probably better handled by the "fn spec"
>>>> attribute, leaving "access" strictly impacting diagnostics.
>>>
>>> I can expand a bit here, because I tried to change the "access" attribute 
>>> that
>>> way and this badly breaks the C compiler, for example:
>>>
>>> int foo (int n, char m[1][n]);
>>>
>>> int foo (int n, char m[1][n]) {}
>>>
>>> no longer compiles with an error about different function types.
>> 
>> Note in discussion with IPA folks we agreed that IPA cloning that modifies
>> arguments either has to remove access attributes, adjust them or refrain
>> from cloning.
>> 
>> Martin - has anything been done to this respect?
>
> I think it's more for Martin Jambor who's the IPA specialist when it comes
> to parameter manipulation.
>

They are being dropped since 2af63f0f53a

Adjusting them accordingly is an item buried quite deep in my TODO list.

>> 
>> I suppose there's also a way to figure if a clone has arguments
>> changed in any way?

Look whether clone_info::get (node) exists and its param_adjustments is
non-NULL.

In theory the param_adjustments could contain description of the very
same signature the original function has but in practice it does not
currently happen and is unlikely to happen ever.

Martin

Reply via email to