[RFC] Implementing addressof for C++0x

Jason Merrill jason@redhat.com
Thu May 20 18:13:00 GMT 2010


On 05/20/2010 08:18 AM, Peter Dimov wrote:
>> On 05/20/2010 01:55 PM, Paolo Carlini wrote:
>>> It's uglier because the code above doesn't work for functions,
>>>
>> By the way, do you have a specific testcase in mind?
>>
>> Because addressof_fn_test.cpp, part of Boost, passes...
>
> This is probably a g++/gcc extension... some compilers do not allow
> references to functions to be casted to char&, and I believe the
> standard doesn't permit that, either.

The standard permits a compiler to accept or reject such a cast.

5.2.10/8: Converting a pointer to a function into a pointer to an object 
type or vice versa is conditionally-supported.  The meaning of such a 
conversion is implementation-defined, except that if an implementation 
supports conversions in both directions, converting a prvalue of one 
type to the other type and back, possibly with different 
cv-qualification, shall yield the original pointer value.

Jason



More information about the Libstdc++ mailing list