public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP
@ 2015-06-23  1:23 abensonca at gmail dot com
  2015-06-23  3:26 ` [Bug fortran/66633] " abensonca at gmail dot com
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: abensonca at gmail dot com @ 2015-06-23  1:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

            Bug ID: 66633
           Summary: ICE on valid "verify_gimple failed" with OpenMP
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: abensonca at gmail dot com
  Target Milestone: ---

The following causes an ICE in gfortran 6.0.0 (r224761):

module spls
  type :: spc
   contains
     procedure :: l => spcL
  end type spc

contains
  function spl()
    class(spc), pointer :: spc_
    !$omp parallel
    write (0,*) igrt(fli)
    !$omp end parallel
  contains
    double precision function fli()
      fli=spc_%l()
    end function fli
  end function spl
  double precision function spcL(s)
    implicit none
    class(spc), intent(inout) :: s
    return
  end function spcL
end module spls


$ gfortran -v
Using built-in specs.
COLLECT_GCC=/opt/gcc-trunk/bin/gfortran
COLLECT_LTO_WRAPPER=/opt/gcc-trunk/libexec/gcc/x86_64-unknown-linux-gnu/6.0.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-trunk/configure --prefix=/opt/gcc-trunk
--enable-languages=c,c++,fortran --disable-multilib
Thread model: posix
gcc version 6.0.0 20150622 (experimental) (GCC) 


 gfortran -c tmp.F90 -o tmp.o -fopenmp
tmp.F90:11:0:

     write (0,*) igrt(fli)
^
Error: invalid argument to gimple call
&<<< error >>>.fli
D.3429 = __builtin_adjust_trampoline (&<<< error >>>.fli);
tmp.F90:11:0: internal compiler error: verify_gimple failed
0xbaf19d verify_gimple_in_seq(gimple_statement_base*)
        ../../gcc-trunk/gcc/tree-cfg.c:4790
0xab14b0 execute_function_todo
        ../../gcc-trunk/gcc/passes.c:1987
0xab1c63 execute_todo
        ../../gcc-trunk/gcc/passes.c:2042
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
@ 2015-06-23  3:26 ` abensonca at gmail dot com
  2015-06-23  9:44 ` mikael at gcc dot gnu.org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: abensonca at gmail dot com @ 2015-06-23  3:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #1 from Andrew Benson <abensonca at gmail dot com> ---
Further reduced test case:

module spls
contains
  function spl()
    !$omp parallel
    write (0,*) igrt(fli)
    !$omp end parallel
  contains
    double precision function fli()
    end function fli
  end function spl
end module spls


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
  2015-06-23  3:26 ` [Bug fortran/66633] " abensonca at gmail dot com
@ 2015-06-23  9:44 ` mikael at gcc dot gnu.org
  2015-06-24  9:30 ` [Bug fortran/66633] [5/6 regression] " mikael at gcc dot gnu.org
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mikael at gcc dot gnu.org @ 2015-06-23  9:44 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |mikael at gcc dot gnu.org

--- Comment #2 from Mikael Morin <mikael at gcc dot gnu.org> ---
Doesn't seem to be related with pr66549.
I get the same without r221586 and r224648.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
  2015-06-23  3:26 ` [Bug fortran/66633] " abensonca at gmail dot com
  2015-06-23  9:44 ` mikael at gcc dot gnu.org
@ 2015-06-24  9:30 ` mikael at gcc dot gnu.org
  2015-06-24  9:50 ` dominiq at lps dot ens.fr
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mikael at gcc dot gnu.org @ 2015-06-24  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE on valid "verify_gimple |[5/6 regression] ICE on
                   |failed" with OpenMP         |valid "verify_gimple
                   |                            |failed" with OpenMP

--- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> ---
The backtrace on the 5 branch is:

comment_1.f90:4:0:

     !$omp parallel
 ^
internal compiler error: in get_expr_operands, at tree-ssa-operands.c:910
0xb973ef get_expr_operands
        /home/mik/gcc/svn_gcc5/src/gcc/tree-ssa-operands.c:910
0xb972fb get_expr_operands
        /home/mik/gcc/svn_gcc5/src/gcc/tree-ssa-operands.c:798
0xb97806 parse_ssa_operands
        /home/mik/gcc/svn_gcc5/src/gcc/tree-ssa-operands.c:959
0xb98c77 build_ssa_operands
        /home/mik/gcc/svn_gcc5/src/gcc/tree-ssa-operands.c:974
0xb98c77 update_stmt_operands(function*, gimple_statement_base*)
        /home/mik/gcc/svn_gcc5/src/gcc/tree-ssa-operands.c:1105
0xaeb7b0 update_stmt
        /home/mik/gcc/svn_gcc5/src/gcc/gimple-ssa.h:178
0xaeb7b0 mark_def_sites
        /home/mik/gcc/svn_gcc5/src/gcc/tree-into-ssa.c:703
0xaeb7b0 mark_def_dom_walker::before_dom_children(basic_block_def*)
        /home/mik/gcc/svn_gcc5/src/gcc/tree-into-ssa.c:2300
0xf70961 dom_walker::walk(basic_block_def*)
        /home/mik/gcc/svn_gcc5/src/gcc/domwalk.c:188
0xae987a execute
        /home/mik/gcc/svn_gcc5/src/gcc/tree-into-ssa.c:2412
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


The 4.9 branch accepts the code, at least at revision r222077, which makes this
a regression.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (2 preceding siblings ...)
  2015-06-24  9:30 ` [Bug fortran/66633] [5/6 regression] " mikael at gcc dot gnu.org
@ 2015-06-24  9:50 ` dominiq at lps dot ens.fr
  2015-06-25  9:43 ` mikael at gcc dot gnu.org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: dominiq at lps dot ens.fr @ 2015-06-24  9:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-06-24
     Ever confirmed|0                           |1

--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> The 4.9 branch accepts the code, at least at revision r222077,
> which makes this a regression.

This is only true for the reduced test in comment 1. This occurred between
revisions r211105 (2014-05-31, OK) and r211652 (2014-06-13, ICE).

The original test gives an ICE starting at 4.6.4 (it does not compile without
error with 4.5).


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (3 preceding siblings ...)
  2015-06-24  9:50 ` dominiq at lps dot ens.fr
@ 2015-06-25  9:43 ` mikael at gcc dot gnu.org
  2015-06-25 14:56 ` ebotcazou at gcc dot gnu.org
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mikael at gcc dot gnu.org @ 2015-06-25  9:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu.org

--- Comment #5 from Mikael Morin <mikael at gcc dot gnu.org> ---
The regressing commit is r211308.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (4 preceding siblings ...)
  2015-06-25  9:43 ` mikael at gcc dot gnu.org
@ 2015-06-25 14:56 ` ebotcazou at gcc dot gnu.org
  2015-06-26  9:12 ` ebotcazou at gcc dot gnu.org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-06-25 14:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |ebotcazou at gcc dot gnu.org

--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Very likely a latent issue, in any case the workaround is trivial.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (5 preceding siblings ...)
  2015-06-25 14:56 ` ebotcazou at gcc dot gnu.org
@ 2015-06-26  9:12 ` ebotcazou at gcc dot gnu.org
  2015-06-26  9:16 ` ebotcazou at gcc dot gnu.org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-06-26  9:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #7 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The error mark is inserted by omp-low.c:omp_copy_decl for FRAME.1:

spl ()
{
  static real(kind=8) fli (void);
  struct FRAME.spl FRAME.1;

  __builtin_init_trampoline (&FRAME.1.fli, fli, &FRAME.1);
  #pragma omp parallel
    {
      void * D.3392;
      real(kind=8) (*<T8cb>) (void) D.3393;
      integer(kind=4) D.3387;
      struct __st_parameter_dt dt_parm.0;

      try
        {
          dt_parm.0.common.filename = &"pr66633.f90"[1]{lb: 1 sz: 1};
          dt_parm.0.common.line = 5;
          dt_parm.0.common.flags = 128;
          dt_parm.0.common.unit = 0;
          _gfortran_st_write (&dt_parm.0);
          {
            integer(kind=4) D.3386;

            try
              {
                D.3392 = __builtin_adjust_trampoline (&FRAME.1.fli);
                D.3393 = (real(kind=8) (*<T8cb>) (void)) D.3392;
                D.3387 = igrt (D.3393);
                D.3386 = D.3387;
                _gfortran_transfer_integer_write (&dt_parm.0, &D.3386, 4);
              }
            finally
              {
                D.3386 = {CLOBBER};
              }
          }
          _gfortran_st_write_done (&dt_parm.0);
        }
      finally
        {
          dt_parm.0 = {CLOBBER};
        }
    }
}

because the variable is not marked as shared.  For an equivalent C testcase:

void foo (int i)
{
  void nested (char c)
  {
    i = i + c;
  }

  void (*ptr)(char) = &nested;

  #pragma omp parallel
  {
    char a[i];
    ptr (a[0]);
  }
}

the FRAME.3 variable is marked as shared:

foo (int i)
{
  void * D.1866;
  void (*<T3d7>) (char) D.1867;
  static void nested (char);
  void (*<T3d7>) (char) ptr;
  struct FRAME.foo FRAME.3;
  int i [value-expr: FRAME.3.i];

  FRAME.3.i = i;
  __builtin_init_trampoline (&FRAME.3.nested, nested, &FRAME.3);
  D.1866 = __builtin_adjust_trampoline (&FRAME.3.nested);
  D.1867 = (void (*<T3d7>) (char)) D.1866;
  ptr = D.1867;
  #pragma omp parallel shared(FRAME.3) shared(ptr) shared(i)
    {
      int i.0;
      long int D.1841;
      long int D.1842;
      sizetype D.1843;
      sizetype D.1844;
      bitsizetype D.1845;
      bitsizetype D.1846;
      sizetype D.1847;
      sizetype D.1848;
      bitsizetype D.1849;
      bitsizetype D.1850;
      sizetype D.1851;
      char[0:D.1843] * a.1;
      char D.1853;
      int D.1854;
      void * saved_stack.2;

      {
        char a[0:D.1843] [value-expr: *a.1];

        saved_stack.2 = __builtin_stack_save ();
        try
          {
            i.0 = i;
            D.1841 = (long int) i.0;
            D.1842 = D.1841 + -1;
            D.1843 = (sizetype) D.1842;
            D.1844 = (sizetype) i.0;
            D.1845 = (bitsizetype) D.1844;
            D.1846 = D.1845 * 8;
            D.1847 = (sizetype) i.0;
            D.1848 = (sizetype) i.0;
            D.1849 = (bitsizetype) D.1848;
            D.1850 = D.1849 * 8;
            D.1851 = (sizetype) i.0;
            a.1 = __builtin_alloca_with_align (D.1851, 8);
            D.1853 = *a.1[0];
            D.1854 = (int) D.1853;
            ptr (D.1854);
          }
        finally
          {
            __builtin_stack_restore (saved_stack.2);
          }
      }
    }
}


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug fortran/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (6 preceding siblings ...)
  2015-06-26  9:12 ` ebotcazou at gcc dot gnu.org
@ 2015-06-26  9:16 ` ebotcazou at gcc dot gnu.org
  2015-06-26  9:27 ` [Bug middle-end/66633] " ebotcazou at gcc dot gnu.org
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-06-26  9:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The problem is that the FRAME variable is created too late for the GOMP
machinery in tree-nested.c to handle it.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (7 preceding siblings ...)
  2015-06-26  9:16 ` ebotcazou at gcc dot gnu.org
@ 2015-06-26  9:27 ` ebotcazou at gcc dot gnu.org
  2015-07-01  8:22 ` ebotcazou at gcc dot gnu.org
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-06-26  9:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|fortran                     |middle-end

