- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have code that compiled and executed in CVF-6.6 up thru IVF-10 which used a List-directed read to set a Logical variable.
The input data had always been a "0" or "1", rather than F or T, and this worked on compilers prior to IVF-11 (11.1.038) which now exceptions on that input unless I change it to F/T (or FALSE/TRUE).
Is this a bug in the IVF-11 compiler, or are they changing the rules?
The input data had always been a "0" or "1", rather than F or T, and this worked on compilers prior to IVF-11 (11.1.038) which now exceptions on that input unless I change it to F/T (or FALSE/TRUE).
Is this a bug in the IVF-11 compiler, or are they changing the rules?
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The rules have changed. Your input data is incorrect, but we allowed that in the past as a misguided extension. After many years of customer complaints, we disabled, by default, reading non-LOGICAL data items for LOGICAL variables and LOGICAL data items (T, F, etc.) for non-logical variables. You can restore the old behavior by specifying /assume:old_logical_ldio.
I recommend that you do not depend on this non-standard behavior.
I recommend that you do not depend on this non-standard behavior.
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The rules have changed. Your input data is incorrect, but we allowed that in the past as a misguided extension. After many years of customer complaints, we disabled, by default, reading non-LOGICAL data items for LOGICAL variables and LOGICAL data items (T, F, etc.) for non-logical variables. You can restore the old behavior by specifying /assume:old_logical_ldio.
I recommend that you do not depend on this non-standard behavior.
I recommend that you do not depend on this non-standard behavior.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, we'll go with the correct input format on all non-legacy code, and just use the back door on the old stuff where the change risk is more substantial.
BTW, I should probably ask this on another thread, but I've noticed we're also getting runtime exceptions now on character length mismatches...
forrtl: severe (408): fort: (18): Dummy character variable 'LIST_OF_TYPES' has length 128 which is greater then actual variable length 40.
... many of these are small strings with trailing blanks, and previously there was never any problems in the mismatch. Is this another rule change, and if so is there a similar circumvention?
BTW, I should probably ask this on another thread, but I've noticed we're also getting runtime exceptions now on character length mismatches...
forrtl: severe (408): fort: (18): Dummy character variable 'LIST_OF_TYPES' has length 128 which is greater then actual variable length 40.
... many of these are small strings with trailing blanks, and previously there was never any problems in the mismatch. Is this another rule change, and if so is there a similar circumvention?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This and the other change are both noted in the release notes. In this latter case, your code is not valid and the error can lead to data corruption. If you want to suppress the error, turn off string and array bounds checking, but I do not recommend this.

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