On 6 September 2016 at 12:41, Christophe Lyon <christophe.l...@linaro.org> wrote: > On 6 September 2016 at 12:12, Jakub Jelinek <ja...@redhat.com> wrote: >> On Tue, Sep 06, 2016 at 12:07:47PM +0200, Christophe Lyon wrote: >>> On 5 September 2016 at 19:20, Jakub Jelinek <ja...@redhat.com> wrote: >>> > Hi! >>> > >>> > While it would be perhaps nice to pass explicit location_t in the target >>> > option handling code, there are hundreds of error/warning/sorry calls >>> > in lots of backends, and lots of those routines are used not just >>> > for the process_options time (i.e. command line options), but also for >>> > pragma GCC target and target option handling, so at least for the time >>> > being >>> > I think it is easier to just use UNKNOWN_LOCATION for the command line >>> > option diagnostics. >>> > >>> > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? >>> > >>> > 2016-09-05 Jakub Jelinek <ja...@redhat.com> >>> > >>> > PR middle-end/77475 >>> > * toplev.c (process_options): Temporarily set input_location >>> > to UNKNOWN_LOCATION around targetm.target_option.override () call. >>> > >>> >>> This patch caused regressions on aarch64. The following tests now fail: >>> gcc.target/aarch64/arch-diagnostics-1.c (test for errors, line 1) >>> gcc.target/aarch64/arch-diagnostics-1.c (test for excess errors) >>> gcc.target/aarch64/arch-diagnostics-2.c (test for errors, line 1) >>> gcc.target/aarch64/arch-diagnostics-2.c (test for excess errors) >>> gcc.target/aarch64/cpu-diagnostics-1.c (test for errors, line 1) >>> gcc.target/aarch64/cpu-diagnostics-1.c (test for excess errors) >>> gcc.target/aarch64/cpu-diagnostics-2.c (test for errors, line 1) >>> gcc.target/aarch64/cpu-diagnostics-2.c (test for excess errors) >>> gcc.target/aarch64/cpu-diagnostics-3.c (test for errors, line 1) >>> gcc.target/aarch64/cpu-diagnostics-3.c (test for excess errors) >>> gcc.target/aarch64/cpu-diagnostics-4.c (test for errors, line 1) >>> gcc.target/aarch64/cpu-diagnostics-4.c (test for excess errors) >> >> Those tests need adjustments, not to expect such errors on line 1, but on >> line 0. >> >> I think following untested patch should fix that: >> > Indeed it does, thanks! >
I took the liberty of committing it (r240030) on your behalf with this ChangeLog: 2016-09-07 Jakub Jelinek <ja...@redhat.com> PR middle-end/77475 * gcc.target/aarch64/arch-diagnostics-1.c: Expect error on line 0. * gcc.target/aarch64/arch-diagnostics-2.c: Likewise. * gcc.target/aarch64/cpu-diagnostics-1.c: Likewise. * gcc.target/aarch64/cpu-diagnostics-2.c: Likewise. * gcc.target/aarch64/cpu-diagnostics-3.c: Likewise. * gcc.target/aarch64/cpu-diagnostics-4.c: Likewise. Thanks, Christophe > Christophe > >> --- gcc/testsuite/gcc.target/aarch64/arch-diagnostics-1.c.jj 2012-10-23 >> 19:54:58.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/arch-diagnostics-1.c 2016-09-06 >> 12:10:32.241560531 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "unknown" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "unknown" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-options "-O2 -march=dummy" } */ >> >> void f () >> --- gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-2.c.jj 2016-05-18 >> 10:59:49.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-2.c 2016-09-06 >> 12:11:08.170110003 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "missing" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "missing" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" } { "" } } */ >> /* { dg-options "-O2 -mcpu=cortex-a53+no" } */ >> >> --- gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-1.c.jj 2016-05-18 >> 10:59:49.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-1.c 2016-09-06 >> 12:11:01.698191158 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "unknown" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "unknown" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" } { "" } } */ >> /* { dg-options "-O2 -mcpu=dummy" } */ >> >> --- gcc/testsuite/gcc.target/aarch64/arch-diagnostics-2.c.jj 2012-10-23 >> 19:54:58.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/arch-diagnostics-2.c 2016-09-06 >> 12:10:39.737466536 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "missing" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "missing" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-options "-O2 -march=+dummy" } */ >> >> void f () >> --- gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-3.c.jj 2016-05-18 >> 10:59:49.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-3.c 2016-09-06 >> 12:11:13.628041564 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "invalid feature" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "invalid feature" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" } { "" } } */ >> /* { dg-options "-O2 -mcpu=cortex-a53+dummy" } */ >> >> --- gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-4.c.jj 2016-05-18 >> 10:59:49.000000000 +0200 >> +++ gcc/testsuite/gcc.target/aarch64/cpu-diagnostics-4.c 2016-09-06 >> 12:11:18.448981111 +0200 >> @@ -1,4 +1,4 @@ >> -/* { dg-error "missing" "" {target "aarch64*-*-*" } } */ >> +/* { dg-error "missing" "" {target "aarch64*-*-*" } 0 } */ >> /* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" } { "" } } */ >> /* { dg-options "-O2 -mcpu=+dummy" } */ >> >> >> >> Jakub