Actions

icon Post
text/html Subscribe
text/html Unsubscribe

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

Re: RTTI data member names, NTBS COMDAT


  • To: dehnert@xxxxxxxxxxxxxxxxxxxx
  • Subject: Re: RTTI data member names, NTBS COMDAT
  • From: Martin von Loewis <loewis@xxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Thu, 31 Aug 2000 10:38:13 +0200 (MET DST)

> Does anyone else have a comment on this issue?  Who suggested making
> RTTI names non-normative?  Why?

I think the way it is now, the names are quite clumsy to use, due to
the underscore business. So I propose two alternatives:

1. make them non-normative. That leaves implementations the choice to
   expose them under more convenient names, or not to expose them.

2. Review the decision to make use of reserved namespace.

I'd like to argue in favour of option 2. Reserved names are necessary
to avoid conflicts for strict conformance in the following situations:

1. During linking, there may be conflicts with other symbols
2. On the source level, there may be conflicts with other names in the
   same scope.
3. There may be conflicts with preprocessor symbols.

Item 1 and item 2 are a non-issue. The names are already in the ABI
namespace, which has a reserved name in itself. So all names inside
that namespace automatically get a reserverd mangled name, and cannot
interfere with other names.

Item 3 is not a problem, because these names are available only
through cxxabi.h. Programs using that header are not strictly
conforming, and must play by the rules imposed by that header, namely,
not use these names as preprocessor symbols.

In short, my proposal is to remove the __ in all places, then make the
fields public.

Regards,
Martin