From 0313e85b82d26887adb3cdab1dd8ce0a135135a3 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Mon, 2 Apr 2001 16:29:32 +0000 Subject: [PATCH] genattr.c, [...]: Wrap generated header in multiple-include guard. * genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c, gengenrtl.c: Wrap generated header in multiple-include guard. Improve error checking. From-SVN: r41006 --- gcc/ChangeLog | 6 ++++++ gcc/genattr.c | 18 ++++++++++++------ gcc/gencheck.c | 8 ++++++-- gcc/gencodes.c | 16 +++++++++------- gcc/genconfig.c | 14 ++++++++++---- gcc/genflags.c | 14 ++++++++++---- gcc/gengenrtl.c | 13 ++++++++++--- 7 files changed, 63 insertions(+), 26 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c63faee..5453873 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-04-02 Zack Weinberg + + * 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 * configure.in: Don't check for putenv. diff --git a/gcc/genattr.c b/gcc/genattr.c index bb7ccbf..4fff3a1 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 bfd8c36..c55048a 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 3e14f39..7e4f964 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 01bbd81..bd61827 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 73e8bc7..0ff0377 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 d656b4a..21f46df 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; } -- 2.7.4