decl2.c (start_objects): Make file scope constructors and destructors local to the...
authorH.J. Lu <hjl@gnu.org>
Sun, 21 Feb 1999 19:42:18 +0000 (19:42 +0000)
committerJeff Law <law@gcc.gnu.org>
Sun, 21 Feb 1999 19:42:18 +0000 (12:42 -0700)
        * decl2.c (start_objects): Make file scope constructors and
        destructors local to the file if ASM_OUTPUT_CONSTRUCTOR and
        ASM_OUTPUT_DESTRUCTOR are defined.

From-SVN: r25354

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

index 3a8d0db46adcf16672d3b8cd6da6e89b53d8cfe3..c77d184bcda6f4bd067894c448d7c81783cd0446 100644 (file)
@@ -1,3 +1,9 @@
+Sun Feb 21 20:38:00 1999  H.J. Lu  (hjl@gnu.org)
+
+       * decl2.c (start_objects): Make file scope constructors and
+       destructors local to the file if ASM_OUTPUT_CONSTRUCTOR and
+       ASM_OUTPUT_DESTRUCTOR are defined.
+
 1999-02-19  Mark Mitchell  <mark@markmitchell.com>
 
        * cp-tree.h (CLASSTYPE_METHOD_VEC): Adjust comment.
index 70120de1a64fb803aabfd64f05c79010e55e41e8..dddf4a8d3e70b3154d95bdf75d620a2ec72d35f2 100644 (file)
@@ -2937,6 +2937,11 @@ start_objects (method_type, initp)
                                        NULL_TREE),
                  NULL_TREE, 0);
 
+#if defined(ASM_OUTPUT_CONSTRUCTOR) && defined(ASM_OUTPUT_DESTRUCTOR)
+  /* It can be a static function with .ctors/.dtors sections. */
+  TREE_PUBLIC (current_function_decl) = 0;
+#endif
+
   store_parm_decls ();
   pushlevel (0);
   clear_last_expr ();