(vms_check_external): New function.
authorRichard Stallman <rms@gnu.org>
Thu, 25 Feb 1993 00:25:44 +0000 (00:25 +0000)
committerRichard Stallman <rms@gnu.org>
Thu, 25 Feb 1993 00:25:44 +0000 (00:25 +0000)
From-SVN: r3527

gcc/config/vax/vax.c

index 14f98e423742833a04f08c24d32d5b02506ca22e..bd6374615580608b4dd8b45702d215e503e1232b 100644 (file)
@@ -578,6 +578,35 @@ vax_rtx_cost (x)
   return c;
 }
 \f
+/* Linked list of all externals that are to be emitted when optimizing
+   for the global pointer if they haven't been declared by the end of
+   the program with an appropriate .comm or initialization.  */
+
+struct extern_list {
+  struct extern_list *next;    /* next external */
+  char *name;                  /* name of the external */
+} *extern_head = 0;
+
+/* Return 1 if NAME has already had an external definition;
+   0 if it has not (so caller should output one).  */
+
+int
+vms_check_external (name)
+     char *name;
+{
+  register struct extern_list *p;
+
+  for (p = extern_head; p; p = p->next)
+    if (!strcmp (p->name, name))
+      return 1;
+
+  p = (struct extern_list *)permalloc ((long) sizeof (struct extern_list));
+  p->next = extern_head;
+  p->name = name;
+  extern_head = p;
+  return 0;
+}
+\f
 #ifdef VMS
 /* Additional support code for VMS. */