public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
@ 2005-06-02 10:32 P dot Schaffnit at access dot rwth-aachen dot de
  2005-06-02 11:41 ` [Bug fortran/21877] " fxcoudert at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: P dot Schaffnit at access dot rwth-aachen dot de @ 2005-06-02 10:32 UTC (permalink / raw)
  To: gcc-bugs

Hi!

Well... I've spoted a problem for a couple of weeks now, but I don't seem to be 
able to make a "nice" case from it... I'm sorry I do not know anything about 
compiler developpement, and I try to keep a safe distance from C... So, here are 
the original sources (minus a lot of thinks which were not necessary)...

I hope it makes sense to someone...

Philippe

PS: I can also send the files as a tarball, I just don't know how to...

--------------------------------------------------------------------------------
PPS: my version:
GNU Fortran 95 (GCC 4.1.0 20050517 (experimental))
Copyright (C) 2005 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING


--------------------------------------------------------------------------------
PPPS: the error message I get:

MODULE_IO.f90:0: internal compiler error: in lhd_set_decl_assembler_name, at 
langhooks.c:165
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
MODULE_SPRACHE.f90: In function ???ctn_error_interception???:
MODULE_SPRACHE.f90:120: internal compiler error: in gfc_conv_variable, at 
fortran/trans-expr.c:350
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


--------------------------------------------------------------------------------
PPPPS: how to get it:
rm -f *.o *.mod
./gfortran -g -pedantic-errors -Wall -c MODULE_IO.f90
./gfortran -g -pedantic-errors -Wall -c MODULE_SPRACHE.f90


--------------------------------------------------------------------------------
PPPPPS: first file: "MODULE_IO.f90":
!======================================================================!
! **********************************************************************
! *                                                                    *
! *                         M O D U L E _ I O                          *
! *                                                                    *
! **********************************************************************
!======================================================================!
!
! Object:
! ======
! Generic subroutines for input/output.
!
!
!======================================================================!
! USER-defines and Parameters
!======================================================================!
!
!
      MODULE MODULE_IO
!
!
! Modules
! =======
!       USE MODULE_DIMENSION, ONLY: Length_File_Name
      INTEGER, PARAMETER                     ::   Length_File_Name = 250
!
!
!
! Integer
! =======
      INTEGER, PARAMETER                     ::   Screen     = 01
!
!
! Character
! =========
      CHARACTER ( LEN = Input_String_Length )::   bufferString
!
!
! Interface for outAusgabe
! ========================
!
      INTERFACE
          SUBROUTINE outAusgabe ( Output, String, Boolean, Intg,       &
     &                                             Single, Double, Fmt )
!               USE MODULE_DIMENSION, ONLY: Sng, Dbl
              LOGICAL, OPTIONAL, INTENT ( IN )              ::   Boolean
              INTEGER, INTENT ( IN )                        ::   Output
              INTEGER, OPTIONAL, INTENT ( IN )              ::   Intg
              REAL ( KIND = 4 ), OPTIONAL, INTENT ( IN )  ::   Single
              REAL ( KIND = 8 ), OPTIONAL, INTENT ( IN )  ::   Double
              CHARACTER ( LEN = * ), OPTIONAL, INTENT(IN)   ::   String
              CHARACTER ( LEN = * ), OPTIONAL, INTENT(IN)   ::   Fmt
          END SUBROUTINE outAusgabe
      END INTERFACE
!
!
! Generic interface for Ausgabe
! =============================
!
      INTERFACE Ausgabe
!
          MODULE PROCEDURE outString
!
      END INTERFACE Ausgabe
!
!
! Subroutines for generic interface for Eingabe
! =============================================
!
      CONTAINS
!
!
! Subroutines for generic interface for Ausgabe
! =============================================
!
          SUBROUTINE outString ( Unit, String, Fmt )
!               USE MODULE_DIMENSION, ONLY: Sng, Dbl
              IMPLICIT NONE
              INTEGER, INTENT ( IN )                        ::   Unit
              CHARACTER ( LEN = * ), INTENT ( IN )          ::   String
              CHARACTER ( LEN = * ), OPTIONAL, INTENT ( IN )::   Fmt
              IF ( PRESENT ( Fmt ) ) THEN
                  CALL outAusgabe ( Output = Unit, String = String,    &
     &                                                       Fmt = Fmt )
              ELSE
                  CALL outAusgabe ( Output = Unit, String = String )
              ENDIF
          END SUBROUTINE outString
!
!
!======================================================================!
!     End: Module MODULE_IO
!======================================================================!
!
      END MODULE MODULE_IO
!


--------------------------------------------------------------------------------
PPPPPS: first file: "MODULE_SPRACHE.f90":
!======================================================================!
! **********************************************************************
! *                                                                    *
! *                    M O D U L E  _ S P R A C H E                    *
! *                                                                    *
! **********************************************************************
!======================================================================!
! Zweck:
! ======
! Fortran90 Module for language settings
!
! Verwaltung:
! ===========
! Angelegt am      05.12.00 Philippe Schaffnit
! Last changes
! 09.02.01   PS    Changes related to V2.2
! 20.01.05   PS    'Message' functions here
!
!======================================================================!
!  Variables-documentation
!======================================================================!
!
! Unit is the number of the unit affected to the messages file
! Path_* is the path to this file (without extension) starting from
!  the directory specified by the user at the beginning of simulation.
!
!======================================================================!
! Declarations
!======================================================================!
!
!
      MODULE MODULE_SPRACHE
!
!
! Modules
! =======
!       USE MODULE_DIMENSION, ONLY: Length_File_Name, Length_Message
      USE MODULE_IO
      INTEGER, PARAMETER                     ::   Length_Message = 250
!
!
! Character
! =========
!
      CHARACTER ( LEN = * ), PARAMETER       ::   New_message =        &
     &                                                      "----------"
!
!
!======================================================================!
! "Message functions"
!======================================================================!
!
      CONTAINS
!
!
!======================================================================!
! "Read_Message"
!======================================================================!
!
          FUNCTION Read_Message ( Name, Unit, Message, Line )
!
             USE MODULE_IO
             IMPLICIT NONE
             LOGICAL                         ::   Unit_Connected
             INTEGER, INTENT ( IN )          ::   Unit, Message, Line
             INTEGER                         ::   IO_Stat, Number, k
             CHARACTER ( LEN =Length_Message)::   Read_Message
             CHARACTER ( LEN = * ),INTENT(IN)::   Name
             CHARACTER ( LEN =Length_Message)::   Text
!
!            Check if file is connected
!            --------------------------
             INQUIRE ( UNIT = Unit, OPENED = Unit_Connected )
             IF ( .NOT. Unit_Connected )                               &
     &           CALL CTN_Error_Interception
!
!            Rewind file
!            -----------
             REWIND ( Unit )
!
!            Find message
!            ------------
             DO
                 READ ( Unit, "(A)", IOSTAT = IO_Stat ) Text
                 IF ( IO_Stat .NE. 0 )                                 &
     &               CALL CTN_Error_Interception
                 IF ( Text(1:10) .EQ. New_message ) THEN
                     READ ( UNIT = Unit, FMT = *, IOSTAT = IO_Stat )   &
     &                                                            Number
                     IF ( IO_Stat .NE. 0 )                             &
     &                   CALL CTN_Error_Interception
                     IF ( Number .EQ. Message )                        &
     &                   EXIT
                 ENDIF
             ENDDO
!
!            Read line
!            ---------
             DO k = 1, Line
                 READ ( Unit, "(A)", IOSTAT = IO_Stat ) Text
                 IF ( IO_Stat .NE. 0 )                                 &
     &               CALL CTN_Error_Interception
                 IF ( Text(1:10) .EQ. New_message )                    &
     &               CALL CTN_Error_Interception
             ENDDO
!
!            Output
!            ------
             Read_Message = Text
!
!            Error interception
!            ------------------
             CONTAINS
             SUBROUTINE CTN_Error_Interception
!
                 Text = " ERROR IN ROUTINE " // TRIM(Name) // "!"
                 CALL Ausgabe ( Screen, TRIM(Text) // "!", "(/A)" )
                 WRITE ( Text, "(A,I5,A,I3)" ) " MESSAGE NOT FOUND:",  &
     &                                               Message, " -", Line
                 CALL Ausgabe ( Screen, TRIM(Text), "(A/)" )
                 Read_Message = Text
                 RETURN
!
             END SUBROUTINE CTN_Error_Interception
!
          END FUNCTION Read_Message
!
!
!======================================================================!
!      End: Module MODULE_SPRACHE
!======================================================================!
!
      END MODULE MODULE_SPRACHE
!

-- 
           Summary: internal compiler error: in lhd_set_decl_assembler_name,
                    at langhooks.c:165
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: P dot Schaffnit at access dot rwth-aachen dot de
                CC: gcc-bugs at gcc dot gnu dot org


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
  2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
@ 2005-06-02 11:41 ` fxcoudert at gcc dot gnu dot org
  2005-06-02 11:51 ` P dot Schaffnit at access dot rwth-aachen dot de
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-06-02 11:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-06-02 11:41 -------
Thanks for reporting! Here is a reduction of your bug (gfortran-20050602 on
i386-linux):

$ cat a-stripped.f90 
      module foo
      character(len=l) :: s
      contains
      end module foo
$ gfortran a-stripped.f90 
a-stripped.f90:0: internal compiler error: in lhd_set_decl_assembler_name, at
langhooks.c:165

The internal compiler error is a bug in gfortran. Meanwhile, I don't understand
how your code (file module_io) is supposed to work: bufferString is declared as
      CHARACTER ( LEN = Input_String_Length )::   bufferString
but Input_String_Length is not declared!

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-invalid-code
   Last reconfirmed|0000-00-00 00:00:00         |2005-06-02 11:41:45
               date|                            |


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
  2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
  2005-06-02 11:41 ` [Bug fortran/21877] " fxcoudert at gcc dot gnu dot org
