------- Comment #16 from jv244 at cam dot ac dot uk  2007-07-04 19:09 -------
I've added the assembly as obtained from

 1044  gfortran -O2 -pg -S cp_log_handling.f90
 1045  mv cp_log_handling.s g.s
 1046  gfortran -O2 -pg -march=native -S cp_log_handling.f90
 1047  mv cp_log_handling.s b.s

(i.e. the good and the bad case) for the file that triggers the stop. The stop
is triggered by a check on :

  INTEGER, PRIVATE            :: stack_pointer=0
  INTEGER, PARAMETER, PRIVATE :: max_stack_pointer=10

[...]
    IF (stack_pointer+1>max_stack_pointer) THEN
       CALL mp_stop(100,routineP//&
            "too many default loggers, increase max_stack_pointer in
"//moduleN)
    ENDIF

it must be stack_pointer that gets corrupted somehow.


-- 


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

Reply via email to