another mangling issue
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Sat Apr 15 01:32:42 UTC 2000
> Date: Fri, 14 Apr 2000 17:36:10 -0700
> From: Alain Miniussi <alainm at cup.hp.com>
>
> Here is the text:
>
> [ description of the numbering ]
> All substitutable components are so numbered,
==================================================
> except those that have been substituted already,
==================================================
> but the substitution occurs only if "S<seq-id>_" (or "S_")
> is strictly shorter than the unsubstituted encoding.
> A component is less recent than the structure of which
> it is a part. For example:
>
> "_ZN1N1TIiiE2mfES2_IddE": Ret? N::T<int, int>::mf(N::T<double,
> double>)
>
> since at the point where S2_ appears:
>
> "S_" == N::T<int, int>::mf
> "S0_" == N::T<int, int>
> "S1_" == int
> "S2_" == N::T (template is less recent than template-id)
> "S3_" == N (qualifier is less recent than qualified entity)
>
>
> 1) why does "int" appears only once ?
The answer is the highlighted clause above. We decided a couple of
weeks ago not to add the same type/name to the list multiple times.
So int (and everything else) only appears once.
> since the second one is
> not a substituted (its direct encoding being shorter than the
> substitution), I would expect:
> "S_" == N::T<int, int>::mf
> "S0_" == N::T<int, int>
> "S1_" == int
> "S2_" == int
> "S3_" == N::T (template is less recent than template-id)
> "S4_" == N (qualifier is less recent than qualified entity)
>
> or is it that, since the first "int" is a "potential" source
> for substitution, the second one is not ? ifthat's the case,
> maybe "except those that have been substituted already"
> should be replace with sometyhing like "except those that
> are been seen as substituable already" ?
Yes, I'll do that.
- Jim Dehnert dehnert at sgi.com
(650)933-4272
More information about the cxx-abi-dev
mailing list