]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/varasm.c
Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog for
[thirdparty/gcc.git] / gcc / varasm.c
index 4dc474536d33b3cf1bf05dd69cbf02f5bf3bc5d8..dc46c98899c3b004df62eba988fdf15b2f606bbd 100644 (file)
@@ -769,6 +769,10 @@ make_decl_rtl (decl, asmspec, top_level)
          if (flag_volatile_global && TREE_CODE (decl) == VAR_DECL
              && TREE_PUBLIC (decl))
            TREE_SIDE_EFFECTS (decl) = 1;
+         else if (flag_volatile_static && TREE_CODE (decl) == VAR_DECL
+              && (TREE_PUBLIC (decl) || TREE_STATIC (decl)))
+           TREE_SIDE_EFFECTS (decl) = 1;
+
          if (TREE_SIDE_EFFECTS (decl))
            MEM_VOLATILE_P (DECL_RTL (decl)) = 1;
 
@@ -1314,6 +1318,7 @@ assemble_variable (decl, top_level, at_end, dont_output_data)
 #if ! defined (ASM_OUTPUT_BSS) && ! defined (ASM_OUTPUT_ALIGNED_BSS)
       && DECL_COMMON (decl)
 #endif
+      && DECL_SECTION_NAME (decl) == 0
       && ! dont_output_data)
     {
       int size = TREE_INT_CST_LOW (size_tree);