diff mbox series

[openacc] Fix infinite recursion in OMP clause pretty-printing, default label

Message ID 702b2a15-1cd3-7cb9-ad1b-18fb7517a65b@codesourcery.com
State New
Headers show
Series [openacc] Fix infinite recursion in OMP clause pretty-printing, default label | expand

Commit Message

Cesar Philippidis Sept. 20, 2018, 5:08 p.m. UTC
Apparently, Tom ran into an ICE when we were adding support for new
clauses back in the gomp-4_0-branch days.  This patch shouldn't be
necessary because all of the clauses are fully implemented now, but
it may prevent similar bugs from occurring in the future at least
during development.

Is this patch OK for trunk? I bootstrapped and regtested it for x86_64
Linux with nvptx offloading.

Thanks,
Cesar

Comments

Julian Brown Nov. 29, 2018, 9:20 p.m. UTC | #1
On Thu, 20 Sep 2018 10:08:51 -0700
Cesar Philippidis <cesar@codesourcery.com> wrote:

> Apparently, Tom ran into an ICE when we were adding support for new
> clauses back in the gomp-4_0-branch days.  This patch shouldn't be
> necessary because all of the clauses are fully implemented now, but
> it may prevent similar bugs from occurring in the future at least
> during development.
> 
> Is this patch OK for trunk? I bootstrapped and regtested it for x86_64
> Linux with nvptx offloading.

Joseph, could you take a look at this please?

Thanks,

Julian
Joseph Myers Nov. 29, 2018, 9:25 p.m. UTC | #2
On Thu, 29 Nov 2018, Julian Brown wrote:

> On Thu, 20 Sep 2018 10:08:51 -0700
> Cesar Philippidis <cesar@codesourcery.com> wrote:
> 
> > Apparently, Tom ran into an ICE when we were adding support for new
> > clauses back in the gomp-4_0-branch days.  This patch shouldn't be
> > necessary because all of the clauses are fully implemented now, but
> > it may prevent similar bugs from occurring in the future at least
> > during development.
> > 
> > Is this patch OK for trunk? I bootstrapped and regtested it for x86_64
> > Linux with nvptx offloading.
> 
> Joseph, could you take a look at this please?

Lots of other places in the same function use gcc_unreachable ().  I think 
using gcc_unreachable () here as well would be more appropriate than 
special-casing this one place in this function to use "unknown".
Julian Brown Nov. 30, 2018, 9:35 p.m. UTC | #3
On Thu, 29 Nov 2018 21:25:33 +0000
Joseph Myers <joseph@codesourcery.com> wrote:

> On Thu, 29 Nov 2018, Julian Brown wrote:
> 
> > On Thu, 20 Sep 2018 10:08:51 -0700
> > Cesar Philippidis <cesar@codesourcery.com> wrote:
> >   
> > > Apparently, Tom ran into an ICE when we were adding support for
> > > new clauses back in the gomp-4_0-branch days.  This patch
> > > shouldn't be necessary because all of the clauses are fully
> > > implemented now, but it may prevent similar bugs from occurring
> > > in the future at least during development.
> > > 
> > > Is this patch OK for trunk? I bootstrapped and regtested it for
> > > x86_64 Linux with nvptx offloading.  
> > 
> > Joseph, could you take a look at this please?  
> 
> Lots of other places in the same function use gcc_unreachable ().  I
> think using gcc_unreachable () here as well would be more appropriate
> than special-casing this one place in this function to use "unknown".

How's this? (Obvious, but re-tested anyway.)

Thanks,

Julian

ChangeLog

    gcc/
    * tree-pretty-print.c (dump_omp_clause): Make default case
    gcc_unreachable.
diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 99eca4a..0861cc9 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -1180,9 +1180,7 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags)
       break;
 
     default:
-      /* Should never happen.  */
-      dump_generic_node (pp, clause, spc, flags, false);
-      break;
+      gcc_unreachable ();
     }
 }
Jakub Jelinek Nov. 30, 2018, 9:40 p.m. UTC | #4
On Fri, Nov 30, 2018 at 09:35:45PM +0000, Julian Brown wrote:
> How's this? (Obvious, but re-tested anyway.)
> 
> Thanks,
> 
> Julian
> 
> ChangeLog
> 
>     gcc/
>     * tree-pretty-print.c (dump_omp_clause): Make default case
>     gcc_unreachable.

Ok, thanks.

> diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
> index 99eca4a..0861cc9 100644
> --- a/gcc/tree-pretty-print.c
> +++ b/gcc/tree-pretty-print.c
> @@ -1180,9 +1180,7 @@ dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags)
>        break;
>  
>      default:
> -      /* Should never happen.  */
> -      dump_generic_node (pp, clause, spc, flags, false);
> -      break;
> +      gcc_unreachable ();
>      }
>  }
>  


	Jakub
Joseph Myers Nov. 30, 2018, 9:56 p.m. UTC | #5
On Fri, 30 Nov 2018, Julian Brown wrote:

> ChangeLog
> 
>     gcc/
>     * tree-pretty-print.c (dump_omp_clause): Make default case
>     gcc_unreachable.

OK.
diff mbox series

Patch

Fix infinite recursion in OMP clause pretty-printing, default label

Apparently, Tom ran into an ICE when we were adding support for new
clauses back in the gomp-4_0-branch days.  This patch shouldn't be
necessary because all of the clauses are fully implemented now, but
it may prevent similar bugs from occuring in the future at least
during development.

2018-XX-YY  Tom de Vries  <tdevries@suse.de>
            Cesar Philippidis  <cesar@codesourcery.com>

	gcc/
	* tree-pretty-print.c (dump_omp_clause): Fix infinite recursion in
	default label.

(cherry picked from gomp-4_0-branch r228915, 2e4d930)
---
 gcc/tree-pretty-print.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gcc/tree-pretty-print.c b/gcc/tree-pretty-print.c
index 2c089b11751..031afbb49e4 100644
--- a/gcc/tree-pretty-print.c
+++ b/gcc/tree-pretty-print.c
@@ -1063,8 +1063,7 @@  dump_omp_clause (pretty_printer *pp, tree clause, int spc, dump_flags_t flags)
       break;
 
     default:
-      /* Should never happen.  */
-      dump_generic_node (pp, clause, spc, flags, false);
+      pp_string (pp, "unknown");
       break;
     }
 }
-- 
2.17.1