public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/43985]  New: ICE when assumed size cray-pointee passed as argument
@ 2010-05-04 17:58 langton at gcc dot gnu dot org
  2010-05-04 19:58 ` [Bug fortran/43985] [regresion 4.5/4.6] " kargl at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: langton at gcc dot gnu dot org @ 2010-05-04 17:58 UTC (permalink / raw)
  To: gcc-bugs

The recent fix for PR fortran/43331 introduced a regression for programs that
use OpenMP and pass assumed-size cray-pointees as function arguments.  Here is
an example:

         subroutine bob()
         implicit none
         real(8) peted
         pointer (ipeted, peted(*))
         integer(4) sz
!$omp parallel default(shared)

         call pete(peted(sz))

!$omp end parallel
         return
         end subroutine bob


When compiled with svn revision >= 157512, this generates an ICE:

% gfortran -fcray-pointer -fopenmp -c bug1.f90
bug1.f90: In function 'bob':
bug1.f90:9:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

My guess is that this is a result of 'peted' have the AS_ASSUMED_SIZE attribute
instead of AS_EXPLICIT in trans-decl.c


-- 
           Summary: ICE when assumed size cray-pointee passed as argument
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: langton at gcc dot gnu dot org
        ReportedBy: langton at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [regresion 4.5/4.6] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
@ 2010-05-04 19:58 ` kargl at gcc dot gnu dot org
  2010-05-04 20:00 ` [Bug fortran/43985] [4.5/4.6 Regression] " kargl at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: kargl at gcc dot gnu dot org @ 2010-05-04 19:58 UTC (permalink / raw)
  To: gcc-bugs



-- 

kargl at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.5.1 4.6.0
      Known to work|                            |4.3.5 4.4.5
   Last reconfirmed|0000-00-00 00:00:00         |2010-05-04 19:58:35
               date|                            |
            Summary|ICE when assumed size cray- |[regresion 4.5/4.6] ICE when
                   |pointee passed as argument  |assumed size cray-pointee
                   |                            |passed as argument


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
  2010-05-04 19:58 ` [Bug fortran/43985] [regresion 4.5/4.6] " kargl at gcc dot gnu dot org
@ 2010-05-04 20:00 ` kargl at gcc dot gnu dot org
  2010-05-04 21:40 ` burnus at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: kargl at gcc dot gnu dot org @ 2010-05-04 20:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from kargl at gcc dot gnu dot org  2010-05-04 20:00 -------
Whoops regresion with ss in the summary line.


-- 

kargl at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[regresion 4.5/4.6] ICE when|[4.5/4.6 Regression] ICE
                   |assumed size cray-pointee   |when assumed size cray-
                   |passed as argument          |pointee passed as argument


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
  2010-05-04 19:58 ` [Bug fortran/43985] [regresion 4.5/4.6] " kargl at gcc dot gnu dot org
  2010-05-04 20:00 ` [Bug fortran/43985] [4.5/4.6 Regression] " kargl at gcc dot gnu dot org
@ 2010-05-04 21:40 ` burnus at gcc dot gnu dot org
  2010-05-04 22:09 ` burnus at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-04 21:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from burnus at gcc dot gnu dot org  2010-05-04 21:39 -------
==2733== Invalid read of size 2
==2733==    at 0x70EEBE: omp_add_variable (gimplify.c:5448)
==2733==    by 0x70F3A0: omp_notice_variable (gimplify.c:5558)
==2733==    by 0x70F67B: gimplify_var_or_parm_decl (gimplify.c:1833)
==2733==    by 0x7119D4: gimplify_expr (gimplify.c:6950)

