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