Browse Source

[PATCH] alpha: fix "statement with no effect" warnings

Apparently gcc 4.0 complains about "({ 0; });", which leads to -Werror
breakage in one of the alpha oprofile modules.

One might could argue that this is a gcc bug, in that statement-expressions
should be considered to be function-like rather than statement-like for the
purposes of this warning.  But it's just as easy to use an inline function
in the first place, side-stepping the issue.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Richard Henderson 20 years ago
parent
commit
79a8810221
2 changed files with 23 additions and 6 deletions
  1. 7 2
      include/asm-alpha/smp.h
  2. 16 4
      include/linux/smp.h

+ 7 - 2
include/asm-alpha/smp.h

@@ -50,11 +50,16 @@ extern cpumask_t cpu_online_map;
 extern int smp_num_cpus;
 #define cpu_possible_map	cpu_present_mask
 
-int smp_call_function_on_cpu(void (*func) (void *info), void *info,int retry, int wait, cpumask_t cpu);
+int smp_call_function_on_cpu(void (*) (void *), void *, int, int, cpumask_t);
 
 #else /* CONFIG_SMP */
 
-#define smp_call_function_on_cpu(func,info,retry,wait,cpu)    ({ 0; })
+static inline int
+smp_call_function_on_cpu (void (*func) (void *), void *info, int retry,
+			  int wait, cpumask_t cpu)
+{
+	return 0;
+}
 
 #endif /* CONFIG_SMP */
 

+ 16 - 4
include/linux/smp.h

@@ -94,11 +94,23 @@ void smp_prepare_boot_cpu(void);
  */
 #define raw_smp_processor_id()			0
 #define hard_smp_processor_id()			0
-#define smp_call_function(func,info,retry,wait)	({ 0; })
-#define on_each_cpu(func,info,retry,wait)	({ func(info); 0; })
-static inline void smp_send_reschedule(int cpu) { }
 #define num_booting_cpus()			1
-#define smp_prepare_boot_cpu()			do {} while (0)
+
+static inline int smp_call_function(void (*func) (void *), void *info,
+				    int retry, int wait)
+{
+	return 0;
+}
+
+static inline int on_each_cpu(void (*func) (void *), void *info,
+			      int retry, int wait)
+{
+	func(info);
+	return 0;
+}
+
+static inline void smp_send_reschedule(int cpu) { }
+static inline void smp_prepare_boot_cpu(void) { }
 
 #endif /* !SMP */