decl2.c (start_objects, [...]): Do not make the functions uninlinable.
authorJan Hubicka <jh@suse.cz>
Sat, 20 Jan 2007 00:30:19 +0000 (01:30 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sat, 20 Jan 2007 00:30:19 +0000 (00:30 +0000)
* decl2.c (start_objects, start_static_storage_duration_function):
Do not make the functions uninlinable.

From-SVN: r120992

gcc/cp/ChangeLog
gcc/cp/decl2.c

index 5123c18..9e09bb2 100644 (file)
@@ -1,3 +1,8 @@
+2007-01-20  Jan Hubicka  <jh@suse.cz>
+
+       * decl2.c (start_objects, start_static_storage_duration_function):
+       Do not make the functions uninlinable.
+
 2007-01-17  Ian Lance Taylor  <iant@google.com>
 
        * class.c (add_method): Call VEC_reserve_exact rather than passing
index e3e8d08..69c260c 100644 (file)
@@ -2340,13 +2340,6 @@ start_objects (int method_type, int initp)
 
   body = begin_compound_stmt (BCS_FN_BODY);
 
-  /* We cannot allow these functions to be elided, even if they do not
-     have external linkage.  And, there's no point in deferring
-     compilation of these functions; they're all going to have to be
-     out anyhow.  */
-  DECL_INLINE (current_function_decl) = 0;
-  DECL_UNINLINABLE (current_function_decl) = 1;
-
   return body;
 }
 
@@ -2444,6 +2437,7 @@ start_static_storage_duration_function (unsigned count)
                               type);
   TREE_PUBLIC (ssdf_decl) = 0;
   DECL_ARTIFICIAL (ssdf_decl) = 1;
+  DECL_INLINE (ssdf_decl) = 1;
 
   /* Put this function in the list of functions to be called from the
      static constructors and destructors.  */
@@ -2497,11 +2491,6 @@ start_static_storage_duration_function (unsigned count)
   /* Set up the scope of the outermost block in the function.  */
   body = begin_compound_stmt (BCS_FN_BODY);
 
-  /* This function must not be deferred because we are depending on
-     its compilation to tell us what is TREE_SYMBOL_REFERENCED.  */
-  DECL_INLINE (ssdf_decl) = 0;
-  DECL_UNINLINABLE (ssdf_decl) = 1;
-
   return body;
 }