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]
Other format: [Raw text]

[Bug c++/33521] -m128bit-long-double and printf don't mix



------- Comment #5 from bangerth at math dot tamu dot edu  2007-09-22 22:14 -------
Subject: Re:  -m128bit-long-double and printf don't mix


> and came up with some of it on my own, but at the same time I thought that each
> object file would/could be marked with how it was compiled so that the linker
> could check this whenever a long double is involved (even for arguments to

The linker would have to learn about gcc options, but even if it did it
wouldn't be able to diagnose the problem since all it sees is that data is
being moved through a register or from memory to memory -- it has no idea
any more about the semantic meaning of this data.

I think there really isn't very much one can do here except say "be
careful with this option" in the manual. This is, as I believe, what we
do, when we say in the manual:
------------------------
@strong{Warning:} if you override the default value for your target ABI, the
structures and arrays containing @code{long double} variables will change
their size as well as function calling convention for function taking
@code{long double} will be modified.  Hence they will not be binary
compatible with arrays or structures in code compiled without that switch.
------------------------

W.

-------------------------------------------------------------------------
Wolfgang Bangerth                email:            bangerth@math.tamu.edu
                                 www: http://www.math.tamu.edu/~bangerth/


-- 


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


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