δΊ 2012-9-12 6:52, Eric Blake ει:
On 09/11/2012 02:31 PM, Blue Swirl wrote:
On Mon, Sep 10, 2012 at 8:26 AM, Wenchao Xia <xiaw...@linux.vnet.ibm.com> wrote:
This patch contains type and defines used in APIs, one file for public usage
by user, one for libqblock internal usage.
+
+#if __GNUC__ >= 4
#if defined(__GNUC__) && __GNUC__ ...
Seriously? We require a C99-compliant compiler, which is required to
treat the more compact version identically (all undefined names evaluate
to 0 in the preprocessor), and HACKING doesn't mandate that we spell out
a defined-ness check first. Okay, so configure adds -Wundef to the set
of CFLAGS, but I fail to see why we want -Wundef (that's an
anachronistic warning, only there to help you if you are writing code
portable to K&R).
So if the preprocessor replaced __GNUC__ to 0, is there difference
between these two kinds of macoros?
#if __GNUC__ >= 4
#if defined(__GNUC__) && __GNUC__ >=4
I guess they are the same.
--
Best Regards
Wenchao Xia