This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Bug with g77 and -mieee on Alpha Linux


>The difference between these two cases is in the -f[no]emulate-complex we
>aren't even sure *what* the compiler should be doing, much less *how* to
>get it done.

Ah, okay, I didn't realize that the problem went that deep.

>There's a rather serious design issue that needs to be investigated before we
>can even begin to look at solutions.  Worse yet, the investigation phase will
>probably require looking at a variety of other Fortran compilers to see how
>they handle passing of complex values -- we should not insert a gratuitous ABI
>incompatibility for passing complex values.

Agreed.  Though, for g77's purposes, the ABI for complex is currently
*always* the ABI for struct { float; float; };.  I'd be interested in
knowing about any ABI's for which that was not the case, because they'd
be systems on which g77 -fno-emulate-complex might not even *work*,
if implemented to follow the native ABI.  (That's because g77 would be
telling the back end to pass/accept __complex__ across calls, but the
other end might be f2c-compiled, or g77-emulating-complex, or other,
code that uses the struct method.)

Put another way, g77 is presently architected (in terms of options it
provides, the way it works internally, etc.) to assume the ABI doesn't
make __complex__ different from the equivalent struct.

We'd at least need to understand and document such differences, e.g.
explain that users of pertinent systems not combine g77 -fno-emulate-complex
with code from certain types of other sources.  (-fno-f2c is related to
this, as another example.)

>Letting the release out with -fno-emulate-complex without resolving these 
>issues
>makes it much more likely that we will need to break binary compatibility 
>again for the Fortran compiler once we figure out how to properly pass complex
>values.

Note that I'm not aware there were ever any problems, in *this* area at
least, back when -fno-emulate-complex was the only choice, though that
was a long time ago, and I might have forgotten.

>I haven't made a final decision on the complex stuff, but I'll have to make one
>in the very near future (next 24hrs).  

Whew, well, good luck!  I *still* don't know what to recommend, other
than to say that, if we change the default again and don't respin/retest
for at least a month, we're risking some pretty serious regressions.
Wish I could put a number on that risk, as that might help you.

        tq vm, (burley)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]