This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ALL TARGETS] final patch for PR 25241
- From: Mike Stump <mrs at apple dot com>
- To: Manuel López-Ibáñez <lopezibanez at gmail dot com>
- Cc: gcc-patches List <gcc-patches at gcc dot gnu dot org>, Janis Johnson <janis187 at us dot ibm dot com>
- Date: Tue, 10 Jul 2007 12:03:34 -0700
- Subject: Re: [ALL TARGETS] final patch for PR 25241
- References: <6c33472e0707100930i33860e2x93ae9626863af44b@mail.gmail.com> <6c33472e0707100932i37176facj531dab00961efa86@mail.gmail.com>
On Jul 10, 2007, at 9:32 AM, Manuel López-Ibáñez wrote:
These patches fix PR 25241 for the C front-end.
A little scary... I spot checked it, it all looks reasonable. Also,
it conforms to how we intended things to work (and how it used to work
in the past as I recall), which makes it good. I also used grep to
double check all the edits in the patch, they all conform to what's in
the shell script, though, these struck me as funny:
-/* { dg-error "error: unterminated comment" }
+/* { dg-error "unterminated comment" }
-signed long _Decimal64 *x107; /* { dg-error "error" "signed long
_Decimal64" } \*/
-signed long _Decimal128 *x107; /* { dg-error "error" "signed long
_Decimal128" } \*/
+signed long _Decimal64 *x107; /* { dg-error "" "signed long
_Decimal64" } \*/
+signed long _Decimal128 *x107; /* { dg-error "" "signed long
_Decimal128" } \*/
I found them when ensuring that all edited lines were actual dg-
commands and not just some random text that accidentally hit. The
first two are, well, weird, but ok, the last 4 I cringe at, but, these
aren't detractions from your patch.
I do wonder if there are additional edits in the testsuite directory
that are required because that driver is used, say, like:
testsuite/gcc.target/i386/991209-1.c:register char *stack_ptr __asm
("%esp"); /* { dg-warning "warning: file-scope declaration of
'stack_ptr' specifies 'register'" } */
because i386.exp does:
# Load support procs.
load_lib gcc-dg.exp
? If so, you'd need to include all the edits for the testsuite
directory. grepping around turns up:
testsuite/gcc.c-torture/compile/compile.exp:load_lib gcc-dg.exp
testsuite/gcc.c-torture/execute/ieee/ieee.exp:load_lib gcc-dg.exp
testsuite/gcc.target/.*
testsuite/lib/treelang-dg.exp:load_lib gcc-dg.exp
and the transitive closure of:
testsuite/lib/compat.exp:load_lib gcc-dg.exp
testsuite/lib/g++-dg.exp:load_lib gcc-dg.exp
testsuite/lib/gfortran-dg.exp:load_lib gcc-dg.exp
testsuite/lib/gnat-dg.exp:load_lib gcc-dg.exp
testsuite/lib/obj-c++-dg.exp:load_lib gcc-dg.exp
testsuite/lib/objc-dg.exp:load_lib gcc-dg.exp
testsuite/lib/profopt.exp:load_lib gcc-dg.exp
which I didn't track down.
I think it would be reasonably safe to just include all edits to
testsuite, even if their drivers don't yet make the distinction.
Also, the other class of things that could go wrong, is if we generate
testcases by a driver, and then this testcase hits the new framework.
I hand checked the ones that came to mind:
testsuite/g++.dg/compat/struct-layout-1_generate.c
testsuite/gcc.dg/compat/struct-layout-1_generate.c
testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c
and they are all ok.
Thanks.