Opened 3 years ago
#701 new defect
Strange compiler problems with nagfor61
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | Whenever |
Component: | ropp_io | Version: | 10.0 |
Keywords: | naqgfor | Cc: |
Description
nagfor61 fails to compile ROPP11 because
[NAG Fortran Compiler normal termination] nagfor61 -I../build -O2 -I/data/users/idculv/ROPP/nagfor61/include -c -o ropp_io_thin.o `test -f '../thin/ropp_io_thin.f90' || echo './'`../thin/ropp_io_thin.f90 NAG Fortran Compiler Release 6.1(Tozai) Build 6116 Segmentation violation Internal error - please report this bug
and
nagfor61 -I../build -O2 -I/data/users/idculv/ROPP/nagfor61/include -c -o bgrasc2ropp.o bgrasc2ropp.f90 NAG Fortran Compiler Release 6.1(Tozai) Build 6116 Segmentation violation Internal error - please report this bug
Very strange.
A bit of digging revealed that it is caused by - or, at least, it can be avoided by commenting out - calls to the ropp_utils routine message
with msg_error
or msg_fatal
options. r6785 does just this, and allows ROPP11 to compile OK with nagfor61.
Lots of ROPP routines call message(msg_error, ...)
or message(msg_fatal, ...)
, and nagfor61 is happy with them. And I cannot produce a minimally reproducible example to send to Nag, as requested. But it would be good to look into the problem sometime.
Note that I had similar problems with ROPP10, but according to my notes from the time:
Earlier nagfor61 problems, which appeared on the sbh_2DWOPT branch, have disappeared, perhaps as a result of a fresh build.
so I could get away with using unadulterated code.
I performed a fresh build of ROPP11, but it didn't make any difference.
None of the other compilers that we test display this sensitivity.