> On 7 July 2017 15:31:55 CEST, Jan Hubicka <hubi...@ucw.cz> wrote:
> >Hi,
> >this patch fixes some places where we check global optimize flag rather
> >than
> >doing it per-function. This makes optimization attribute work closer to
> >what one gets when passing the same flag at command line.
> >This requires to run IPA passes even with !optimize, but having fast
> >way through
> >which does mostly nothing except when it sees functions with optimize
> >attributes
> >set.
> 
> Sounds gross.

Yep, supporting units compiled with different optimization flags is not
prettiest. But with LTO they are sad reality.
> >
> >Bootstrapped/regtested x86_64-linux, comitted.
> >     
> 
> >Index: ipa-visibility.c
> >===================================================================
> >--- ipa-visibility.c (revision 250021)
> >+++ ipa-visibility.c (working copy)
> >@@ -622,9 +622,12 @@ function_and_variable_visibility (bool w
> >       int flags = flags_from_decl_or_type (node->decl);
> > 
> >      /* Optimize away PURE and CONST constructors and destructors.  */
> >-      if (optimize
> >+      if (node->analyzed
> >+      && (DECL_STATIC_CONSTRUCTOR (node->decl)
> >+          || DECL_STATIC_CONSTRUCTOR (node->decl))
> 
> Typo DECL_STATIC_DESTRUCTOR

Oops, thanks! I will fix it shortly.

Honza
> 
> thanks,

Reply via email to