OSDN Git Service

* c-lex.c (finput): New global.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Apr 1998 23:29:09 +0000 (23:29 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Apr 1998 23:29:09 +0000 (23:29 +0000)
        (init_parse): Always included.  Handle !USE_CPPLIB using
        code originally in compile_file.
        (finish_parse): Update for CPPLIB.
        * toplev.c (init_parse, finish_parse): Declare.
        (finput): Delete variable.  Now in front-ends.
        (compile_file): Remove code which is now handled by init_parse
        which is unconditionally called.  Similarly for finish_parse.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19063 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-lex.c
gcc/toplev.c

index ff2e73b..9849095 100644 (file)
@@ -1,3 +1,14 @@
+Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
+
+       * c-lex.c (finput): New global.
+       (init_parse): Always included.  Handle !USE_CPPLIB using
+       code originally in compile_file.
+       (finish_parse): Update for CPPLIB.
+       * toplev.c (init_parse, finish_parse): Declare.
+       (finput): Delete variable.  Now in front-ends.
+       (compile_file): Remove code which is now handled by init_parse
+       which is unconditionally called.  Similarly for finish_parse.
+
 Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
 
        * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
index 8e9e10c..3a2eb0a 100644 (file)
@@ -47,6 +47,9 @@ Boston, MA 02111-1307, USA.  */
 cpp_reader parse_in;
 cpp_options parse_options;
 static enum cpp_token cpp_token;
+#else
+/* Stream for reading from the input file.  */
+FILE *finput;
 #endif
 
 /* The elements of `ridpointers' are identifier nodes
@@ -182,12 +185,30 @@ remember_protocol_qualifiers ()
       wordlist[i].name = "oneway";   
 }
 \f
-#if USE_CPPLIB
 void
 init_parse (filename)
      char *filename;
 {
+#if !USE_CPPLIB
+  /* Open input file.  */
+  if (filename == 0 || !strcmp (filename, "-"))
+    {
+      finput = stdin;
+      filename = "stdin";
+    }
+  else
+    finput = fopen (filename, "r");
+  if (finput == 0)
+    pfatal_with_name (filename);
+
+#ifdef IO_BUFFER_SIZE
+  setvbuf (finput, (char *) xmalloc (IO_BUFFER_SIZE), _IOFBF, IO_BUFFER_SIZE);
+#endif
+#endif /* !USE_CPPLIB */
+
   init_lex ();
+
+#if USE_CPPLIB
   yy_cur = "\n";
   yy_lim = yy_cur+1;
 
@@ -198,14 +219,18 @@ init_parse (filename)
   parse_in.show_column = 1;
   if (! cpp_start_read (&parse_in, filename))
     abort ();
+#endif
 }
 
 void
 finish_parse ()
 {
+#if USE_CPPLIB
   cpp_finish (&parse_in);
-}
+#else
+  fclose (finput);
 #endif
+}
 
 void
 init_lex ()
index d226950..90cc6f4 100644 (file)
@@ -132,6 +132,8 @@ extern int size_directive_output;
 extern tree last_assemble_variable_decl;
 
 extern void init_lex ();
+extern void init_parse PVPROTO((char *));
+extern void finish_parse ();
 extern void init_decl_processing ();
 extern void init_obstacks ();
 extern void init_tree_codes ();
@@ -200,11 +202,6 @@ char *input_filename;
 
 char *main_input_filename;
 
-#if !USE_CPPLIB
-/* Stream for reading from the input file.  */
-FILE *finput;
-#endif
-
 /* Current line number in real source file.  */
 
 int lineno;
@@ -2273,33 +2270,11 @@ compile_file (name)
   symout_time = 0;
   dump_time = 0;
 
-#if !USE_CPPLIB
-  /* Open input file.  */
-
-  if (name == 0 || !strcmp (name, "-"))
-    {
-      finput = stdin;
-      name = "stdin";
-    }
-  else
-    finput = fopen (name, "r");
-  if (finput == 0)
-    pfatal_with_name (name);
-
-#ifdef IO_BUFFER_SIZE
-  setvbuf (finput, (char *) xmalloc (IO_BUFFER_SIZE), _IOFBF, IO_BUFFER_SIZE);
-#endif
-#endif /* !USE_CPPLIB */
-
   /* Initialize data in various passes.  */
 
   init_obstacks ();
   init_tree_codes ();
-#if USE_CPPLIB
   init_parse (name);
-#else
-  init_lex ();
-#endif
   init_rtl ();
   init_emit_once (debug_info_level == DINFO_LEVEL_NORMAL
                  || debug_info_level == DINFO_LEVEL_VERBOSE
@@ -2827,11 +2802,8 @@ compile_file (name)
      whether fclose returns an error, since the pages might still be on the
      buffer chain while the file is open.  */
 
-#if USE_CPPLIB
   finish_parse ();
-#else
-  fclose (finput);
-#endif
+
   if (ferror (asm_out_file) != 0 || fclose (asm_out_file) != 0)
     fatal_io_error (asm_file_name);