Opened 16 years ago
Closed 15 years ago
#263 closed Bug (fixed)
Allocatable arrays in fldread
Reported by: | charris | Owned by: | nemo |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | OCE | Version: | v3.0 |
Severity: | Keywords: | ||
Cc: |
Description
I can't get the vn3 code to compile on our NEC (using sxf90/360). This is mentioned in [1200] and is associated with the ALLOCATABLE nature of fnow and fdta (which the compiler says is a Fortran2003 function). I've tried using -f2003 but this throws up errors elsewhere with calls to lbclnk.
Commit History (0)
(No commits)
Change History (4)
comment:1 follow-up: ↓ 3 Changed 16 years ago by rblod
comment:2 Changed 16 years ago by charris
- Version changed from trunk to v3.0
comment:3 in reply to: ↑ 1 Changed 16 years ago by charris
Hi Rachid,
I've done some more investigations of this. Using "-f2003 nocbind noopt_ieee" as in [1205] (or alternatively making the the POINTER change you suggest) allows the code to compile but it then fails at run-time with a loop-count error in fld_read (regardless of how large loopcnt is set in the compile options).
I've managed to stop the loop-count error by also using "-Wf,-pvctl vwork=stack" in my compile options, so I now have something which compiles and runs OK. However the "noopt_ieee" option seems to slow the libmpp routines down by almost an order of magnitude so I'm just using "-f2003 nocbind" instead.
Anyway, with these options it does compile and run, so I think as far as I am concerned the problem is solved.
Chris
Replying to rblod:
Hi Chris
Thanks for your feedback. One fix could be to replace in fldread the ALLOCATABLE statements for fnow and fdta to POINTER. But I do not totally trust the NEC compiler about the treatment of pointers.
Could enter a bit more into specifics about
-cpp keys
-compilation option
- error message after adding f2003 option
Rachid
comment:4 Changed 15 years ago by rblod
- Resolution set to fixed
- Status changed from new to closed
Hi Chris
Thanks for your feedback. One fix could be to replace in fldread the ALLOCATABLE statements for fnow and fdta to POINTER. But I do not totally trust the NEC compiler about the treatment of pointers.
Could enter a bit more into specifics about
-cpp keys
-compilation option
Rachid