restrict & overloading

Daveed Vandevoorde daveed at edg.com
Wed Feb 18 20:28:54 UTC 2004


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).

	Daveed Vandevoorde
	Edison Design Group




More information about the cxx-abi-dev mailing list