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