Bug#154767: cpp-2.95: cpp fails to parse macros with varargs correctly
grendel@thanes.org writes:
> printf(KERN_ERR "[" DRM_NAME ":%s] *ERROR* " fmt , __FUNCTION__, ##
> args)
[...]
> which is invalid C syntax. ##' gets rid of the comma, so we get the
> following instead:
>
> fprintf (stderr, "success!\n")
>
>
> Which is not the case. That bug breaks the compile of the 2.4.19-rc3-ac4
> kernel (the DRM tree). Both cpp 3.0 and 3.1 work correctly.
You are not reading the info docs carefully: you need a space between
the __FUNCTION__ and the comma. It is probably still a bug in the
preprocessor that it deletes the __FUNCTION__ token and not the comma
token, but that bug is not important since it can be easily
worked-around.
Regards,
Martin
--
To UNSUBSCRIBE, email to debian-gcc-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: