aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2008-07-29 02:07:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-30 13:35:49 -0400
commit3dd730f2b49f101b90d283c3efc4e6cd826dd8f6 (patch)
tree040c55f93a1d3fbbd85e2e81319d8f259f71c55f
parenta4319d9fa02fb3f032596d18c6fcc8b05d01a3a5 (diff)
cpumask: statement expressions confuse some versions of gcc
when you take the address of the result. Noticed on a sparc64 compile using a version 3.4.5 cross compiler. kernel/time/tick-common.c: In function `tick_check_new_device': kernel/time/tick-common.c:210: error: invalid lvalue in unary `&' ... Just make it a regular expression. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/cpumask.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 96d0509fb8d8..d3219d73f8e6 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -287,7 +287,7 @@ static inline const cpumask_t *get_cpu_mask(unsigned int cpu)
287 * gcc optimizes it out (it's a constant) and there's no huge stack 287 * gcc optimizes it out (it's a constant) and there's no huge stack
288 * variable created: 288 * variable created:
289 */ 289 */
290#define cpumask_of_cpu(cpu) ({ *get_cpu_mask(cpu); }) 290#define cpumask_of_cpu(cpu) (*get_cpu_mask(cpu))
291 291
292 292
293#define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS) 293#define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS)