This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATH] PR/49139 fix always_inline failures diagnostics




OK, the only difference is that we don't have the node analyzed here, so
externally_visible, etc are not set. With the initial proposal the warning
was emitted only if the function could not be inlined. Now it will be
emitted for each  DECL_COMDAT (decl)&&  !DECL_DECLARED_INLINE_P (decl)) even
if not preemptible, so conservatively we don't want to duplicate the
availability check.

Hm, I'm confused. Do all DECL_COMDAT functions have the always_inline attribute set? I would have expected

+      if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (decl)))
+	{
+	  if (!DECL_DECLARED_INLINE_P (decl))
+	    warning (OPT_Wattributes,
+		     "always_inline not declared inline might not be inlinable");
+	}


I meant !DECL_COMDAT || !DECL_DECLARED_INLINE_P. but I was overprecautious. Didn't realize that member functions was already marked with DECLARED_INLINED_P even if not explicitly set. So OK one check is enough


do you get excessive warnings with this?


No I don't. That's enough to catch the original issue


Cheers

Christian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]