[cxx-abi-dev] Re: Mistake in C++ ABI substitution rules?

Jim Dehnert dehnert at transmeta.com
Wed Feb 20 22:53:27 UTC 2002


It was certainly intended as must.  My mistake, probably.  As Joe
points out, it's not portable otherwise, so there's not much choice.

Jim


Joe Buck wrote:
> 
> > > "Logically, the substitutable components of a mangled name are
> > > considered left-to-right, components before the composite structure
> > > of which they are a part. If a component has been encountered
> > > before, it is substituted as described below. This decision is
> > > independent of whether its components have been substituted,
> > > so an implementation MAY OPTIMIZE by considering large structures
> > > for substitution before their components. If a component has not
> > > been encountered before, its mangling is identified, and it is
> > > added to a dictionary of substitution candidates. No entity is
> > > added to the dictionary twice." (emphasis mine)
> 
> Mark writes:
> > I think that "may" should be "must".
> 
> If all the folks who implemented the ABI interpreted it that way, we
> have no problem with s/may/must/.  But if some did not, then we don't
> have a portable ABI, someone will have to make changes.



More information about the cxx-abi-dev mailing list