http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51267

--- Comment #2 from Mathieu <priv123 at hotmail dot fr> 2011-11-22 20:22:15 UTC 
---
Sure, and we are especially fans of -fbound-checks but we can not use it on
half of the code because of this usage.

For the story :
{
I reproduced here with this small code a part of the 1.e6 lines of our code
(see www.code-aster.org for more interest). It's 20 years old but it's always
evolving every week.

This usage (with an array allocated elsewhere and used in read/write using an
offset computed by LOC) allowed to simulate dynamic allocations and out-of-core
memory management in f77.
So if we are working to use current allocation management it requires to change
a lot of lines of code and the refactoring will be done part by part...
}

And just try this, it works :
c      do 12 i=1,3*n
c        ius(iad+i) = -1
c 12   continue
but not the unrolled loop.

That's why I think that the optimizer fails on that loop (and probably only
when the array of dimension(1)).

Do you know what does change between 4.5 and 4.6 that can explain the
difference of behavior ?
Any option to tune the behavior ?

Thx

Reply via email to