- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>lslpp -h "*xlf*"
Fileset Level Action Status Date Time
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
xlfrte
7.1.1.0 COMMIT COMPLETE 03/26/03 14:53:06
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:21
Fileset Level Action Status Date Time
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
xlfrte
7.1.1.0 COMMIT COMPLETE 03/26/03 14:53:06
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:21
xlfrte.aix43
7.1.1.0 COMMIT COMPLETE 03/26/03 14:51:46
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:20
7.1.1.0 COMMIT COMPLETE 03/26/03 14:51:46
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:20
xlfrte.aix51
7.1.1.0 COMMIT COMPLETE 03/26/03 14:52:10
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:20
7.1.1.0 COMMIT COMPLETE 03/26/03 14:52:10
7.1.1.5 COMMIT COMPLETE 03/03/04 10:09:20
xlfrte.msg.en_US
7.1.1.0 COMMIT COMPLETE 03/26/03 14:53:28
7.1.1.0 COMMIT COMPLETE 03/26/03 14:53:28
I've got some F90 compilied under CVF 6.6C3. However when I brought it over to unix with the above installed fortran compiler, I got some errors that I'm not sure what is going on.
for example, these 2 errors:
"ifemsa.f", line 500.9: 1514-195 (E) Invalid attribute specified for a component declaration statement. Attribute is ignored.
"ifemsa.f", line 500.25: 1514-199 (S) Array gm is a deferred-shape array but does not have the POINTER or ALLOCATABLE attributes.
occurred in the line in red below:
type RBE2TYPE
character(8) :: NAME
INTEGER :: EID
INTEGER :: GN
INTEGER :: CM
INTEGER,ALLOCATABLE :: GM(:)
INTEGER :: NUM_GM
end type RBE2TYPE
type( RBE2TYPE ), ALLOCATABLE :: RBE2(:), tempRBE2(:), RBE2LIST(:), RBE2IGNORE(:), ResidualRBE2(:), tempResidualRBE2(:), connectedRBE2(:)
end type RBE2TYPE
type( RBE2TYPE ), ALLOCATABLE :: RBE2(:), tempRBE2(:), RBE2LIST(:), RBE2IGNORE(:), ResidualRBE2(:), tempResidualRBE2(:), connectedRBE2(:)
Is there some options that I need to turn on/off?
Does anyone know if the unix compiler I have is XL Fotran 5.1? I'm not sure how to read the above results?
Thanks!
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're using a feature of Fortran 2003 that is supported by CVF, but apparently not by the version of XLF you are using. You may want to replace the ALLOCATABLE by POINTER and see if that works for your application. There are some semantic differences, especially regarding assignment of derived types.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In particular, POINTER component can create a memory leak and must be DEALLOCATEd explicitly, whilst ALLOCATABLE one is leak-safe. As Steve pointed out, assignment of one variable to another will create a "deep" copy for ALLOCATABLEs (allocate new instance), but a "shallow" copy for POINTERs (just repoint the new pointer to the same target).
Best, see if there's a newer version of XLF which supports ALLOCATABLE components (Standard extension called TR15581) (most modern compilers do).
Jugoslav
Best, see if there's a newer version of XLF which supports ALLOCATABLE components (Standard extension called TR15581) (most modern compilers do).
Jugoslav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This was what I was afraid of. As for upgrading our computers.....that might take a while.
is there a way to figure out what standards the XLF compiler will support?
Does CVF then have a way of limiting to only using thosethat are supported?
I'm running into a problem with even the most basic commands.
Code:
if(.not.EOF(1)) then ! do something end if
compiler tells me that "Entity eof has undefined type."
how do you check for end of file without using eof?
Message Edited by rssmps on 01-18-2006 12:35 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
EOF is VF extension. The standard way for eof-hit test is to include END=label or IOSTAT=integer-variable specifier in READ statement. When eof is encountered, the code on label will be executed in 1st case, and integer-variable will receive a non-zero (negative) value in 2nd case.
For CVF, there is "Fortran standard check" combo-box somewhere, if I recall correctly "Project/Settings/Fortran/Fortran language". If you select "F95" you will get warnings for all non-standard constructs.
As for ALLOCATABLE components, you can change them to POINTER and hope for the best. The code will probably work, but you may easily get memory leak(s).
Jugoslav
For CVF, there is "Fortran standard check" combo-box somewhere, if I recall correctly "Project/Settings/Fortran/Fortran language". If you select "F95" you will get warnings for all non-standard constructs.
As for ALLOCATABLE components, you can change them to POINTER and hope for the best. The code will probably work, but you may easily get memory leak(s).
Jugoslav
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'll check on the settings.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
For what it's worth, last version of XLF appears to be 8.1 or so and, having a glance over the .pdf manual, it seems to support TR 15581. Judging on your version number, 5.x seems to be quite old. However, I know how upgrading requests usually end up in big companies -- sometimes it's easier to get an approval for 1-month paid vacation on Hawaii than to get a newer software installed ;-).
Jugoslav

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page