diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 91cefd5c700..5407fdd1239 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-09-11 Joseph Myers + + * lib/compat.exp, gcc.dg/compat/struct-layout-1.exp, + g++.dg/compat/struct-layout-1.exp: Use .exe extension for compat + test executables. + * gcc.dg/compat/struct-layout-1_generate.c, + g++.dg/compat/struct-layout-1_generate.c: Convert backslash to + slash in srcdir for dg-options string. + 2008-09-11 Joseph Myers * gcc.target/i386/sse5-haddX.c, gcc.target/i386/sse5-hsubX.c: diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp index cd58e7302a2..b928e563960 100644 --- a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp +++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp @@ -121,7 +121,7 @@ if [info exists ALT_CXX_UNDER_TEST] then { } set tstobjdir "$tmpdir/g++.dg-struct-layout-1" -set generator "$tmpdir/g++.dg-struct-layout-1_generate" +set generator "$tmpdir/g++.dg-struct-layout-1_generate.exe" set generator_src "$srcdir/$subdir/struct-layout-1_generate.c" set generator_src "$generator_src $srcdir/$subdir/../../gcc.dg/compat/generate-random.c" diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c index e6f4cb969ed..8535022b7fc 100644 --- a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c +++ b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c @@ -495,6 +495,7 @@ static struct entry *hash_table[HASH_SIZE]; static int idx, limidx, output_one, short_enums; static const char *destdir; static const char *srcdir; +static const char *srcdir_safe; FILE *outfile; void @@ -532,7 +533,7 @@ switchfiles (int fields) exit (1); } for (i = 0; i < NDG_OPTIONS; i++) - fprintf (outfile, dg_options[i], "", srcdir); + fprintf (outfile, dg_options[i], "", srcdir_safe); fprintf (outfile, "\n\ #include \"struct-layout-1.h\"\n\ \n\ @@ -558,7 +559,7 @@ int main (void)\n\ if (outfile == NULL) goto fail; for (i = 0; i < NDG_OPTIONS; i++) - fprintf (outfile, dg_options[i], "-w ", srcdir); + fprintf (outfile, dg_options[i], "-w ", srcdir_safe); fprintf (outfile, "\n\ #include \"struct-layout-1_x1.h\"\n\ #include \"t%03d_test.h\"\n\ @@ -570,7 +571,7 @@ int main (void)\n\ if (outfile == NULL) goto fail; for (i = 0; i < NDG_OPTIONS; i++) - fprintf (outfile, dg_options[i], "-w ", srcdir); + fprintf (outfile, dg_options[i], "-w ", srcdir_safe); fprintf (outfile, "\n\ #include \"struct-layout-1_y1.h\"\n\ #include \"t%03d_test.h\"\n\ @@ -1589,6 +1590,22 @@ Either -s srcdir -d destdir or -i idx must be used\n", argv[0]); if (srcdir == NULL && !output_one) goto usage; + if (srcdir != NULL) + { + const char *s = srcdir; + char *ss, *t; + t = ss = malloc (strlen (srcdir) + 1); + if (!ss) + abort (); + do { + if (*s == '\\') + *t++ = '/'; + else + *t++ = *s; + } while (*s++); + srcdir_safe = ss; + } + for (i = 0; i < NTYPES2; ++i) if (base_types[i].bitfld) bitfld_types[n_bitfld_types++] = base_types[i]; diff --git a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp index 992b62cdc09..e003d9c80b9 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp +++ b/gcc/testsuite/gcc.dg/compat/struct-layout-1.exp @@ -83,7 +83,7 @@ if { $compat_have_dfp == 0 } { } set tstobjdir "$tmpdir/gcc.dg-struct-layout-1" -set generator "$tmpdir/gcc.dg-struct-layout-1_generate" +set generator "$tmpdir/gcc.dg-struct-layout-1_generate.exe" set generator_src "$srcdir/$subdir/struct-layout-1_generate.c" set generator_src "$generator_src $srcdir/$subdir/generate-random.c" diff --git a/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c index f6a217e6f56..097ef5053a8 100644 --- a/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c +++ b/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c @@ -739,6 +739,7 @@ static struct entry *hash_table[HASH_SIZE]; static int idx, limidx, output_one, short_enums; static const char *destdir; static const char *srcdir; +static const char *srcdir_safe; FILE *outfile; void @@ -795,7 +796,7 @@ int main (void)\n\ abort ();\n\ }\n\ exit (0);\n\ -}\n", srcdir, srcdir, srcdir, filecnt, filecnt); +}\n", srcdir_safe, srcdir_safe, srcdir_safe, filecnt, filecnt); fclose (outfile); sprintf (destptr, "t%03d_x.c", filecnt); outfile = fopen (destbuf, "w"); @@ -808,7 +809,7 @@ int main (void)\n\ #include \"struct-layout-1_x1.h\"\n\ #include \"t%03d_test.h\"\n\ #include \"struct-layout-1_x2.h\"\n\ -#include \"t%03d_test.h\"\n", srcdir, srcdir, srcdir, filecnt, filecnt); +#include \"t%03d_test.h\"\n", srcdir_safe, srcdir_safe, srcdir_safe, filecnt, filecnt); fclose (outfile); sprintf (destptr, "t%03d_y.c", filecnt); outfile = fopen (destbuf, "w"); @@ -821,7 +822,7 @@ int main (void)\n\ #include \"struct-layout-1_y1.h\"\n\ #include \"t%03d_test.h\"\n\ #include \"struct-layout-1_y2.h\"\n\ -#include \"t%03d_test.h\"\n", srcdir, srcdir, srcdir, filecnt, filecnt); +#include \"t%03d_test.h\"\n", srcdir_safe, srcdir_safe, srcdir_safe, filecnt, filecnt); fclose (outfile); sprintf (destptr, "t%03d_test.h", filecnt); outfile = fopen (destbuf, "w"); @@ -2000,6 +2001,22 @@ Either -s srcdir -d destdir or -i idx must be used\n", argv[0]); if (srcdir == NULL && !output_one) goto usage; + if (srcdir != NULL) + { + const char *s = srcdir; + char *ss, *t; + t = ss = malloc (strlen (srcdir) + 1); + if (!ss) + abort (); + do { + if (*s == '\\') + *t++ = '/'; + else + *t++ = *s; + } while (*s++); + srcdir_safe = ss; + } + for (i = 0; i < NTYPES2; ++i) if (base_types[i].bitfld) bitfld_types[n_bitfld_types++] = base_types[i]; diff --git a/gcc/testsuite/lib/compat.exp b/gcc/testsuite/lib/compat.exp index e1af1b039e6..4e7d022643b 100644 --- a/gcc/testsuite/lib/compat.exp +++ b/gcc/testsuite/lib/compat.exp @@ -339,10 +339,10 @@ proc compat-execute { src1 sid use_alt } { # There's a unique name for each executable we generate, based on # the set of options and how the pieces of the tests are compiled. - set execname1 "${execbase}-${count}1" - set execname2 "${execbase}-${count}2" - set execname3 "${execbase}-${count}3" - set execname4 "${execbase}-${count}4" + set execname1 "${execbase}-${count}1.exe" + set execname2 "${execbase}-${count}2.exe" + set execname3 "${execbase}-${count}3.exe" + set execname4 "${execbase}-${count}4.exe" incr count file_on_host delete $execname1