diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2003-06-15 13:36:07 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2003-06-15 09:36:07 -0400 |
commit | cbdb4ba2dcf013c9ee4b1f28182596ab9ae135c5 (patch) | |
tree | 8dc04abc6c35d920aca6b99fee3c42ba914df9c8 | |
parent | 9d5b9daeb91118c0b3b9f8fbce2f074917d292bc (diff) | |
download | gcc-cbdb4ba2dcf013c9ee4b1f28182596ab9ae135c5.zip gcc-cbdb4ba2dcf013c9ee4b1f28182596ab9ae135c5.tar.gz gcc-cbdb4ba2dcf013c9ee4b1f28182596ab9ae135c5.tar.bz2 |
* gencheck.c (main): Avoid generating duplicate macros.
From-SVN: r67974
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/gencheck.c | 14 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74fad5b..79f01d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -15,6 +15,8 @@ 2003-06-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * gencheck.c (main): Avoid generating duplicate macros. + * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of knowing names of language subdirectories. diff --git a/gcc/gencheck.c b/gcc/gencheck.c index fd037bd..aedd496 100644 --- a/gcc/gencheck.c +++ b/gcc/gencheck.c @@ -44,7 +44,7 @@ usage (void) int main (int argc, char **argv ATTRIBUTE_UNUSED) { - int i; + int i, j; switch (argc) { @@ -60,10 +60,18 @@ main (int argc, char **argv ATTRIBUTE_UNUSED) puts ("#ifndef GCC_TREE_CHECK_H"); puts ("#define GCC_TREE_CHECK_H\n"); + /* Print macros for checks based on each of the tree code names. However, + since we include the tree nodes from all languages, we must check + for duplicate names to avoid defining the same macro twice. */ for (i = 0; tree_codes[i]; i++) { - printf ("#define %s_CHECK(t)\tTREE_CHECK (t, %s)\n", - tree_codes[i], tree_codes[i]); + for (j = 0; j < i; j++) + if (strcmp (tree_codes[i], tree_codes[j]) == 0) + break; + + if (i == j) + printf ("#define %s_CHECK(t)\tTREE_CHECK (t, %s)\n", + tree_codes[i], tree_codes[i]); } puts ("\n#endif /* GCC_TREE_CHECK_H */"); |