Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Stephen Rothwell and committed by
Linus Torvalds
3dd730f2 a4319d9f

+1 -1
+1 -1
include/linux/cpumask.h
··· 287 287 * gcc optimizes it out (it's a constant) and there's no huge stack 288 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 293 #define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS)