When trying to build some data processing stuff (using an interface for some
median functions in a module), I get an "internal compiler error: Segmentation
fault".
This code snippet should *not* compile anyway (there being no median function
taking two arguments) but I think a compiler segfault is a rather drastic way
of telling me :-)

----------------
 Command line:
----------------
gfortran -v -save-temps -c main.f90

--------------------
 Compiler output:
--------------------
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /home/dwassel/Installationen/gcc-4.2.3/configure
--prefix=/home/dwassel --program-suffix=-4.2.3 --enable-languages=c,c++,fortran
--with-gmp=/home/dwassel --with-mpfr=/home/dwassel --with-arch=i686
--with-tune=i686
Thread model: posix
gcc version 4.2.3
 /localdata/bin/../libexec/gcc/i686-pc-linux-gnu/4.2.3/f951 main.f90 -quiet
-dumpbase main.f90 -mtune=i686 -march=i686 -auxbase main -version -I
/localdata/bin/../lib/gcc/i686-pc-linux-gnu/4.2.3/finclude -o main.s
GNU F95 version 4.2.3 (i686-pc-linux-gnu)
        compiled by GNU C version 4.2.3.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
main.f90:46.9:

  data = median(rawData, work)
        1
Error: There is no specific function for the generic 'median' at (1)
main.f90:19: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

-------------
 My System:
-------------
Linux version 2.6.18-6-k7 (Debian 2.6.18.dfsg.1-18etch1) ([EMAIL PROTECTED])
(gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Sun Feb 10
22:16:15 UTC 2008

---------------------------------------
 The original source code (main.f90):
---------------------------------------
MODULE auxiliary

  IMPLICIT NONE

  INTEGER, PARAMETER, PRIVATE :: dp = SELECTED_REAL_KIND(15)

  INTERFACE median
     MODULE PROCEDURE R_valmed, I_valmed, D_valmed
  END INTERFACE

  PUBLIC  :: median
  PRIVATE :: R_valmed, I_valmed, D_valmed

CONTAINS

  RECURSIVE FUNCTION D_valmed (XDONT) RESULT (res_med)
    Real (kind=dp), Dimension (:), Intent (In) :: XDONT
    Real (kind=dp) :: res_med
    res_med = 0.0d0
  END FUNCTION D_valmed

  RECURSIVE FUNCTION R_valmed (XDONT) RESULT (res_med)
    Real, Dimension (:), Intent (In) :: XDONT
    Real :: res_med
    res_med = 0.0
  END FUNCTION R_valmed

  RECURSIVE FUNCTION I_valmed (XDONT) RESULT (res_med)
    Integer, Dimension (:), Intent (In)  :: XDONT
    Integer :: res_med
    res_med = 0
  END FUNCTION I_valmed

END MODULE auxiliary


PROGRAM main

  USE auxiliary

  IMPLICIT NONE

  INTEGER, PARAMETER    :: dp = SELECTED_REAL_KIND(15)
  REAL(kind=dp) :: rawData(2), data, work(3)

  data = median(rawData, work)

END PROGRAM main


-------------------------------
 -save-temp output (main.s):
-------------------------------
        .file   "main.f90"
        .text
.globl __auxiliary__i_valmed
        .type   __auxiliary__i_valmed, @function
__auxiliary__i_valmed:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $16, %esp
        movl    $0, -4(%ebp)
        movl    -4(%ebp), %eax
        leave
        ret
        .size   __auxiliary__i_valmed, .-__auxiliary__i_valmed
.globl __auxiliary__r_valmed
        .type   __auxiliary__r_valmed, @function
__auxiliary__r_valmed:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $20, %esp
        movl    $0x00000000, %eax
        movl    %eax, -4(%ebp)
        movl    -4(%ebp), %eax
        movl    %eax, -20(%ebp)
        flds    -20(%ebp)
        leave
        ret
        .size   __auxiliary__r_valmed, .-__auxiliary__r_valmed
.globl __auxiliary__d_valmed
        .type   __auxiliary__d_valmed, @function
__auxiliary__d_valmed:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $16, %esp
        fldz
        fstpl   -8(%ebp)
        fldl    -8(%ebp)
        leave
        ret
        .size   __auxiliary__d_valmed, .-__auxiliary__d_valmed


-- 
           Summary: internal compiler error: Segmentation fault
           Product: gcc
           Version: 4.2.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dennis dot wassel at googlemail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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

Reply via email to