On 06/27/2010 09:10 PM, dev-ran...@mail.ru wrote:
On Sun, Jun 27, 2010 at 08:48:25PM +0300, Nikos Chantziaras wrote:
...
It is allowed.  Section 7.1.1, Paragraphs 2 and 3 of the C++ standard:
...

Not in C.
ISO/IEC 9899:1999 (aka C99), section 6.7.1, note 101:
The implementation may treat any register declaration simply as an auto
declaration. However, whether or not addressable storage is actually
used, the address of any part of an object declared with storage-class
specifier register cannot be computed, either explicitly (by use of the
unary&  operator as discussed in 6.5.3.2) or implicitly (by converting
an array name to a pointer as discussed in 6.3.2.1). Thus, the only
operator that can be applied to an array declared with storage-class
specifier register is sizeof.

Wasn't aware of the difference here. But anyway, the warning is issued by GCC for C++ too, not just C.


Reply via email to