--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Recategorizing.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (8 preceding siblings ...)
  2015-06-26  9:27 ` [Bug middle-end/66633] " ebotcazou at gcc dot gnu.org
@ 2015-07-01  8:22 ` ebotcazou at gcc dot gnu.org
  2015-07-01  8:26 ` ebotcazou at gcc dot gnu.org
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-07-01  8:22 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #10 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Author: ebotcazou
Date: Wed Jul  1 08:21:40 2015
New Revision: 225227

URL: https://gcc.gnu.org/viewcvs?rev=225227&root=gcc&view=rev
Log:
        PR middle-end/66633
        * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
        to true if the function is nested and if not optimizing.
        (convert_local_omp_clauses): Initialize need_frame to true if the
        function contains nested functions and if not optimizing.

Added:
    trunk/gcc/testsuite/gfortran.dg/gomp/pr66633.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-nested.c


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (9 preceding siblings ...)
  2015-07-01  8:22 ` ebotcazou at gcc dot gnu.org
@ 2015-07-01  8:26 ` ebotcazou at gcc dot gnu.org
  2015-07-01 19:20 ` abensonca at gmail dot com
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-07-01  8:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
                 CC|ebotcazou at gcc dot gnu.org       |
         Resolution|---                         |FIXED
   Target Milestone|---                         |5.2

--- Comment #12 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Fixed everywhere.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (10 preceding siblings ...)
  2015-07-01  8:26 ` ebotcazou at gcc dot gnu.org
@ 2015-07-01 19:20 ` abensonca at gmail dot com
  2015-07-01 20:49 ` ebotcazou at gcc dot gnu.org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: abensonca at gmail dot com @ 2015-07-01 19:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #13 from Andrew Benson <abensonca at gmail dot com> ---
(In reply to Eric Botcazou from comment #12)
> Fixed everywhere.

Thanks for the fix! Unfortunately, while this fixes some instances, it still
results in an ICE with optimization at -O1 or higher. 

Specifically:

Original test case: compiles OK with -O0; same ICE as before with -O1 or higher

Test case from comment #1: compiles OK with any optimization level.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (11 preceding siblings ...)
  2015-07-01 19:20 ` abensonca at gmail dot com
@ 2015-07-01 20:49 ` ebotcazou at gcc dot gnu.org
  2015-07-09 17:46 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-07-01 20:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |ebotcazou at gcc dot gnu.org
         Resolution|FIXED                       |---
           Assignee|ebotcazou at gcc dot gnu.org       |unassigned at gcc dot gnu.org

--- Comment #14 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Thanks for the fix! Unfortunately, while this fixes some instances, it still
> results in an ICE with optimization at -O1 or higher. 

Then I probably papered over a more fundamental issue which was preexisting.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (12 preceding siblings ...)
  2015-07-01 20:49 ` ebotcazou at gcc dot gnu.org
@ 2015-07-09 17:46 ` jakub at gcc dot gnu.org
  2015-07-09 21:14 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-07-09 17:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 35944
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35944&action=edit
gcc6-pr66633.patch

Untested fix.


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (13 preceding siblings ...)
  2015-07-09 17:46 ` jakub at gcc dot gnu.org
