![]() All these are instances of #define NAME value; or #define NAME(params_opt) value; These of course fail to build when used in contexts like if(foo $OP NAME) while(bar $OP NAME) and may silently generate the wrong code in contexts such as foo = NAME + 1; /* foo = value; + 1; */ bar = NAME - 1; /* bar = value; - 1; */ baz = NAME & quux; /* baz = value; & quux; */ Reported on comp.lang.c, Message-ID: <ab0d55fe-25e5-482b-811e-c475aa6065c3@c29g2000yqd.googlegroups.com> Initial analysis of the dangers provided by Keith Thompson in that thread. There are many more instances of more complicated macros having unnecessary trailing semicolons, but this pile seems to be all of the cases of simple values suffering from the problem. (Thus things that are likely to be found in one of the contexts above, more complicated ones aren't.) Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
||
---|---|---|
.. | ||
cnv_float.h | ||
dbl_float.h | ||
decode_exc.c | ||
denormal.c | ||
dfadd.c | ||
dfcmp.c | ||
dfdiv.c | ||
dfmpy.c | ||
dfrem.c | ||
dfsqrt.c | ||
dfsub.c | ||
driver.c | ||
fcnvff.c | ||
fcnvfu.c | ||
fcnvfut.c | ||
fcnvfx.c | ||
fcnvfxt.c | ||
fcnvuf.c | ||
fcnvxf.c | ||
float.h | ||
fmpyfadd.c | ||
fpbits.h | ||
fpu.h | ||
fpudispatch.c | ||
frnd.c | ||
hppa.h | ||
Makefile | ||
math-emu.h | ||
README | ||
sfadd.c | ||
sfcmp.c | ||
sfdiv.c | ||
sfmpy.c | ||
sfrem.c | ||
sfsqrt.c | ||
sfsub.c | ||
sgl_float.h |
All files except driver.c are snapshots from the HP-UX kernel. They've been modified as little as possible. Even though they don't fit the Linux coding style, please leave them in their funny format just in case someone in the future, with access to HP-UX source code, is generous enough to update our copies with later changes from HP-UX -- it'll make their 'diff' job easier if our code is relatively unmodified. Required Disclaimer: Hewlett-Packard makes no implied or expressed warranties about this code nor any promises to maintain or test it in any way. This copy of this snapshot is no longer the property of Hewlett-Packard.