#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. */
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. */
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));
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 *));
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. */
/* 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