[RFC gomp] Fix PR c++/25874

Diego Novillo dnovillo@redhat.com
Tue Apr 18 12:46:00 GMT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jakub Jelinek wrote:
> Hi!
> 
> Before PR26651 fix, expand_omp freed {,post} dominators and cleaned up cfg
> after handling every omp region.  That doesn't work any longer and have been
> removed in Richard's patch.  But, if we have inlined function with parallel
> regions in it, expand_omp_parallel just makes the sub-graph unreachable
> and because we don't clean the cfg up afterwards, subsequent
> calculate_dominance_info ICEs because it is not prepared to handle bb's
> unreachable from ENTRY.  The following patch seemed to work for me on
> x86_64-linux, but I'm not sure if that's the best (and safest) fix.
> 
Odd that Richard didn't run into problems, this is exactly why I had
been forced to do cleanup the CFG after expanding.


> 	PR c++/25874
> 	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
> 	post dominators and cleanup cfg before returning.
> 
> 	* gcc.dg/gomp/pr25874.c: Add dg-options.
> 	* g++.dg/gomp/pr25874.C: Add dg-options.
> 
Unless Richard has a specific reason why this shouldn't be needed, it's OK.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFERN+nUTa2oAUaiwQRAgCvAKCL6UY8w+QHh1g9VjISPnWDQ2FU3QCdGq93
I3GCAG2BNS3PLQthAerutwM=
=Nxt/
-----END PGP SIGNATURE-----



More information about the Gcc-patches mailing list