This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ALL TARGETS] final patch for PR 25241


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]