title: Segfault when calling a function with a constant argument
body: <p>I have written this very simple code in Fortran:</p>
  
  <pre><code>program su
    implicit none
    real ran3
    write(*,*) ran3(0)
  end program su
  
  real*8 function ran3(iseed)
    implicit none
    integer iseed
    iseed=iseed*153941+1
    ran3=float(iseed)*2.328+0.5     
  end function ran3
  </code></pre>
  
  <p>I have no problem in compiling it but when I execute the code I get this message:</p>
  
  <pre><code>Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
  
  Backtrace for this error:
  #0  0xB76BAC8B
  #1  0xB76BB2DC
  #2  0xB77BA3FF
  #3  0x8048653 in ran3_
  #4  0x80486B3 in MAIN__ at der.f90:?
  Segmentation fault (core dumped)
  </code></pre>
  
  <p>Could you please tell why, and how I can solve it?</p>