@ 2005-06-02 11:51 ` P dot Schaffnit at access dot rwth-aachen dot de
  2005-06-02 13:21 ` fxcoudert at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: P dot Schaffnit at access dot rwth-aachen dot de @ 2005-06-02 11:51 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From P dot Schaffnit at access dot rwth-aachen dot de  2005-06-02 11:51 -------
Subject: Re:  internal compiler error:
 inlhd_set_decl_assembler_name, at langhooks.c:165


Hi!

Erm... I just removed as much as possible to avoid having too much code
(from 1173 to 230 lines), but I just tried to avoid syntax errors and
stuff like that, I didn't even attempt to still have something
meaningful... "Input_String_Length" should actually be imported from
(yet) another module: I didn't mean to leave it unitialised: would it
change something? (for the record I think it's set to 250).

The whole thing is definitly  a bit tortured, but this can happen when
some code has been growing a lot organically... 

Thanks!

Philippe

fxcoudert at gcc dot gnu dot org wrote:
> 
> ------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-06-02 11:41 -------
> Thanks for reporting! Here is a reduction of your bug (gfortran-20050602 on
> i386-linux):
> 
> $ cat a-stripped.f90
>       module foo
>       character(len=l) :: s
>       contains
>       end module foo
> $ gfortran a-stripped.f90
> a-stripped.f90:0: internal compiler error: in lhd_set_decl_assembler_name, at
> langhooks.c:165
> 
> The internal compiler error is a bug in gfortran. Meanwhile, I don't understand
> how your code (file module_io) is supposed to work: bufferString is declared as
>       CHARACTER ( LEN = Input_String_Length )::   bufferString
> but Input_String_Length is not declared!
> 
> --
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|UNCONFIRMED                 |NEW
>      Ever Confirmed|                            |1
>            Keywords|                            |ice-on-invalid-code
>    Last reconfirmed|0000-00-00 00:00:00         |2005-06-02 11:41:45
>                date|                            |
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21877
> 
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.



-- 


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
  2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
  2005-06-02 11:41 ` [Bug fortran/21877] " fxcoudert at gcc dot gnu dot org
  2005-06-02 11:51 ` P dot Schaffnit at access dot rwth-aachen dot de
@ 2005-06-02 13:21 ` fxcoudert at gcc dot gnu dot org
  2005-06-06 10:20 ` fxcoudert at gcc dot gnu dot org
  2005-06-06 10:21 ` fxcoudert at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-06-02 13:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-06-02 13:21 -------
I think you are seeing two different errors: one with your full code, and one
with your reduced testcase. Perhaps the best thing would be for you to send me
(via private mail) your code so that I can reduce it to the spot the original bug.

-- 


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
  2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
                   ` (2 preceding siblings ...)
  2005-06-02 13:21 ` fxcoudert at gcc dot gnu dot org
@ 2005-06-06 10:20 ` fxcoudert at gcc dot gnu dot org
  2005-06-06 10:21 ` fxcoudert at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-06-06 10:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-06-06 10:20 -------
Philippe sent me his code. Proper reduction showed that his initial bug is PR
17911. I leave this PR open for the following bug:

$ cat a-stripped.f90 
      module foo
      character(len=l) :: s
      contains
      end module foo
$ gfortran a-stripped.f90 
a-stripped.f90:0: internal compiler error: in lhd_set_decl_assembler_name, at
langhooks.c:165

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2005-06-02 11:41:45         |2005-06-06 10:20:28
               date|                            |


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
  2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
                   ` (3 preceding siblings ...)
  2005-06-06 10:20 ` fxcoudert at gcc dot gnu dot org
@ 2005-06-06 10:21 ` fxcoudert at gcc dot gnu dot org
  4 siblings, 0 replies; 7+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2005-06-06 10:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-06-06 10:21 -------
I messed up comment #4: the PR for the original bug is PR 19546.

-- 


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


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

* [Bug fortran/21877] internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165
       [not found] <bug-21877-10601@http.gcc.gnu.org/bugzilla/>
@ 2006-04-17 15:35 ` pault at gcc dot gnu dot org
  0 siblings, 0 replies; 7+ messages in thread
From: pault at gcc dot gnu dot org @ 2006-04-17 15:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pault at gcc dot gnu dot org  2006-04-17 15:35 -------
This one now gives:
Error: 's' at (1) must have constant character length in this context
on trunk and 4.1

Fixed - thanks, Philippe!

Paul


-- 

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=21877


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

end of thread, other threads:[~2006-04-17 15:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-02 10:32 [Bug fortran/21877] New: internal compiler error: in lhd_set_decl_assembler_name, at langhooks.c:165 P dot Schaffnit at access dot rwth-aachen dot de
2005-06-02 11:41 ` [Bug fortran/21877] " fxcoudert at gcc dot gnu dot org
2005-06-02 11:51 ` P dot Schaffnit at access dot rwth-aachen dot de
2005-06-02 13:21 ` fxcoudert at gcc dot gnu dot org
2005-06-06 10:20 ` fxcoudert at gcc dot gnu dot org
2005-06-06 10:21 ` fxcoudert at gcc dot gnu dot org
     [not found] <bug-21877-10601@http.gcc.gnu.org/bugzilla/>
2006-04-17 15:35 ` pault 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).