 |
|
|
|
Actions
|
|
[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [cxx-abi-dev] restrict & overloading
- To: Daveed Vandevoorde <daveed@xxxxxxx>
- Subject: Re: [cxx-abi-dev] restrict & overloading
- From: Mark Mitchell <mark@xxxxxxxxxxxxxxxx>
- Date: Wed, 18 Feb 2004 12:56:13 -0800
Daveed Vandevoorde wrote:
One of the J16 reflectors is currently discussing
"restrict." I went looking to the IA-64 ABI spec
and was surprised to see it saying the following:
The restrict qualifier is part of the C99 standard,
but is strictly an extension to C++ at this time.
There is no standard specification of whether the
restrict attribute is part of the type for overloading
purposes. An implementation should include its encoding
in the mangled name if and only if it also treats it as
a distinguishing attribute for overloading purposes.
This ABI does not specify that choice.
I would think that even though restrict does not
make a type overload-distinguishable, it should
be encoded in the mangled name (at least, if it
has nontrivial semantics).
The C++ ABI already differs from what is perhaps the EDG philosophy in
this regard.
For example, the ABI explicitly does not encode implicit instantiations
and explicit specializations differently, even though that would provide
a way of checking a rule in the standard -- and even though the EDG
front end could do that in its Cfront-based ABI.
--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@xxxxxxxxxxxxxxxx
|
|