https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78333

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
      Known to work|                            |4.5.4
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
   Target Milestone|---                         |5.5
            Summary|always-inline gnu-inline    |[5/6/7 Regression]
                   |functions break             |always-inline gnu-inline
                   |-finstrument-functions      |functions break
                   |                            |-finstrument-functions
      Known to fail|                            |4.6.0

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Not instrumenting extern inline functions works:

Index: gcc/gimplify.c
===================================================================
--- gcc/gimplify.c      (revision 242408)
+++ gcc/gimplify.c      (working copy)
@@ -12547,6 +12559,10 @@ gimplify_function_tree (tree fndecl)
   /* ??? Add some way to ignore exceptions for this TFE.  */
   if (flag_instrument_function_entry_exit
       && !DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (fndecl)
+      /* Do not instrument extern inline functions.  */
+      && !(DECL_DECLARED_INLINE_P (fndecl)
+          && DECL_EXTERNAL (fndecl)
+          && DECL_DISREGARD_INLINE_LIMITS (fndecl))
       && !flag_instrument_functions_exclude_p (fndecl))
     {
       tree x;

testing that.

Reply via email to