revert accidental checkin
authorJason Merrill <jason@gcc.gnu.org>
Wed, 29 Sep 2004 20:18:49 +0000 (16:18 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 29 Sep 2004 20:18:49 +0000 (16:18 -0400)
From-SVN: r88302

gcc/cp/decl.c

index 0b0546759bc217162ff2ac98abda7973bc38e81a..3e394ab43e8bb3d6ac8346ee275c312a67eb3d8a 100644 (file)
@@ -5239,7 +5239,7 @@ expand_static_init (tree decl, tree init)
   if (DECL_FUNCTION_SCOPE_P (decl))
     {
       /* Emit code to perform this initialization but once.  */
-      tree if_stmt = NULL_TREE, inner_if_stmt = NULL_TREE;
+      tree if_stmt, inner_if_stmt = NULL_TREE;
       tree then_clause, inner_then_clause = NULL_TREE;
       tree guard, guard_addr, guard_addr_list;
       tree acquire_fn, release_fn, abort_fn;
@@ -5279,16 +5279,10 @@ expand_static_init (tree decl, tree init)
       /* Create the guard variable.  */
       guard = get_guard (decl);
 
-      /* This optimization isn't safe on targets which can reorder loads,
-        via speculative execution, caching behavior or whatever.  In that
-        case we force synchronization in __cxa_guard_acquire.  */
-      if (!targetm.reorders_loads || !flag_threadsafe_statics)
-       {
-         /* Begin the conditional initialization.  */
-         if_stmt = begin_if_stmt ();
-         finish_if_stmt_cond (get_guard_cond (guard), if_stmt);
-         then_clause = begin_compound_stmt (BCS_NO_SCOPE);
-       }
+      /* Begin the conditional initialization.  */
+      if_stmt = begin_if_stmt ();
+      finish_if_stmt_cond (get_guard_cond (guard), if_stmt);
+      then_clause = begin_compound_stmt (BCS_NO_SCOPE);
 
       if (flag_threadsafe_statics)
        {
@@ -5351,12 +5345,9 @@ expand_static_init (tree decl, tree init)
          finish_if_stmt (inner_if_stmt);
        }
 
-      if (!targetm.reorders_loads || !flag_threadsafe_statics)
-       {
-         finish_compound_stmt (then_clause);
-         finish_then_clause (if_stmt);
-         finish_if_stmt (if_stmt);
-       }
+      finish_compound_stmt (then_clause);
+      finish_then_clause (if_stmt);
+      finish_if_stmt (if_stmt);
     }
   else
     static_aggregates = tree_cons (init, decl, static_aggregates);