[PATCH] Temporary workaround for openmp.c miscompilation

Steve Kargl sgk@troutmask.apl.washington.edu
Thu Feb 16 18:03:00 GMT 2006


On Thu, Feb 16, 2006 at 09:35:53AM -0500, Jakub Jelinek wrote:
> Here is a workaround (the compiler is probably not yet smart enough to
> figure out code->op will be never EXEC_NOP and by adding case 0:
> that is not optimized out the problem goes away).
> Do you think I should apply this temporarily and revert when
> PR middle-end/26316 is fixed?
> 
> 2006-02-16  Jakub Jelinek  <jakub@redhat.com>
> 
> 	* openmp.c (resolve_omp_clauses): Add a dummy case label to workaround
> 	PR middle-end/26316.
> 
> --- gcc/fortran/openmp.c.jj	2006-02-16 08:22:59.000000000 +0100
> +++ gcc/fortran/openmp.c	2006-02-16 15:30:25.000000000 +0100
> @@ -865,6 +865,10 @@ resolve_omp_clauses (gfc_code *code)
>  				 : list == OMP_LIST_MULT ? "IOR" : "IEOR",
>  				 n->sym->name, &code->loc);
>  		    break;
> +		  /* Workaround for PR middle-end/26316, nothing really needs
> +		     to be done here for OMP_LIST_PRIVATE.  */
> +		  case OMP_LIST_PRIVATE:
> +		    gcc_assert (code->op != EXEC_NOP);
>  		  default:
>  		    break;
>  		  }
> 

This fixes the failures on amd64-*-freebsd.  I think it is
OK to commit; otherwise, we'll be closing numerous duplicate
bug reports until PR 26316 is fixed properly.

-- 
Steve



More information about the Gcc-patches mailing list