summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/genattr.c18
-rw-r--r--gcc/gencheck.c8
-rw-r--r--gcc/gencodes.c16
-rw-r--r--gcc/genconfig.c14
-rw-r--r--gcc/genflags.c14
-rw-r--r--gcc/gengenrtl.c13
7 files changed, 63 insertions, 26 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c63faee3329..5453873b1da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2001-04-02 Zack Weinberg <zackw@stanford.edu>
+
+ * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
+ gengenrtl.c: Wrap generated header in multiple-include guard.
+ Improve error checking.
+
2001-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in: Don't check for putenv.
diff --git a/gcc/genattr.c b/gcc/genattr.c
index bb7ccbf7c59..4fff3a100f8 100644
--- a/gcc/genattr.c
+++ b/gcc/genattr.c
@@ -213,14 +213,16 @@ main (argc, argv)
if (init_md_reader (argv[1]) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
- printf ("/* Generated automatically by the program `genattr'\n\
-from the machine description file `md'. */\n\n");
+ puts ("/* Generated automatically by the program `genattr'");
+ puts (" from the machine description file `md'. */\n");
+ puts ("#ifndef GCC_INSN_ATTR_H");
+ puts ("#define GCC_INSN_ATTR_H\n");
/* For compatibility, define the attribute `alternative', which is just
a reference to the variable `which_alternative'. */
- printf ("#define HAVE_ATTR_alternative\n");
- printf ("#define get_attr_alternative(insn) which_alternative\n");
+ puts ("#define HAVE_ATTR_alternative");
+ puts ("#define get_attr_alternative(insn) which_alternative");
/* Read the machine description. */
@@ -359,8 +361,12 @@ from the machine description file `md'. */\n\n");
printf("#define ATTR_FLAG_unlikely\t0x10\n");
printf("#define ATTR_FLAG_very_unlikely\t0x20\n");
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+ puts("\n#endif /* GCC_INSN_ATTR_H */");
+
+ if (ferror (stdout) || fflush (stdout) || fclose (stdout))
+ return FATAL_EXIT_CODE;
+
+ return SUCCESS_EXIT_CODE;
}
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
diff --git a/gcc/gencheck.c b/gcc/gencheck.c
index bfd8c366d66..c55048aa6f8 100644
--- a/gcc/gencheck.c
+++ b/gcc/gencheck.c
@@ -35,7 +35,7 @@ static void usage PARAMS ((void));
static void
usage ()
{
- fprintf (stderr,"Usage: gencheck\n");
+ fputs ("Usage: gencheck\n", stderr);
}
extern int main PARAMS ((int, char **));
@@ -57,13 +57,17 @@ main (argc, argv)
return (1);
}
- printf ("/* This file is generated using gencheck. Do not edit. */\n");
+ puts ("/* This file is generated using gencheck. Do not edit. */\n");
+ puts ("#ifndef GCC_TREE_CHECK_H");
+ puts ("#define GCC_TREE_CHECK_H\n");
+
for (i = 0; tree_codes[i]; i++)
{
printf ("#define %s_CHECK(t)\tTREE_CHECK (t, %s)\n",
tree_codes[i], tree_codes[i]);
}
+ puts ("\n#endif /* GCC_TREE_CHECK_H */");
return 0;
}
diff --git a/gcc/gencodes.c b/gcc/gencodes.c
index 3e14f39b8db..7e4f9644263 100644
--- a/gcc/gencodes.c
+++ b/gcc/gencodes.c
@@ -88,10 +88,10 @@ main (argc, argv)
if (init_md_reader (argv[1]) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
- printf ("/* Generated automatically by the program `gencodes'\n\
-from the machine description file `md'. */\n\n");
-
- printf ("#ifndef MAX_INSN_CODE\n\n");
+ puts ("/* Generated automatically by the program `gencodes'");
+ puts (" from the machine description file `md'. */\n");
+ puts ("#ifndef GCC_INSN_CODES_H");
+ puts ("#define GCC_INSN_CODES_H\n");
/* Read the machine description. */
@@ -118,10 +118,12 @@ from the machine description file `md'. */\n\n");
output_predicate_decls ();
- printf ("\n#endif /* MAX_INSN_CODE */\n");
+ puts("\n#endif /* GCC_INSN_CODES_H */");
+
+ if (ferror (stdout) || fflush (stdout) || fclose (stdout))
+ return FATAL_EXIT_CODE;
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+ return SUCCESS_EXIT_CODE;
}
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
diff --git a/gcc/genconfig.c b/gcc/genconfig.c
index 01bbd817e09..bd61827d163 100644
--- a/gcc/genconfig.c
+++ b/gcc/genconfig.c
@@ -280,8 +280,10 @@ main (argc, argv)
if (init_md_reader (argv[1]) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
- printf ("/* Generated automatically by the program `genconfig'\n\
-from the machine description file `md'. */\n\n");
+ puts ("/* Generated automatically by the program `genconfig'");
+ puts (" from the machine description file `md'. */\n");
+ puts ("#ifndef GCC_INSN_CONFIG_H");
+ puts ("#define GCC_INSN_CONFIG_H\n");
/* Allow at least 10 operands for the sake of asm constructs. */
max_recog_operands = 9; /* We will add 1 later. */
@@ -356,8 +358,12 @@ from the machine description file `md'. */\n\n");
printf ("#define MAX_INSNS_PER_PEEP2 %d\n", max_insns_per_peep2);
}
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+ puts("\n#endif /* GCC_INSN_CONFIG_H */");
+
+ if (ferror (stdout) || fflush (stdout) || fclose (stdout))
+ return FATAL_EXIT_CODE;
+
+ return SUCCESS_EXIT_CODE;
}
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
diff --git a/gcc/genflags.c b/gcc/genflags.c
index 73e8bc7475e..0ff0377d6a5 100644
--- a/gcc/genflags.c
+++ b/gcc/genflags.c
@@ -233,8 +233,10 @@ main (argc, argv)
if (init_md_reader (argv[1]) != SUCCESS_EXIT_CODE)
return (FATAL_EXIT_CODE);
- printf ("/* Generated automatically by the program `genflags'\n\
-from the machine description file `md'. */\n\n");
+ puts ("/* Generated automatically by the program `genflags'");
+ puts (" from the machine description file `md'. */\n");
+ puts ("#ifndef GCC_INSN_FLAGS_H");
+ puts ("#define GCC_INSN_FLAGS_H\n");
/* Read the machine description. */
@@ -258,8 +260,12 @@ from the machine description file `md'. */\n\n");
for (insn_ptr = insns; *insn_ptr; insn_ptr++)
gen_proto (*insn_ptr);
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+ puts("\n#endif /* GCC_INSN_FLAGS_H */");
+
+ if (ferror (stdout) || fflush (stdout) || fclose (stdout))
+ return FATAL_EXIT_CODE;
+
+ return SUCCESS_EXIT_CODE;
}
/* Define this so we can link with print-rtl.o to get debug_rtx function. */
diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c
index d656b4aca3c..21f46df1461 100644
--- a/gcc/gengenrtl.c
+++ b/gcc/gengenrtl.c
@@ -351,7 +351,10 @@ genheader ()
{
int i;
const char **fmt;
-
+
+ puts ("#ifndef GCC_GENRTL_H");
+ puts ("#define GCC_GENRTL_H\n");
+
for (fmt = formats; *fmt; ++fmt)
gendecl (*fmt);
@@ -360,6 +363,8 @@ genheader ()
for (i = 0; i < NUM_RTX_CODE; i++)
if (! special_format (defs[i].format))
genmacro (i);
+
+ puts ("\n#endif /* GCC_GENRTL_H */");
}
/* Generate the text of the code file we write, genrtl.c. */
@@ -420,6 +425,8 @@ main (argc, argv)
else
gencode ();
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+ if (ferror (stdout) || fflush (stdout) || fclose (stdout))
+ return FATAL_EXIT_CODE;
+
+ return SUCCESS_EXIT_CODE;
}