@ 2015-07-09 21:14 ` jakub at gcc dot gnu.org
  2015-07-10 14:13 ` jakub at gcc dot gnu.org
  2015-07-10 14:14 ` jakub at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-07-09 21:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Jul  9 21:14:11 2015
New Revision: 225638

URL: https://gcc.gnu.org/viewcvs?rev=225638&root=gcc&view=rev
Log:
        PR middle-end/66633
        * tree-nested.c (get_static_chain): Or in a flag into
        info->static_chain_added.
        (get_frame_field, get_nonlocal_debug_decl): Likewise.
        (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
        2015-07-01 changes.
        (convert_tramp_reference_stmt): If a frame_decl or chain_decl
        is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
        add it to clauses.

        * gcc.dg/gomp/pr66633-1.c: New test.
        * gcc.dg/gomp/pr66633-2.c: New test.
        * gcc.dg/gomp/pr66633-3.c: New test.
        * gcc.dg/gomp/pr66633-4.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/gomp/pr66633-1.c
    trunk/gcc/testsuite/gcc.dg/gomp/pr66633-2.c
    trunk/gcc/testsuite/gcc.dg/gomp/pr66633-3.c
    trunk/gcc/testsuite/gcc.dg/gomp/pr66633-4.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-nested.c


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (14 preceding siblings ...)
  2015-07-09 21:14 ` jakub at gcc dot gnu.org
@ 2015-07-10 14:13 ` jakub at gcc dot gnu.org
  2015-07-10 14:14 ` jakub at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-07-10 14:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Fri Jul 10 14:13:19 2015
New Revision: 225677

URL: https://gcc.gnu.org/viewcvs?rev=225677&root=gcc&view=rev
Log:
        Backported from mainline
        2015-07-09  Jakub Jelinek  <jakub@redhat.com>

        PR middle-end/66633
        * tree-nested.c (get_static_chain): Or in a flag into
        info->static_chain_added.
        (get_frame_field, get_nonlocal_debug_decl): Likewise.
        (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
        2015-07-01 changes.
        (convert_tramp_reference_stmt): If a frame_decl or chain_decl
        is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
        add it to clauses.

        * gcc.dg/gomp/pr66633-1.c: New test.
        * gcc.dg/gomp/pr66633-2.c: New test.
        * gcc.dg/gomp/pr66633-3.c: New test.
        * gcc.dg/gomp/pr66633-4.c: New test.

Added:
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/gomp/pr66633-1.c
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/gomp/pr66633-2.c
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/gomp/pr66633-3.c
    branches/gcc-5-branch/gcc/testsuite/gcc.dg/gomp/pr66633-4.c
Modified:
    branches/gcc-5-branch/gcc/ChangeLog
    branches/gcc-5-branch/gcc/testsuite/ChangeLog
    branches/gcc-5-branch/gcc/tree-nested.c


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/66633] [5/6 regression] ICE on valid "verify_gimple failed" with OpenMP
  2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
                   ` (15 preceding siblings ...)
  2015-07-10 14:13 ` jakub at gcc dot gnu.org
@ 2015-07-10 14:14 ` jakub at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-07-10 14:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66633

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2015-07-10 14:14 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-23  1:23 [Bug fortran/66633] New: ICE on valid "verify_gimple failed" with OpenMP abensonca at gmail dot com
2015-06-23  3:26 ` [Bug fortran/66633] " abensonca at gmail dot com
2015-06-23  9:44 ` mikael at gcc dot gnu.org
2015-06-24  9:30 ` [Bug fortran/66633] [5/6 regression] " mikael at gcc dot gnu.org
2015-06-24  9:50 ` dominiq at lps dot ens.fr
2015-06-25  9:43 ` mikael at gcc dot gnu.org
2015-06-25 14:56 ` ebotcazou at gcc dot gnu.org
2015-06-26  9:12 ` ebotcazou at gcc dot gnu.org
2015-06-26  9:16 ` ebotcazou at gcc dot gnu.org
2015-06-26  9:27 ` [Bug middle-end/66633] " ebotcazou at gcc dot gnu.org
2015-07-01  8:22 ` ebotcazou at gcc dot gnu.org
2015-07-01  8:26 ` ebotcazou at gcc dot gnu.org
2015-07-01 19:20 ` abensonca at gmail dot com
2015-07-01 20:49 ` ebotcazou at gcc dot gnu.org
2015-07-09 17:46 ` jakub at gcc dot gnu.org
2015-07-09 21:14 ` jakub at gcc dot gnu.org
2015-07-10 14:13 ` jakub at gcc dot gnu.org
2015-07-10 14:14 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).