- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello. My problem is it topic. When compiling I have an error "Severe: Statement too long"
What is the restriction and does a way to solve the problem exist?
It appears in a long equation, and to cut part of equation is impossible...
Thank you
What is the restriction and does a way to solve the problem exist?
It appears in a long equation, and to cut part of equation is impossible...
Thank you
Link Copied
9 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How long is the equation? The compiler accepts 511 continuation lines, but there is an internal limit on the number of "tokens" in a single statement and I think you overflowed it. Which compiler version are you using? Can you attach the source file with this long statement? (See below for attachment instructions.)
You may be able to split the equation with assignments to temporary variables.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
How long is the equation? The compiler accepts 511 continuation lines, but there is an internal limit on the number of "tokens" in a single statement and I think you overflowed it. Which compiler version are you using? Can you attach the source file with this long statement? (See below for attachment instructions.)
You may be able to split the equation with assignments to temporary variables.
I use Fortran 6.0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oh my - vintage 1998! Anyway, I think this source would compile with Intel Visual Fortran 11 once the number of continuation lines was brought under control. This would require conversion to free-form source (a .f90 file) and changing the continuation indicators. I'll try this tomorrow. My recollection is that we dramatically increased the internal limit on tokens some years ago.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Oh my - vintage 1998! Anyway, I think this source would compile with Intel Visual Fortran 11 once the number of continuation lines was brought under control. This would require conversion to free-form source (a .f90 file) and changing the continuation indicators. I'll try this tomorrow. My recollection is that we dramatically increased the internal limit on tokens some years ago.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
Aren't program-generated sources wonderful? (Not...)
Anyway, here's your source converted to free-form. It compiles with Intel Fortran 11, but probably won't with DVF 6.0.
Anyway, here's your source converted to free-form. It compiles with Intel Fortran 11, but probably won't with DVF 6.0.
Yes, it doesn't compile with DVF6.0, but if it compiles with Intel Fortran 11 - than it's time to speak with boss about possibility to buy it or to check if we have it already, maybe at another department...
Thanks a lot again
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - ars_met
Thanks.
Yes, it doesn't compile with DVF6.0, but if it compiles with Intel Fortran 11 - than it's time to speak with boss about possibility to buy it or to check if we have it already, maybe at another department...
Thanks a lot again
Yes, it doesn't compile with DVF6.0, but if it compiles with Intel Fortran 11 - than it's time to speak with boss about possibility to buy it or to check if we have it already, maybe at another department...
Thanks a lot again
eq1pA= [30 lines, selecting the last line as one ending "+ &", and deleting the'" + &" and adding a carriage return]
eq1pB= [next 30 lines, and so on].
Finally add the line
eq1p = eq1pA + eq1pB + etc. etc.
I have done this and the result compiles using CVF.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issue isn't the length of the statement - at least not with the free-form version I supplied that doubled-up the lines to get under the 511 limit. It's an internal limit in the compiler parser that was raised significantly sometime after DVF 6.0.
However, Tony's suggestion of using intermediate variables would get around this. On the other hand, it's a lot of manual effort (which is easy to make mistakes in) and might give slightly different results. Using a compiler from this century would be better, in my (biased) opinion.
However, Tony's suggestion of using intermediate variables would get around this. On the other hand, it's a lot of manual effort (which is easy to make mistakes in) and might give slightly different results. Using a compiler from this century would be better, in my (biased) opinion.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
The issue isn't the length of the statement - at least not with the free-form version I supplied that doubled-up the lines to get under the 511 limit. It's an internal limit in the compiler parser that was raised significantly sometime after DVF 6.0.
However, Tony's suggestion of using intermediate variables would get around this. On the other hand, it's a lot of manual effort (which is easy to make mistakes in) and might give slightly different results. Using a compiler from this century would be better, in my (biased) opinion.
However, Tony's suggestion of using intermediate variables would get around this. On the other hand, it's a lot of manual effort (which is easy to make mistakes in) and might give slightly different results. Using a compiler from this century would be better, in my (biased) opinion.

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