config.gcc: Update c4x and i370 for C front end-specific dependencies.
authorNeil Booth <neil@daikokuya.demon.co.uk>
Wed, 17 Oct 2001 20:39:13 +0000 (20:39 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Wed, 17 Oct 2001 20:39:13 +0000 (20:39 +0000)
* config.gcc: Update c4x and i370 for C front end-specific
dependencies.
* config/c4x/c4x-c.c: New.
* config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
New declarations.
* config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
Make extern.
(c4x_init_pragma): Remove.
(c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
c4x_pr_ignored): Move to c4x-c.c.
* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
* config/c4x/t-c4x: Update.
* config/i370/i370-c.c: New.
* config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
(i370_pr_map): Move to i370-c.c.
* config/i370/t-i370: New.

* doc/tm.texi: Update.

From-SVN: r46322

gcc/ChangeLog
gcc/config.gcc
gcc/config/c4x/c4x-c.c [new file with mode: 0644]
gcc/config/c4x/c4x-protos.h
gcc/config/c4x/c4x.c
gcc/config/c4x/c4x.h
gcc/config/c4x/t-c4x
gcc/config/i370/i370-c.c [new file with mode: 0644]
gcc/config/i370/i370.c
gcc/config/i370/t-i370 [new file with mode: 0644]
gcc/doc/tm.texi

index 7da1ad87ce758c350a8f85509cd84c8befd40a23..75937f9695904daf8cca2e96f9c4005b8fbc05ba 100644 (file)
@@ -1,3 +1,27 @@
+2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * config.gcc: Update c4x and i370 for C front end-specific
+       dependencies.
+       * config/c4x/c4x-c.c: New.
+       * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
+       (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+       New declarations.
+       * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
+       (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+       Make extern.
+       (c4x_init_pragma): Remove.
+       (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
+       c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
+       c4x_pr_ignored): Move to c4x-c.c.
+       * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
+       * config/c4x/t-c4x: Update.
+       * config/i370/i370-c.c: New.
+       * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
+       (i370_pr_map): Move to i370-c.c.
+       * config/i370/t-i370: New.      
+
+       * doc/tm.texi: Update.
+
 2001-10-17  Stan Shebs  <shebs@apple.com>
 
        * config/rs6000/rs6000.c: Make assorted mechanical formatting and
index f6085953e2b11787667450d439fe5dc5372a2e8e..b1bd55d24a42603ea6ca8da6255910d9cd96711e 100644 (file)
@@ -644,11 +644,15 @@ c4x-*-rtems*)
        if test x$enable_threads = xyes; then
          thread_file='rtems'
        fi
+       c_target_objs="c4x-c.o"
+       cxx_target_objs="c4x-c.o"
        ;;
 c4x-*)
        cpu_type=c4x
        float_format=c4x
        tmake_file=c4x/t-c4x
+       c_target_objs="c4x-c.o"
+       cxx_target_objs="c4x-c.o"
        ;;
 clipper-intergraph-clix*)
        tm_file="${tm_file} svr3.h clipper/clix.h"
@@ -941,11 +945,17 @@ hppa*-*-mpeix*)
 i370-*-opened*)                         # IBM 360/370/390 Architecture
        xm_defines='POSIX FATAL_EXIT_CODE=12'
        tm_file=i370/oe.h
+       tmake_file="i370/t-i370"
        xmake_file=i370/x-oe
+       c_target_objs="i370-c.o"
+       cxx_target_objs="i370-c.o"
        ;;
 i370-*-mvs*)
        xm_defines='POSIX FATAL_EXIT_CODE=12'
        tm_file=i370/mvs.h
+       tmake_file="i370/t-i370"
+       c_target_objs="i370-c.o"
+       cxx_target_objs="i370-c.o"
        ;;
 i370-*-linux*)
        xmake_file=x-linux
