diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 5123c18f8b8..9e09bb242df 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2007-01-20 Jan Hubicka + + * decl2.c (start_objects, start_static_storage_duration_function): + Do not make the functions uninlinable. + 2007-01-17 Ian Lance Taylor * class.c (add_method): Call VEC_reserve_exact rather than passing diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index e3e8d081e96..69c260ca758 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -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; }