[patch,openacc] 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 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 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 Cesar Philippidis 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
Re: [patch,openacc] Fix infinite recursion in OMP clause pretty-printing, default label
On Thu, 20 Sep 2018 10:08:51 -0700 Cesar Philippidis 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
Re: [patch,openacc] Fix infinite recursion in OMP clause pretty-printing, default label
On Thu, 29 Nov 2018, Julian Brown wrote: > On Thu, 20 Sep 2018 10:08:51 -0700 > Cesar Philippidis 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". -- Joseph S. Myers jos...@codesourcery.com
Re: [patch,openacc] Fix infinite recursion in OMP clause pretty-printing, default label
On Thu, 29 Nov 2018 21:25:33 + Joseph Myers wrote: > On Thu, 29 Nov 2018, Julian Brown wrote: > > > On Thu, 20 Sep 2018 10:08:51 -0700 > > Cesar Philippidis 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 (); } }
Re: [patch,openacc] Fix infinite recursion in OMP clause pretty-printing, default label
On Fri, Nov 30, 2018 at 09:35:45PM +, 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
Re: [patch,openacc] Fix infinite recursion in OMP clause pretty-printing, default label
On Fri, 30 Nov 2018, Julian Brown wrote: > ChangeLog > > gcc/ > * tree-pretty-print.c (dump_omp_clause): Make default case > gcc_unreachable. OK. -- Joseph S. Myers jos...@codesourcery.com