This is the mail archive of the gcc-patches@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]

Re: [PATCH] PR libstdc++/13045 / C++ demangler, floating values and function pointer type return type postfix fix.


On Wed, Nov 26, 2003 at 12:51:45AM +0100, Gabriel Dos Reis wrote:
> Carlo Wood <carlo@alinoe.com> writes:
> | You mean, you rather have demangling failure on ALL targets than the
> | wrong decimal form on a Cray, but correct ones on all IEEE targets?
> 
> No. I mean failue *in case* you can't get it right.

Your 'No' is a contradiction; there is no other alternative
then that.

The floating point format on a Cray is:

     < sign > < exponent > < implicit bit> <fraction>
        1         15             1            47

and IEEE double precision is:

   IEEE double precision : exponent bias of 0x3ff
          < sign > < exponent > < fraction >
             1          11          52

Both are 64 bits.  Therefore, a mangled name that contains
a literal of 16 hexadecimal characters can be either.
So, the choice is:

1) fail on all targets
2) get it right on IEEE and wrong on the Cray
3) get it right on the Cray and wrong on IEEE machines.

I left out option 3) as trivially not the best.
Please make your choice.

-- 
Carlo Wood <carlo@alinoe.com>


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