On Tue, May 3, 2022 at 10:16 AM Thomas Schwinge <tho...@codesourcery.com> wrote:
>
> Hi Richard!
>
> On 2022-05-03T09:17:52+0200, Richard Biener <richard.guent...@gmail.com> 
> wrote:
> > On Mon, May 2, 2022 at 4:01 PM Thomas Schwinge <tho...@codesourcery.com> 
> > wrote:
> >> On 2022-05-01T11:02:29+0100, Iain Sandoe via Gcc <g...@gcc.gnu.org> wrote:
> >> >> On 29 Apr 2022, at 15:34, Jakub Jelinek via Gcc <g...@gcc.gnu.org> 
> >> >> wrote:
> >> >>
> >> >> The first release candidate for GCC 12.1 is available from
> >> >>
> >> >> https://gcc.gnu.org/pub/gcc/snapshots/12.1.0-RC-20220429/
> >> >> ftp://gcc.gnu.org/pub/gcc/snapshots/12.1.0-RC-20220429/
> >> >>
> >> >> and shortly its mirrors.  It has been generated from git commit
> >> >> r12-8321-g621650f64fb667.
> >>
> >> > [...] new fails (presumably because checking is off):
> >>
> >> > XPASS: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++98 
> >> > (internal compiler error)
> >> > FAIL: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++98 
> >> > (test for excess errors)
> >> > XPASS: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++14 
> >> > (internal compiler error)
> >> > FAIL: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++14 
> >> > (test for excess errors)
> >> > XPASS: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++17 
> >> > (internal compiler error)
> >> > FAIL: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++17 
> >> > (test for excess errors)
> >> > XPASS: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++20 
> >> > (internal compiler error)
> >> > FAIL: c-c++-common/goacc/kernels-decompose-pr100400-1-2.c  -std=c++20 
> >> > (test for excess errors)
> >>
> >> Confirmed, and sorry.  I had taken care to add explicit '-fchecking'
> >> next to 'dg-ice', but that's in fact not the problem/cure here.
> >> OK to push to the relevant branches the attached
> >> "Make 'c-c++-common/goacc/kernels-decompose-pr100400-1-*.c' behave
> >> consistently, regardless of checking level"?
> >
> > No,
> >
> > +++ b/gcc/omp-oacc-kernels-decompose.cc
> > @@ -239,7 +239,13 @@ visit_loops_in_gang_single_region
> > (gimple_stmt_iterator *gsi_p,
> >      case GIMPLE_OMP_FOR:
> >        /*TODO Given the current 'adjust_region_code' algorithm, this is
> >         actually...  */
> > +#if 0
> >        gcc_unreachable ();
> > +#else
> > +      /* ..., but due to bugs (PR100400), we may actually come here.
> > +        Reliably catch this, regardless of checking level.  */
> > +      abort ();
> > +#endif
> >
> > this doesn't look correct.  If you want a reliable diagnostic here please 
> > use
> > sorry ("...") or call internal_error () manually (the IL verifiers do this).
>
> Hmm, I feel I'm going in circles...  ;-)
>
> Here, 'sorry' isn't appropriate, because this is a plain bug, and not
> "a language feature which is required by the relevant specification but
> not implemented by GCC" ('gcc/diagnostic.cc').
>
> I first had this as 'internal_error', but then saw the following source
> code comment, 'gcc/diagnostic.cc':
>
>     /* An internal consistency check has failed.  We make no attempt to
>        continue.  Note that unless there is debugging value to be had from
>        a more specific message, or some other good reason, you should use
>        abort () instead of calling this function directly.  */
>     void
>     internal_error (const char *gmsgid, ...)
>     {
>
> Here, there's no "debugging value to be had from a more specific
> message", and I couldn't think of "some other good reason", so decided to
> "use abort () instead of calling this function directly".

I think that is misguided.

> But, if that's what we want, I'm happy to again switch to
> 'internal_error', and then we should update this source code comment,
> too?
>
>
> > That said, having a testcase that checks for an ICE as a TODO is maybe not
> > the very best thing to have.  We have bugzilla for unfixed bugs.
>
> As per the past 'dg-ice' discussions, there's certainly value seen for
> having such test cases (and it already did help me during development,
> elsewhere).
>
> I do agree/acknowledge that it's a bit more difficult to make those
> behave consistently across GCC configurations.

So maybe do

   internal_error ("PRnnnn");

then?

>
> Grüße
>  Thomas
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
> München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
> Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
> München, HRB 106955

Reply via email to