mangling example

Alain Miniussi alainm at cup.hp.com
Wed Apr 5 21:28:57 UTC 2000


I have a problem with a mangling example:

_Z5firstI3DuoEvS0_  -> first<Duo>(/*nondependent*/Duo)

If I understang correctly the mangling, we have:

<encoding>
 <name> // potential source for substitution 1
   <unqualified name>
      <source name>"first"
      <template-args>
         <template arg>
            <type> // potential source for substitution 2
               <class-enum-type>
                  <lass-enum-name>
                     <source name>"Duo"
 <bare-function-type>
   <type> // potential source for substitution 3
     <builtin type>"void"
   <type>
     <substitution>0 (ie, the second last encoded)

   
So, at the point where S0_ appears:

S_ = void
S0_ = first<Duo> (1)
S1_ = Duo(2)

So I guess it should be _Z5firstI3DuoEvS1_, or
did I missed something ?

Alain




More information about the cxx-abi-dev mailing list