Bug#361707: Causes FTBFS with GCC 4.2: '<anonymous>' has incomplete type

Ben Hutchings ben at decadentplace.org.uk
Sat Apr 22 00:42:34 UTC 2006


reassign 361707 gcc-snapshot
tags 361707 +upstream
forwarded 361707 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9278
thanks

I agree that this is not really a bug in openal, though it's easy enough
to work around.

The C99 standard says (I believe; I'm afraid I only have a draft):

"The special case of an unnamed parameter of type void as the only item
in the list specifies that the function has no parameters." (6.7.5.3/10)

The C++98 and C++03 standards, and the working draft for the next
version, say:

"The parameter list (void) is equivalent to the empty parameter
list." (8.3.5/2)

(In C++ the empty parameter list is *not* a special case as it is in C.)

So for C++ this special case is defined syntactically whereas for C it
is defined in terms of type identity, thus taking type aliases into
account.  Since the feature only exists in C++ for C compatibility, it
seems to be a defect in the C++ standard that the case is defined
differently, and accordingly I have submitted a defect report.  I think
g++ should not be changed to follow the C++ standard in this respect
until this has been resolved by the C++ standard committee.

Ben.

-- 
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20060422/829e2c47/attachment.pgp


More information about the Pkg-games-devel mailing list