diff --git a/gcc/config/c4x/c4x-c.c b/gcc/config/c4x/c4x-c.c
new file mode 100644 (file)
index 0000000..3bbf184
--- /dev/null
@@ -0,0 +1,159 @@
+/* Subroutines for the C front end on the TMS320C[34]x
+   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+   Free Software Foundation, Inc.
+
+   Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
+              and Herman Ten Brugge (Haj.Ten.Brugge@net.HCC.nl).
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "config.h"
+#include "system.h"
+#include "tree.h"
+#include "toplev.h"
+#include "cpplib.h"
+#include "c-pragma.h"
+#include "c-lex.h"
+#include "c4x-protos.h"
+
+static int c4x_parse_pragma PARAMS ((const char *, tree *, tree *));
+
+/* Handle machine specific pragmas for compatibility with existing
+   compilers for the C3x/C4x.
+
+   pragma                                 attribute
+   ----------------------------------------------------------
+   CODE_SECTION(symbol,"section")          section("section")
+   DATA_SECTION(symbol,"section")          section("section")
+   FUNC_CANNOT_INLINE(function)            
+   FUNC_EXT_CALLED(function)               
+   FUNC_IS_PURE(function)                  const
+   FUNC_IS_SYSTEM(function)                
+   FUNC_NEVER_RETURNS(function)            noreturn
+   FUNC_NO_GLOBAL_ASG(function)            
+   FUNC_NO_IND_ASG(function)               
+   INTERRUPT(function)                     interrupt
+
+   */
+
+/* Parse a C4x pragma, of the form ( function [, "section"] ) \n.
+   FUNC is loaded with the IDENTIFIER_NODE of the function, SECT with
+   the STRING_CST node of the string.  If SECT is null, then this
+   pragma doesn't take a section string.  Returns 0 for a good pragma,
+   -1 for a malformed pragma.  */
+#define BAD(msgid, arg) do { warning (msgid, arg); return -1; } while (0)
+
+static int
+c4x_parse_pragma (name, func, sect)
+     const char *name;
+     tree *func;
+     tree *sect;
+{
+  tree f, s, x;
+
+  if (c_lex (&x) != CPP_OPEN_PAREN)
+    BAD ("missing '(' after '#pragma %s' - ignored", name);
+
+  if (c_lex (&f) != CPP_NAME)
+    BAD ("missing function name in '#pragma %s' - ignored", name);
+
+  if (sect)
+    {
+      if (c_lex (&x) != CPP_COMMA)
+       BAD ("malformed '#pragma %s' - ignored", name);
+      if (c_lex (&s) != CPP_STRING)
+       BAD ("missing section name in '#pragma %s' - ignored", name);
+      *sect = s;
+    }
+
+  if (c_lex (&x) != CPP_CLOSE_PAREN)
+    BAD ("missing ')' for '#pragma %s' - ignored", name);
+
+  if (c_lex (&x) != CPP_EOF)
+    warning ("junk at end of '#pragma %s'", name);
+
+  *func = f;
+  return 0;
+}
+
+void
+c4x_pr_CODE_SECTION (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree func, sect;
+
+  if (c4x_parse_pragma ("CODE_SECTION", &func, &sect))
+    return;
+  code_tree = chainon (code_tree,
+                      build_tree_list (func,
+                                       build_tree_list (NULL_TREE, sect)));
+}
+
+void
+c4x_pr_DATA_SECTION (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree func, sect;
+
+  if (c4x_parse_pragma ("DATA_SECTION", &func, &sect))
+    return;
+  data_tree = chainon (data_tree,
+                      build_tree_list (func,
+                                       build_tree_list (NULL_TREE, sect)));
+}
+
+void
+c4x_pr_FUNC_IS_PURE (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree func;
+
+  if (c4x_parse_pragma ("FUNC_IS_PURE", &func, 0))
+    return;
+  pure_tree = chainon (pure_tree, build_tree_list (func, NULL_TREE));
+}
+
+void
+c4x_pr_FUNC_NEVER_RETURNS (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree func;
+
+  if (c4x_parse_pragma ("FUNC_NEVER_RETURNS", &func, 0))
+    return;
+  noreturn_tree = chainon (noreturn_tree, build_tree_list (func, NULL_TREE));
+}
+
+void
+c4x_pr_INTERRUPT (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree func;
+
+  if (c4x_parse_pragma ("INTERRUPT", &func, 0))
+    return;
+  interrupt_tree = chainon (interrupt_tree, build_tree_list (func, NULL_TREE));
+}
+
+/* Used for FUNC_CANNOT_INLINE, FUNC_EXT_CALLED, FUNC_IS_SYSTEM,
+   FUNC_NO_GLOBAL_ASG, and FUNC_NO_IND_ASG.  */
+void
+c4x_pr_ignored (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+}
index 1a3ebcfcd440a4ae802fc1ab3b82fedeb3dde678..be39ca2aadedf8c2ee980478e3e1716b53313525 100644 (file)
@@ -39,10 +39,6 @@ extern void c4x_expand_epilogue PARAMS ((void));
 
 extern int c4x_null_epilogue_p PARAMS ((void));
 
-extern int c4x_handle_pragma PARAMS ((int (* p_getc) (void),
-                                     void (* p_ungetc) (int),
-                                     char *));
-
 extern void c4x_global_label (const char *);
 
 extern void c4x_external_ref (const char *);
