diff options
author | Phil Carmody <ext-phil.2.carmody@nokia.com> | 2011-07-14 08:07:13 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2011-07-21 08:10:00 -0400 |
commit | 497888cf69bf607ac1fe061a6437e0a670b0022f (patch) | |
tree | ac0897eff214f09c89d5f4fbc3c03ef9d010a83c /arch/mips | |
parent | 06b72d06d6b182bdaaaec686dbd8b602949521ee (diff) |
treewide: fix potentially dangerous trailing ';' in #defined values/expressions
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>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/floppy.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/include/asm/floppy.h b/arch/mips/include/asm/floppy.h index c5c7c0e6064c..4456c9c47e21 100644 --- a/arch/mips/include/asm/floppy.h +++ b/arch/mips/include/asm/floppy.h | |||
@@ -29,7 +29,7 @@ static inline void fd_cacheflush(char * addr, long size) | |||
29 | #define FLOPPY0_TYPE fd_drive_type(0) | 29 | #define FLOPPY0_TYPE fd_drive_type(0) |
30 | #define FLOPPY1_TYPE fd_drive_type(1) | 30 | #define FLOPPY1_TYPE fd_drive_type(1) |
31 | 31 | ||
32 | #define FDC1 fd_getfdaddr1(); | 32 | #define FDC1 fd_getfdaddr1() |
33 | 33 | ||
34 | #define N_FDC 1 /* do you *really* want a second controller? */ | 34 | #define N_FDC 1 /* do you *really* want a second controller? */ |
35 | #define N_DRIVE 8 | 35 | #define N_DRIVE 8 |