mangling type_info for local related types

Alain Miniussi alainm at cup.hp.com
Fri May 26 21:48:14 UTC 2000


Alain Miniussi wrote:
> 
> Hi,
> 
> By reading the spec, I'am not sure to understand how
> local types and type_info mangling interfere. It seems that,
> with the current mangling, we have:
> 
> struct a_class {};
> 
> typeid(a_class) -> _ZN6a_classTIE
> 
> void a_func() {
>   struct a_class {};
>   typeid(a_class);   -> _ZZ5a_funcvEN6a_classTIE // local name
>   typeid(a_class*);  -> _ZNPZ5a_funcvE6a_classTIE // non local

By the way, I am not sure the current mangling allow to
form a pointer to a local struct, only <name> can be local,
not <type>, maybe we need a <local-class-enum> production ?

<class-enum> ::= <local-class-enum>
             ::= ...
<local-class-enum> :: Z<function encoding>E<class-enum>[<discriminator>]

Also, pointer type are not mentionned in <component-name>.

> };
> 
> Is that the intended mangling ?
>
> Alain




More information about the cxx-abi-dev mailing list