@@ -305,6 +301,7 @@ extern void c4x_pr_FUNC_NEVER_RETURNS       PARAMS ((cpp_reader *));
 extern void c4x_pr_INTERRUPT           PARAMS ((cpp_reader *));
 extern void c4x_pr_ignored             PARAMS ((cpp_reader *));
 extern void c4x_init_pragma            PARAMS ((int (*) (tree *)));
+extern tree code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree;
 #endif
 
 #endif /* ! GCC_C4X_PROTOS_H */
index b59d34475d7e682ceda61586b1a6006b8be3ab9e..3c9d1400f7e2824909e04d523cebd9de5acf79f8 100644 (file)
@@ -45,8 +45,6 @@ Boston, MA 02111-1307, USA.  */
 #include "c-tree.h"
 #include "ggc.h"
 #include "cpplib.h"
-#include "c-lex.h"
-#include "c-pragma.h"
 #include "toplev.h"
 #include "c4x-protos.h"
 #include "target.h"
@@ -160,11 +158,11 @@ int c4x_cpu_version = 40; /* CPU version C30/31/32/33/40/44.  */
 
 /* Pragma definitions.  */
 
-static tree code_tree = NULL_TREE;
-static tree data_tree = NULL_TREE;
-static tree pure_tree = NULL_TREE;
-static tree noreturn_tree = NULL_TREE;
-static tree interrupt_tree = NULL_TREE;
+tree code_tree = NULL_TREE;
+tree data_tree = NULL_TREE;
+tree pure_tree = NULL_TREE;
+tree noreturn_tree = NULL_TREE;
+tree interrupt_tree = NULL_TREE;
 
 /* Forward declarations */
 static void c4x_add_gc_roots PARAMS ((void));
