[cxx-abi-dev] Request for clarification: floating point literal mangling

Mark Mitchell mark at codesourcery.com
Tue Jun 10 01:01:41 UTC 2003


On Mon, 2003-06-09 at 17:30, Kerch Holt wrote:
> Zack Weinberg wrote:
> > Dennis Handly <dhandly at cup.hp.com> writes:
> > 
> > 
> >>>HP?
> >>
> >>Mark Mitchell
> >>
> >>We currently don't allow it.
> >>How does EDG and g++ allow it, as a floating point literal?
> >>Or in some expression?
> > 
> > 
> > template <int I> class A {};
> > template <int I> void f(A<I+int(1.234)>) {}
> > 
> Several compilers (including aCC) take the "int(1.234)"
> part and simply converted to "1" in the resulting signature.

That, however, is clearly disallowed by the ABI.  (In the same way that
transforming "1 + 2" into "3" is not allowed.)

The mangling scheme is designed to be (essentially) a representation of
the input token stream.

-- 
Mark Mitchell
CodeSourcery, LLC
mark at codesourcery.com




More information about the cxx-abi-dev mailing list