public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/24705]  New: ICE on asterisk char-len-param-value on result
@ 2005-11-07 13:09 jakub at gcc dot gnu dot org
  2005-11-07 13:25 ` [Bug fortran/24705] ICE on assumed length charactor result pinskia at gcc dot gnu dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-11-07 13:09 UTC (permalink / raw)
  To: gcc-bugs

character (6) :: c
  c = f1 ()
  if (c .ne. 'abcdef') call abort
contains
  function f1 ()
    character (*) :: f1
    f1 = 'abcdef'
  end function f1
end

causes ICE, while it should be diagnosed as error.


-- 
           Summary: ICE on asterisk char-len-param-value on result
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org


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


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

* [Bug fortran/24705] ICE on assumed length charactor result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
@ 2005-11-07 13:25 ` pinskia at gcc dot gnu dot org
  2005-11-10 15:54 ` [Bug fortran/24705] ICE on assumed length character result paul dot richard dot thomas at cea dot fr
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-11-07 13:25 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2005-11-07 13:25 -------
Confirmed.

Blocks PR 15809 because a related testcase is referenced in comment #13.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
OtherBugsDependingO|                            |15809
              nThis|                            |
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-11-07 13:25:23
               date|                            |


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
  2005-11-07 13:25 ` [Bug fortran/24705] ICE on assumed length charactor result pinskia at gcc dot gnu dot org
@ 2005-11-10 15:54 ` paul dot richard dot thomas at cea dot fr
  2005-11-21 16:06 ` pault at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: paul dot richard dot thomas at cea dot fr @ 2005-11-10 15:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from paul dot richard dot thomas at cea dot fr  2005-11-10 15:54 -------
The following patch fixes this PR.  Please note that it has yet to be regtested
but I do not see any problems with it.  I do not thank that PR15809 has
anything to do with this one.

Index: gcc/gcc/fortran/resolve.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/fortran/resolve.c,v
retrieving revision 1.63
diff -c -p -r1.63 resolve.c
*** gcc/gcc/fortran/resolve.c   24 Oct 2005 19:28:17 -0000      1.63
--- gcc/gcc/fortran/resolve.c   10 Nov 2005 15:48:51 -0000
*************** resolve_contained_fntype (gfc_symbol * s
*** 294,299 ****
--- 294,307 ----
          sym->attr.untyped = 1;
        }
      }
+
+   if (sym->ts.type == BT_CHARACTER)
+     {
+       gfc_charlen *cl = sym->ts.cl;
+       if (!cl || !cl->length)
+         gfc_error ("Character-valued internal function '%s' at %L must "
+                    "not be automatic length", sym->name, &sym->declared_at);
+     }
  }


-- 


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
  2005-11-07 13:25 ` [Bug fortran/24705] ICE on assumed length charactor result pinskia at gcc dot gnu dot org
  2005-11-10 15:54 ` [Bug fortran/24705] ICE on assumed length character result paul dot richard dot thomas at cea dot fr
@ 2005-11-21 16:06 ` pault at gcc dot gnu dot org
  2005-11-21 20:03 ` pault at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pault at gcc dot gnu dot org @ 2005-11-21 16:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pault at gcc dot gnu dot org  2005-11-21 16:06 -------
Subject: Bug 24705

Author: pault
Date: Mon Nov 21 16:05:58 2005
New Revision: 107310

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107310
Log:
2005-11-21  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24223
        * resolve.c (resolve_contained_fntype) Error if an internal
        function is assumed character length.

        PR fortran/24705
        * trans-decl.c (gfc_create_module_variable) Skip ICE in
        when backend decl has been built and the symbol is marked
        as being in an equivalence statement.

2005-11-21  Paul Thomas  <pault@gcc.gnu.org

        PR fortran/24223
        * gfortran.dg/substring_equivalence.f90: New test.

        PR fortran/24705
        * gfortran.dg/auto_internal_assumed.f90: New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90   (with props)
    trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90   (with props)
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/testsuite/ChangeLog

Added: trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90?root=gcc&view=auto&rev=107310
==============================================================================
--- trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90 Mon Nov 21
16:05:58 2005
@@ -1,0 +1,13 @@
+! { dg-do compile }
+! Test fix of PR24705 - ICE on assumed character length
+! internal function.
+!
+character (6) :: c
+  c = f1 ()        ! { dg-error "must not be assumed length" }
+  if (c .ne. 'abcdef') call abort
+contains
+  function f1 ()
+    character (*) :: f1
+    f1 = 'abcdef'
+  end function f1
+end

Propchange: trunk/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90
            ('svn:executable' added)

Added: trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90
URL:
http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90?root=gcc&view=auto&rev=107310
==============================================================================
--- trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90 (added)
+++ trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90 Mon Nov 21
16:05:58 2005
@@ -1,0 +1,8 @@
+! { dg-do compile }
+! Tests fix for PR24223 - ICE on equivalence staement.
+!
+module FLAGS
+  character(len=5) :: Encodings
+  character :: at, dev
+  equivalence ( encodings(1:1),at ), ( encodings(2:2),dev)
+end module FLAGS

Propchange: trunk/gcc/testsuite/gfortran.dg/substring_equivalence.f90
            ('svn:executable' added)


-- 


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-11-21 16:06 ` pault at gcc dot gnu dot org
@ 2005-11-21 20:03 ` pault at gcc dot gnu dot org
  2005-11-28 22:36 ` eedelman at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pault at gcc dot gnu dot org @ 2005-11-21 20:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pault at gcc dot gnu dot org  2005-11-21 20:03 -------
Subject: Bug 24705

Author: pault
Date: Mon Nov 21 20:02:54 2005
New Revision: 107320

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107320
Log:
2005-11-21  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24223
        * resolve.c (resolve_contained_fntype) Error if an internal
        function is assumed character length.

        PR fortran/24705
        * trans-decl.c (gfc_create_module_variable) Skip ICE in
        when backend decl has been built and the symbol is marked
        as being in an equivalence statement.

2005-11-21  Paul Thomas  <pault@gcc.gnu.org

        PR fortran/24223
        * gfortran.dg/substring_equivalence.f90: New test.

        PR fortran/24705
        * gfortran.dg/auto_internal_assumed.f90: New test.

Added:
    branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90
    branches/gcc-4_0-branch/gcc/testsuite/gfortran.dg/substring_equivalence.f90
Modified:
    branches/gcc-4_0-branch/gcc/fortran/ChangeLog
    branches/gcc-4_0-branch/gcc/fortran/resolve.c
    branches/gcc-4_0-branch/gcc/fortran/trans-decl.c
    branches/gcc-4_0-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-11-21 20:03 ` pault at gcc dot gnu dot org
@ 2005-11-28 22:36 ` eedelman at gcc dot gnu dot org
  2005-11-30 19:26 ` pault at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: eedelman at gcc dot gnu dot org @ 2005-11-28 22:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from eedelman at gcc dot gnu dot org  2005-11-28 22:36 -------
*** Bug 25081 has been marked as a duplicate of this bug. ***


-- 

eedelman at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jv244 at cam dot ac dot uk


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-11-28 22:36 ` eedelman at gcc dot gnu dot org
@ 2005-11-30 19:26 ` pault at gcc dot gnu dot org
  2005-11-30 19:36 ` pault at gcc dot gnu dot org
  2005-12-12 20:11 ` pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: pault at gcc dot gnu dot org @ 2005-11-30 19:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pault at gcc dot gnu dot org  2005-11-30 19:26 -------
Subject: Bug 24705

Author: pault
Date: Wed Nov 30 19:26:23 2005
New Revision: 107732

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107732
Log:
2005-11-30  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/24223
        * resolve.c (resolve_contained_fntype) Error if an internal
        function is assumed character length.

        PR fortran/24705
        * trans-decl.c (gfc_create_module_variable) Skip ICE in
        when backend decl has been built and the symbol is marked
        as being in an equivalence statement.

2005-11-30  Paul Thomas  <pault@gcc.gnu.org

        PR fortran/24223
        * gfortran.dg/substring_equivalence.f90: New test.

        PR fortran/24705
        * gfortran.dg/auto_internal_assumed.f90: New test.

Added:
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/auto_internal_assumed.f90
    branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/substring_equivalence.f90
Modified:
    branches/gcc-4_1-branch/gcc/fortran/ChangeLog
    branches/gcc-4_1-branch/gcc/fortran/resolve.c
    branches/gcc-4_1-branch/gcc/fortran/trans-decl.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2005-11-30 19:26 ` pault at gcc dot gnu dot org
@ 2005-11-30 19:36 ` pault at gcc dot gnu dot org
  2005-12-12 20:11 ` pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: pault at gcc dot gnu dot org @ 2005-11-30 19:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pault at gcc dot gnu dot org  2005-11-30 19:36 -------
fixed in all 4.x


-- 

pault at gcc dot gnu dot org changed:

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


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


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

* [Bug fortran/24705] ICE on assumed length character result
  2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2005-11-30 19:36 ` pault at gcc dot gnu dot org
@ 2005-12-12 20:11 ` pinskia at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-12-12 20:11 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.0.3


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


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

end of thread, other threads:[~2005-12-12 20:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-07 13:09 [Bug fortran/24705] New: ICE on asterisk char-len-param-value on result jakub at gcc dot gnu dot org
2005-11-07 13:25 ` [Bug fortran/24705] ICE on assumed length charactor result pinskia at gcc dot gnu dot org
2005-11-10 15:54 ` [Bug fortran/24705] ICE on assumed length character result paul dot richard dot thomas at cea dot fr
2005-11-21 16:06 ` pault at gcc dot gnu dot org
2005-11-21 20:03 ` pault at gcc dot gnu dot org
2005-11-28 22:36 ` eedelman at gcc dot gnu dot org
2005-11-30 19:26 ` pault at gcc dot gnu dot org
2005-11-30 19:36 ` pault at gcc dot gnu dot org
2005-12-12 20:11 ` pinskia 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).