Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mangling type_info for local related types


  • To: cxx-abi@xxxxxxxxxxxxxxxxxxxx
  • Subject: Re: mangling type_info for local related types
  • From: Alain Miniussi <alainm@xxxxxxxxxx>
  • Date: Fri, 26 May 2000 14:48:14 -0700

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