Re: Support for NOINLINE attribute

2023-02-24 Thread Rimvydas Jasinskas via Fortran
Hello Bernhard, On Fri, Feb 24, 2023 at 9:20 AM Bernhard Reutner-Fischer wrote: > > > * decl.cc: Add EXT_ATTR_NOINLINE, EXT_ATTR_NORETURN, EXT_ATTR_WEAK. > > > * gfortran.h (ext_attr_id_t): Ditto. > > > > We had that discussion recently here.. > > Which of these are required to be recorded to th

Re: Support for WEAK attribute, part 2

2023-02-23 Thread Rimvydas Jasinskas via Fortran
On Thu, Feb 23, 2023 at 10:53 PM Harald Anlauf wrote: > the patch is mostly fine, but there is a minor style issue: > > + if (sym->attr.ext_attr & (1 << EXT_ATTR_WEAK)) > + gfc_error ("Symbol %qs at %L has the WEAK attribute but is a %s", > + sym->name, &sym->declared_a

Support for module-wide attributes

2023-02-23 Thread Rimvydas Jasinskas via Fortran
Hello everyone, this patch implements module-wide gcc directive support to apply attributes to the whole module. Patch closely follows how plain SAVE statement is implemented with seen_save/gfc_save_all() by using "mod_ext_attr" bitfield in a current namespace. There are certain complications ho

Re: Support for WEAK attribute, part 2

2023-02-23 Thread Rimvydas Jasinskas via Fortran
Thank you Harald, for the feedback! Attached is part2 patch for weak variables support. I'll post part3 patch for module-wide attribute support separately. Best regards, Rimvydas From fb1cf60d3fd7c6aa2d9787bb3af86f18e0178bf7 Mon Sep 17 00:00:00 2001 From: Rimvydas Jasinskas Date: Thu, 23 Feb 20

Support for WEAK attribute, part 2

2023-02-15 Thread Rimvydas Jasinskas via Fortran
On Tue, Feb 14, 2023 at 9:55 PM Harald Anlauf wrote: > >>> There is one thing I cannot test, which is the handling of weak symbols > >>> on other platforms. A quick glance at the C testcases suggests that > >>> someone with access to either an NVPTX or MingGW target might tell > >>> whether that

Re: Support for NOINLINE attribute

2023-02-11 Thread Rimvydas Jasinskas via Fortran
On Sat, Feb 11, 2023 at 11:26 PM Harald Anlauf wrote: > I am also not a native speaker, like many others contributing, but let > me quote the relevant orignal paragraph: > > "The @code{noreturn} keyword tells the compiler to assume that > @code{fatal} cannot return. It can then optimize without r

Re: Support for NOINLINE attribute

2023-02-10 Thread Rimvydas Jasinskas via Fortran
On Fri, Feb 10, 2023 at 11:07 PM Harald Anlauf via Fortran wrote: > I actually like the idea of supporting the suggested attributes, > provided they work and behave the same way with and without LTO. All these three declaration attributes apply the same regardless of LTO, LTO just expands what opt

Re: Support for NOINLINE attribute

2023-02-10 Thread Rimvydas Jasinskas via Fortran
On Fri, Feb 10, 2023 at 10:24 AM Steve Kargl via Fortran wrote: > > would it be possible to extend gfortran attribute support to handle > > NOINLINE too? Like: "!GCC$ ATTRIBUTES noinline :: ...". > > It looks to me like you are conflating three independent topics. > What does NOINLINE have to do w

Support for NOINLINE attribute

2023-02-09 Thread Rimvydas Jasinskas via Fortran
Hello everyone, would it be possible to extend gfortran attribute support to handle NOINLINE too? Like: "!GCC$ ATTRIBUTES noinline :: ...". Recent testing with gcc-13 trunk uncovered several issues with LTO usage and for now it is unknown if it is host specific or something else. Given that ther