Bug#631204: gfortran 4.6 ICE ; gfc_typenode_for_spec, at fortran/trans-types.c:1019
Package: gfortran
Version: 4:4.6.0-6
Severity: normal
gfortran -g -c -o ctrl_c.o ctrl_cx.f
ctrl_cx.f: In function â??set_ctrl_câ??:
ctrl_cx.f:108:0: internal compiler error: in gfc_typenode_for_spec, at fortran/trans-types.c:1019
This file compiles fine with gfortran 4.5.
File attached.
-- System Information:
Debian Release: 6.0.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: powerpc (ppc)
Kernel: Linux 2.6.18-3-powerpc
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash
Versions of packages gfortran depends on:
ii cpp 4:4.4.5-1 The GNU C preprocessor (cpp)
ii gcc 4:4.4.5-1 The GNU C compiler
ii gfortran-4.4 4.4.5-8 The GNU Fortran 95 compiler
gfortran recommends no packages.
Versions of packages gfortran suggests:
pn gfortran-doc <none> (no description available)
pn gfortran-multilib <none> (no description available)
-- no debconf information
SUBROUTINE SET_CTRL_C (CTRLC_AST)
*
*
* This software was developed by the Thermal Modeling and Analysis
* Project(TMAP) of the National Oceanographic and Atmospheric
* Administration's (NOAA) Pacific Marine Environmental Lab(PMEL),
* hereafter referred to as NOAA/PMEL/TMAP.
*
* Access and use of this software shall impose the following
* obligations and understandings on the user. The user is granted the
* right, without any fee or cost, to use, copy, modify, alter, enhance
* and distribute this software, and any derivative works thereof, and
* its supporting documentation for any purpose whatsoever, provided
* that this entire notice appears in all copies of the software,
* derivative works and supporting documentation. Further, the user
* agrees to credit NOAA/PMEL/TMAP in any publications that result from
* the use of this software or in any product that includes this
* software. The names TMAP, NOAA and/or PMEL, however, may not be used
* in any advertising or publicity to endorse or promote any products
* or commercial entity unless specific written permission is obtained
* from NOAA/PMEL/TMAP. The user also understands that NOAA/PMEL/TMAP
* is not obligated to provide the user with any support, consulting,
* training or assistance of any kind with regard to the use, operation
* and performance of this software nor to provide the user with any
* updates, revisions, new versions or "bug fixes".
*
* THIS SOFTWARE IS PROVIDED BY NOAA/PMEL/TMAP "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL NOAA/PMEL/TMAP BE LIABLE FOR ANY SPECIAL,
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
* CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
*
*
* turn on facility to trap keyboard interrupts
* the interrupt handler defined here simply sets the common variable
* "interrupted" to .TRUE.
* on VMS:
* queue a VMS "asynchronous system trap" to catch user interrupts via ^C
* note that this routine must be called again following each interrupt
* this code is based on page 8-47 of Guide to Programming on VAX/VMS (Fortran)
* on Unix:
* use routine "SIGNAL" to define the interrupt handler
* programmer - steve hankin
* NOAA/PMEL, Seattle, WA - Tropical Modeling and Analysis Program
* written for VAX computer under VMS operating system
*
* revision 0.00 - 11/27/87 SH based on QINTERRUPT from program PRNT 8/2/85
* Unix/RISC port 3/18/91
* V313 - 11/1/94 - AIX port: use "SIGNAL_" instead of "SIGNAL" and
* must reset signal handler after every use
* v4.20 - 1/30/96 - modified ifdef logic for determining call to
* signal handler. Turns out solaris also needs
* to call the signal handler each time. *kob*
* 12/96 *kob* - Linux Port - had to move variable assignments off of
* declaration line. Used DATA rather than PARAMETER
* statement because variable modified later in routine
* - put a ! in front of "D" for disabled lines
* 1/03 *kob* - g77 port - g77 needs to call SIGNAL with only two arguments
* argument: CTRLC_AST
* name of routine to be called if operator hits ^C
* (or call with argument %VAL(0) to return to normal VMS ^C processing)
* include the following lines in the routine requiring ^C interrupts:
* INCLUDE 'XINTERRUPT.CMN'
*
* IF ( interrupt ) THEN ...
EXTERNAL CTRLC_AST
LOGICAL first_call
DATA first_call/.TRUE./ !kob 12/96
* ************************ UNIX ******************************
INTEGER SIGNAL, old_handler, sigint
* (see 1 man signal or the include file < signal.h >)
PARAMETER ( sigint = 2 )
COMMON /XINTERRUPT/ interrupted
LOGICAL interrupted
*set up new defines *kob* 1/96
! "D" lines to disable disabled
!D GOTO 888
* use newly named condition tests *kob* 1/96
old_handler = SIGNAL( 2, CTRLC_AST)
!D 888 CONTINUE
* ************************ ALL SYSTEMS ************************
* system is ready - set flag to indicate no interrupt yet
INTERRUPTED = .FALSE.
first_call = .FALSE.
RETURN
END
***********************************************************
SUBROUTINE CTRLC_AST
* this routine is called when ^C is entered if AST is queued
COMMON /XINTERRUPT/ interrupted
LOGICAL interrupted
interrupted = .TRUE.
RETURN
END
Reply to: