Use STDIO_PROTO for prototypes with FILE.
authorRichard Kenner <kenner@gcc.gnu.org>
Sat, 27 Mar 1993 00:20:31 +0000 (19:20 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sat, 27 Mar 1993 00:20:31 +0000 (19:20 -0500)
From-SVN: r3888

gcc/c-tree.h
gcc/output.h

index 7600dd2e62c323e388f66e805b20c4d15497899b..030785134e435c78ef93b8939d14c8e6b1f3afb1 100644 (file)
@@ -19,9 +19,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #ifndef _C_TREE_H
 #define _C_TREE_H
-#if 0 /* I fear this may cause failures on some systems,
-        so I turned off the few prototypes that needed it -- rms. */
-#include <stdio.h>
+
+#ifndef STDIO_PROTO
+#ifdef BUFSIZ
+#define STDIO_PROTO(ARGS) PROTO(ARGS)
+#else
+#define STDIO_PROTO(ARGS) ()
+#endif
 #endif
 
 /* Language-dependent contents of an identifier.  */
@@ -168,10 +172,7 @@ extern void constant_expression_warning            PROTO((tree));
 extern void overflow_warning                   PROTO((tree));
 extern void unsigned_conversion_warning                PROTO((tree, tree));
 /* Read the rest of the current #-directive line.  */
-#if 0
-extern char *get_directive_line                 PROTO((FILE *));
-#endif
-extern char *get_directive_line ();
+extern char *get_directive_line                 STDIO_PROTO((FILE *));
 /* Subroutine of build_binary_op, used for comparison operations.
    See if the operands have both been converted from subword integer types
    and, if so, perhaps change them both back to their original type.  */
@@ -277,9 +278,8 @@ extern void pop_c_function_context              PROTO((void));
 extern void pop_label_level                     PROTO((void));
 extern tree poplevel                            PROTO((int, int, int));
 extern void print_lang_decl                     PROTO((void));
-#if 0
-extern void print_lang_identifier               PROTO((FILE *, tree, int));
-#endif
+extern void print_lang_identifier               STDIO_PROTO((FILE *, tree,
+                                                            int));
 extern void print_lang_type                     PROTO((void));
 extern void push_c_function_context             PROTO((void));
 extern void push_label_level                    PROTO((void));
index 15e910631f821008f6aa632d21302e0cd053e4e7..7e5d03e74b0abb07401bb9aa318f0b696ea79e01 100644 (file)
@@ -18,6 +18,14 @@ 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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+#ifndef STDIO_PROTO
+#ifdef BUFSIZ
+#define STDIO_PROTO(ARGS) PROTO(ARGS)
+#else
+#define STDIO_PROTO(ARGS) ()
+#endif
+#endif
+
 /* Output a string of assembler code, substituting insn operands.
    Defined in final.c.  */
 extern void output_asm_insn PROTO((char *, rtx *));
@@ -26,15 +34,13 @@ extern void output_asm_insn PROTO((char *, rtx *));
    and fixed syntactic prefixes.  */
 extern void asm_fprintf ();
 
-#ifdef FILE
 /* Print an integer constant expression in assembler syntax.
    Addition and subtraction are the only arithmetic
    that may appear in these expressions.  */
-extern void output_addr_const PROTO((FILE *, rtx));
+extern void output_addr_const STDIO_PROTO((FILE *, rtx));
 
 /* Output a name (as found inside a symbol_ref) in assembler syntax.  */
-extern void assemble_name PROTO((FILE *, char *));
-#endif
+extern void assemble_name STDIO_PROTO((FILE *, char *));
 
 /* Replace a SUBREG with a REG or a MEM, based on the thing it is a
    subreg of.  */
@@ -160,6 +166,6 @@ extern int sdb_begin_function_line;
 
 /* File in which assembler code is being written.  */
 
-#ifdef BUFSIZ  /* The hope is that any kind of stdio.h must define BUFSIZ.  */
+#ifdef BUFSIZ
 extern FILE *asm_out_file;
 #endif