Dump (with additionally initializing the data via
         ipeted = malloc(5*8)
         sz = 3

bob ()
{
  integer(kind=8) ipeted;
  real(kind=8)[0:] * peted [value-expr: (real(kind=8)[0:] *) ipeted];
  integer(kind=4) sz;

  {
    static integer(kind=8) C.1539 = 40;

    ipeted = _gfortran_malloc (&C.1539);
  }
  sz = 3;
  #pragma omp parallel default(shared)
    {
      {
        pete (&(*peted)[(integer(kind=8)) sz + -1]);
      }
    }
  goto __return_bob;
  __return_bob:;
}


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code, openmp


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2010-05-04 21:40 ` burnus at gcc dot gnu dot org
@ 2010-05-04 22:09 ` burnus at gcc dot gnu dot org
  2010-05-05 11:53 ` burnus at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-04 22:09 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from burnus at gcc dot gnu dot org  2010-05-04 22:08 -------
Lightly tested patch:

--- a/gcc/fortran/trans-types.c
+++ b/gcc/fortran/trans-types.c
@@ -1793,6 +1804,9 @@ gfc_sym_type (gfc_symbol * sym)
                                                restricted);
              byref = 0;
            }
+
+         if (sym->attr.cray_pointee)
+           GFC_POINTER_TYPE_P (type) = 1;
         }
       else
        {
@@ -1808,7 +1822,7 @@ gfc_sym_type (gfc_symbol * sym)
     {
       if (sym->attr.allocatable || sym->attr.pointer)
        type = gfc_build_pointer_type (sym, type);
-      if (sym->attr.pointer)
+      if (sym->attr.pointer || sym->attr.cray_pointee)
        GFC_POINTER_TYPE_P (type) = 1;
     }



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2010-05-04 22:09 ` burnus at gcc dot gnu dot org
@ 2010-05-05 11:53 ` burnus at gcc dot gnu dot org
  2010-05-05 22:11 ` burnus at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-05 11:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from burnus at gcc dot gnu dot org  2010-05-05 11:53 -------
(In reply to comment #3)
> Lightly tested patch:

And works. Thus submitted:
http://gcc.gnu.org/ml/gcc-patches/2010-05/msg00275.html


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|langton at gcc dot gnu dot  |burnus at gcc dot gnu dot
                   |org                         |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-05-04 19:58:35         |2010-05-05 11:53:45
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2010-05-05 11:53 ` burnus at gcc dot gnu dot org
@ 2010-05-05 22:11 ` burnus at gcc dot gnu dot org
  2010-05-06  9:26 ` burnus at gcc dot gnu dot org
  2010-05-06  9:27 ` burnus at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-05 22:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from burnus at gcc dot gnu dot org  2010-05-05 22:11 -------
Subject: Bug 43985

Author: burnus
Date: Wed May  5 22:11:14 2010
New Revision: 159086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159086
Log:
2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * trans-types.c (gfc_sym_type): Mark Cray pointees as
        GFC_POINTER_TYPE_P.

2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * gfortran.dg/gomp/crayptr5.f90: New test case.


Added:
    trunk/gcc/testsuite/gfortran.dg/gomp/crayptr5.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/trans-types.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2010-05-05 22:11 ` burnus at gcc dot gnu dot org
@ 2010-05-06  9:26 ` burnus at gcc dot gnu dot org
  2010-05-06  9:27 ` burnus at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-06  9:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from burnus at gcc dot gnu dot org  2010-05-06 09:26 -------
Subject: Bug 43985

Author: burnus
Date: Thu May  6 09:26:16 2010
New Revision: 159101

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159101
Log:
2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * trans-types.c (gfc_sym_type): Mark Cray pointees as
        GFC_POINTER_TYPE_P.

2010-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/43985
        * gfortran.dg/gomp/crayptr5.f90: New test case.


Added:
    branches/gcc-4_5-branch/gcc/testsuite/gfortran.dg/gomp/crayptr5.f90
Modified:
    branches/gcc-4_5-branch/gcc/fortran/ChangeLog
    branches/gcc-4_5-branch/gcc/fortran/trans-types.c
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

* [Bug fortran/43985] [4.5/4.6 Regression] ICE when assumed size cray-pointee passed as argument
  2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2010-05-06  9:26 ` burnus at gcc dot gnu dot org
@ 2010-05-06  9:27 ` burnus at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: burnus at gcc dot gnu dot org @ 2010-05-06  9:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from burnus at gcc dot gnu dot org  2010-05-06 09:27 -------
FIXED on the 4.6 trunk and the 4.5 branch.

Thanks for the report!


-- 

burnus at gcc dot gnu dot org changed:

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


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43985


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

end of thread, other threads:[~2010-05-06  9:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-04 17:58 [Bug fortran/43985] New: ICE when assumed size cray-pointee passed as argument langton at gcc dot gnu dot org
2010-05-04 19:58 ` [Bug fortran/43985] [regresion 4.5/4.6] " kargl at gcc dot gnu dot org
2010-05-04 20:00 ` [Bug fortran/43985] [4.5/4.6 Regression] " kargl at gcc dot gnu dot org
2010-05-04 21:40 ` burnus at gcc dot gnu dot org
2010-05-04 22:09 ` burnus at gcc dot gnu dot org
2010-05-05 11:53 ` burnus at gcc dot gnu dot org
2010-05-05 22:11 ` burnus at gcc dot gnu dot org
2010-05-06  9:26 ` burnus at gcc dot gnu dot org
2010-05-06  9:27 ` burnus at gcc dot gnu dot 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).