[cxx-abi-dev] namespace-qualified unresolved-names

David Vandevoorde daveed at edg.com
Fri Apr 29 21:46:40 UTC 2011


On Apr 25, 2011, at 5:21 PM, Doug Gregor wrote:

> On Mon, Apr 25, 2011 at 1:51 PM, James Widman <widman at gimpel.com> wrote:
>> 
[...]
>> 
>> But having said that, I prefer a mangling rule that just uses a translation of the raw token sequence for the following reasons:
>> 
>> 1)
>> It's probably harder to implement that rule incorrectly.  (For example, the implementor does not need to consider whether a call was written as foo(t) vs. (foo)(t) because you don't even need to think in terms of whether the expression involves a call.)
> 
> I think the situation is rather the opposite: it takes quite a bit
> more effort for an implementation to track exactly how a declaration
> was written in the source code, since that information hasn't
> traditionally been required for compilation.

True.

> I, personally, would tend
> toward resolving whatever we can resolve and mangling based on that.
> 
>> 2)
>> Suppose you have two /expression/s that are functionally equivalent but not equivalent and they both involve the same template parameters.  If the language rules ever change such that they are no longer functionally equivalent, the mangling rule would not need to change.
> 
> This seems like an unlikely language direction to me.


It doesn't seem that unlikely to me.  On the contrary, it feels much like something that could fall out of the kind of "small tweak" in the core language that the committee regularly approves as part of resolving defects.

	Daveed




More information about the cxx-abi-dev mailing list