@@ -187,7 +185,6 @@ static int c4x_valid_operands PARAMS ((enum rtx_code, rtx *,
 static int c4x_arn_reg_operand PARAMS ((rtx, enum machine_mode, unsigned int));
 static int c4x_arn_mem_operand PARAMS ((rtx, enum machine_mode, unsigned int));
 static void c4x_check_attribute PARAMS ((const char *, tree, tree, tree *));
-static int c4x_parse_pragma PARAMS ((const char *, tree *, tree *));
 static int c4x_r11_set_p PARAMS ((rtx));
 static int c4x_rptb_valid_p PARAMS ((rtx, rtx));
 static int c4x_label_ref_used_p PARAMS ((rtx, rtx));
@@ -4487,141 +4484,6 @@ c4x_operand_subword (op, i, validate_address, mode)
   return operand_subword (op, i, validate_address, mode);
 }
 
-/* Handle machine specific pragmas for compatibility with existing
-   compilers for the C3x/C4x.
-
-   pragma                                 attribute
-   ----------------------------------------------------------
-   CODE_SECTION(symbol,"section")          section("section")
-   DATA_SECTION(symbol,"section")          section("section")
-   FUNC_CANNOT_INLINE(function)            
-   FUNC_EXT_CALLED(function)               
-   FUNC_IS_PURE(function)                  const
-   FUNC_IS_SYSTEM(function)                
-   FUNC_NEVER_RETURNS(function)            noreturn
-   FUNC_NO_GLOBAL_ASG(function)            
-   FUNC_NO_IND_ASG(function)               
-   INTERRUPT(function)                     interrupt
-
-   */
-
-/* Parse a C4x pragma, of the form ( function [, "section"] ) \n.
-   FUNC is loaded with the IDENTIFIER_NODE of the function, SECT with
-   the STRING_CST node of the string.  If SECT is null, then this
-   pragma doesn't take a section string.  Returns 0 for a good pragma,
-   -1 for a malformed pragma.  */
-#define BAD(msgid, arg) do { warning (msgid, arg); return -1; } while (0)
-
-static int (*c_lex_func) (tree *);
-
-void
-c4x_init_pragma (get_token)
-  int (*get_token) PARAMS ((tree *));
-{
-  c_lex_func = get_token;
-}
-
-
-static int
-c4x_parse_pragma (name, func, sect)
-     const char *name;
-     tree *func;
-     tree *sect;
-{
-  tree f, s, x;
-
-  if (c_lex_func (&x) != CPP_OPEN_PAREN)
-    BAD ("missing '(' after '#pragma %s' - ignored", name);
-
-  if (c_lex_func (&f) != CPP_NAME)
-    BAD ("missing function name in '#pragma %s' - ignored", name);
-
-  if (sect)
-    {
-      if (c_lex_func (&x) != CPP_COMMA)
-       BAD ("malformed '#pragma %s' - ignored", name);
-      if (c_lex_func (&s) != CPP_STRING)
-       BAD ("missing section name in '#pragma %s' - ignored", name);
-      *sect = s;
-    }
-
-  if (c_lex_func (&x) != CPP_CLOSE_PAREN)
-    BAD ("missing ')' for '#pragma %s' - ignored", name);
-
-  if (c_lex_func (&x) != CPP_EOF)
-    warning ("junk at end of '#pragma %s'", name);
-
-  *func = f;
-  return 0;
-}
-
-void
-c4x_pr_CODE_SECTION (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree func, sect;
-
-  if (c4x_parse_pragma ("CODE_SECTION", &func, &sect))
-    return;
-  code_tree = chainon (code_tree,
-                      build_tree_list (func,
-                                       build_tree_list (NULL_TREE, sect)));
-}
-
-void
-c4x_pr_DATA_SECTION (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree func, sect;
-
-  if (c4x_parse_pragma ("DATA_SECTION", &func, &sect))
-    return;
-  data_tree = chainon (data_tree,
-                      build_tree_list (func,
-                                       build_tree_list (NULL_TREE, sect)));
-}
-
-void
-c4x_pr_FUNC_IS_PURE (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree func;
-
-  if (c4x_parse_pragma ("FUNC_IS_PURE", &func, 0))
-    return;
-  pure_tree = chainon (pure_tree, build_tree_list (func, NULL_TREE));
-}
-
-void
-c4x_pr_FUNC_NEVER_RETURNS (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree func;
-
-  if (c4x_parse_pragma ("FUNC_NEVER_RETURNS", &func, 0))
-    return;
-  noreturn_tree = chainon (noreturn_tree, build_tree_list (func, NULL_TREE));
-}
-
-void
-c4x_pr_INTERRUPT (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree func;
-
-  if (c4x_parse_pragma ("INTERRUPT", &func, 0))
-    return;
-  interrupt_tree = chainon (interrupt_tree, build_tree_list (func, NULL_TREE));
-}
-
-/* Used for FUNC_CANNOT_INLINE, FUNC_EXT_CALLED, FUNC_IS_SYSTEM,
-   FUNC_NO_GLOBAL_ASG, and FUNC_NO_IND_ASG.  */
-void
-c4x_pr_ignored (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-}
-
 struct name_list
 {
   struct name_list *next;
index e8052c6b68c1af4a6ca44ed3f25bd3262c4e1ef1..202b4c065c704bfc1d58b5e355ee9c4785374d07 100644 (file)
@@ -2348,7 +2348,6 @@ do {                                              \
   cpp_register_pragma (PFILE, 0, "FUNC_NO_GLOBAL_ASG", c4x_pr_ignored);        \
   cpp_register_pragma (PFILE, 0, "FUNC_NO_IND_ASG", c4x_pr_ignored);   \
   cpp_register_pragma (PFILE, 0, "INTERRUPT", c4x_pr_INTERRUPT);       \
-  c4x_init_pragma (&c_lex);                                            \
 } while (0)
 
 /* Assembler Commands for Alignment.  */
index c88eba4a1f79da58909a542b7840a952186459c4..394b4c957385dbe8c6260f0e0d3b4288da85d4c8 100644 (file)
@@ -7,6 +7,10 @@ LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \
 
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
 
+c4x-c.o: $(srcdir)/config/c4x/c4x-c.c $(srcdir)/config/c4x/c4x-protos.h \
+    $(CONFIG_H) $(SYSTEM_H) cpplib.h $(TREE_H) c-pragma.h c-lex.h toplev.h
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
+
 MULTILIB_OPTIONS = m30 msmall mmemparm
 MULTILIB_DIRNAMES = c3x small mem
 MULTILIB_MATCHES = m30=mcpu?30 m30=mcpu?31 m30=mcpu?32 m30=m31 m30=m32
diff --git a/gcc/config/i370/i370-c.c b/gcc/config/i370/i370-c.c
new file mode 100644 (file)
index 0000000..d1eddb6
--- /dev/null
@@ -0,0 +1,63 @@
+/* Subroutines for the C front end for System/370.
+   Copyright (C) 1989, 1993, 1995, 1997, 1998, 1999, 2000
+   Free Software Foundation, Inc.
+   Contributed by Jan Stein (jan@cd.chalmers.se).
+   Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+   Hacked for Linux-ELF/390 by Linas Vepstas (linas@linas.org) 
+
+This file is part of GNU CC.
+
+GNU CC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU CC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU CC; see the file COPYING.  If not, write to
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+#include "config.h"
+#include "system.h"
+#include "tree.h"
+#include "toplev.h"
+#include "cpplib.h"
+#include "c-pragma.h"
+#include "c-lex.h"
+#include "i370-protos.h"
+
+#ifdef TARGET_HLASM
+
+/* #pragma map (name, alias) -
+   In this implementation both name and alias are required to be
+   identifiers.  The older code seemed to be more permissive.  Can
+   anyone clarify?  */
+
+void
+i370_pr_map (pfile)
+     cpp_reader *pfile ATTRIBUTE_UNUSED;
+{
+  tree name, alias, x;
+
+  if (c_lex (&x)        == CPP_OPEN_PAREN
+      && c_lex (&name)  == CPP_NAME
+      && c_lex (&x)     == CPP_COMMA
+      && c_lex (&alias) == CPP_NAME
+      && c_lex (&x)     == CPP_CLOSE_PAREN)
+    {
+      if (c_lex (&x) != CPP_EOF)
+       warning ("junk at end of #pragma map");
+
+      mvs_add_alias (IDENTIFIER_POINTER (name), IDENTIFIER_POINTER (alias), 1);
+      return;
+    }
+
+  warning ("malformed #pragma map, ignored");
+}
+
+#endif
index ca3cafb2ab017c7b242387300c3252ccce523759..1547da2eacb35b3628b40a375257d6235c8b8485 100644 (file)
@@ -39,8 +39,6 @@ Boston, MA 02111-1307, USA.  */
 #include "recog.h"
 #include "toplev.h"
 #include "cpplib.h"
-#include "c-pragma.h"
-#include "c-lex.h"
 #include "tm_p.h"
 #include "target.h"
 #include "target-def.h"
@@ -1031,33 +1029,6 @@ mvs_check_alias (realname, aliasname)
   return 0;
 }
 
-/* #pragma map (name, alias) -
-   In this implementation both name and alias are required to be
-   identifiers.  The older code seemed to be more permissive.  Can
-   anyone clarify?  */
-
-void
-i370_pr_map (pfile)
-     cpp_reader *pfile ATTRIBUTE_UNUSED;
-{
-  tree name, alias, x;
-
-  if (c_lex (&x)        == CPP_OPEN_PAREN
-      && c_lex (&name)  == CPP_NAME
-      && c_lex (&x)     == CPP_COMMA
-      && c_lex (&alias) == CPP_NAME
-      && c_lex (&x)     == CPP_CLOSE_PAREN)
-    {
-      if (c_lex (&x) != CPP_EOF)
-       warning ("junk at end of #pragma map");
-
-      mvs_add_alias (IDENTIFIER_POINTER (name), IDENTIFIER_POINTER (alias), 1);
-      return;
-    }
-
-  warning ("malformed #pragma map, ignored");
-}
-
 /* defines and functions specific to the HLASM assembler */
 #endif /* TARGET_HLASM */
 /* ===================================================== */
diff --git a/gcc/config/i370/t-i370 b/gcc/config/i370/t-i370
new file mode 100644 (file)
index 0000000..c92ebed
--- /dev/null
@@ -0,0 +1,3 @@
+i370-c.o: $(srcdir)/config/i370/i370-c.c $(srcdir)/config/i370/i370-protos.h \
+    $(CONFIG_H) $(SYSTEM_H) cpplib.h $(TREE_H) c-pragma.h c-lex.h toplev.h
+       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
index c586395280239d13634d8acd5e3425453b5afda2..227636f47a0eb92726b59e30ff9c4d2a302277e7 100644 (file)
@@ -8514,12 +8514,13 @@ pragma of the form
 @var{space} is the case-sensitive namespace of the pragma, or
 @code{NULL} to put the pragma in the global namespace.  The callback
 routine receives @var{pfile} as its first argument, which can be passed
-on to cpplib's functions if necessary.  It may read any text after the
-@var{name} by making calls to @code{c_lex}.  Text which is not read by
-the callback will be silently ignored.
+on to cpplib's functions if necessary.  You can lex tokens after the
+@var{name} by calling @code{c_lex}.  Tokens that are not read by the
+callback will be silently ignored.  The end of the line is indicated by
+a token of type @code{CPP_EOF}.
 
 For an example use of this routine, see @file{c4x.h} and the callback
-routines defined in @file{c4x.c}.
+routines defined in @file{c4x-c.c}.
 
 Note that the use of @code{c_lex} is specific to the C and C++
 compilers.  It will not work in the Java or Fortran compilers, or any