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.

Change history (0)

Note: See TracTickets for help on using tickets.