(ASM_OUTPUT_EXTERNAL): Use vms_check_external.
authorRichard Stallman <rms@gnu.org>
Thu, 25 Feb 1993 00:25:31 +0000 (00:25 +0000)
committerRichard Stallman <rms@gnu.org>
Thu, 25 Feb 1993 00:25:31 +0000 (00:25 +0000)
(ASM_GLOBALIZE_LABEL): New definition; use vms_check_external.

From-SVN: r3526

gcc/config/vax/vms.h

index bc851990472f2214534487a70026c9d2fef6bb91..9bdf6c1df20512065438f13d97e17ce22545b5a8 100644 (file)
@@ -121,6 +121,17 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
   if (DECL_EXTERNAL (decl) && TREE_PUBLIC (decl))              \
     SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1; 
 
+/* This is how to output a command to make the user-level label named NAME
+   defined for reference from other files.  */
+
+#undef ASM_GLOBALIZE_LABEL
+#define ASM_GLOBALIZE_LABEL(FILE,NAME)         \
+  do { fputs (".globl ", FILE);                        \
+       assemble_name (FILE, NAME);             \
+       fputs ("\n", FILE);                     \
+       vms_check_external (NAME);              \
+     } while (0)
+
 /* Under VMS we write the actual size of the storage to be allocated even
    though the symbol is external.  Although it is possible to give external
    symbols a size of 0 (as unix does), the VMS linker does not make the
@@ -144,7 +155,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    since the size of its definition was not likewise rounded up.  */
 
 #define ASM_OUTPUT_EXTERNAL(FILE,DECL,NAME)                            \
-{ if (DECL_INITIAL (DECL) == 0 && TREE_CODE (DECL) != FUNCTION_DECL)   \
+{ if (DECL_INITIAL (DECL) == 0 && TREE_CODE (DECL) != FUNCTION_DECL    \
+      && ! vms_check_external (NAME))                                  \
     {                                                                  \
       if (TREE_READONLY (decl) && ! TREE_THIS_VOLATILE (decl))         \
        const_section ();                                               \