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