This is the mail archive of the
mailing list for the GCC project.
Re: Mistake in C++ ABI substitution rules?
- From: Joe Buck <jbuck at synopsys dot COM>
- To: mark at codesourcery dot com (Mark Mitchell)
- Cc: shebs at apple dot com (Stan Shebs), gcc at gcc dot gnu dot org (gcc at gcc dot gnu dot org),cxx-abi-dev at codesourcery dot com
- Date: Wed, 20 Feb 2002 09:57:30 -0800 (PST)
- Subject: Re: Mistake in C++ ABI substitution rules?
> > "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)
> 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.