2005-04-09 12:40:59

by Benoit Boissinot

[permalink] [raw]
Subject: [PATCH] cpuset: remove function attribute const

gcc-4 warns with
include/linux/cpuset.h:21: warning: type qualifiers ignored on function
return type

cpuset_cpus_allowed is declared with const
extern const cpumask_t cpuset_cpus_allowed(const struct task_struct *p);

First const should be __attribute__((const)), but the gcc manual
explains that:

"Note that a function that has pointer arguments and examines the data
pointed to must not be declared const. Likewise, a function that calls a
non-const function usually must not be const. It does not make sense for
a const function to return void."

The following patch remove const from the function declaration.

Signed-off-by: Benoit Boissinot <[email protected]>

--- ./kernel/cpuset.c.orig 2005-04-09 14:14:23.000000000 +0200
+++ ./kernel/cpuset.c 2005-04-09 14:15:19.000000000 +0200
@@ -1432,7 +1432,7 @@ void cpuset_exit(struct task_struct *tsk
* tasks cpuset.
**/

-const cpumask_t cpuset_cpus_allowed(const struct task_struct *tsk)
+cpumask_t cpuset_cpus_allowed(const struct task_struct *tsk)
{
cpumask_t mask;

--- ./include/linux/cpuset.h.orig 2005-04-09 14:14:32.000000000 +0200
+++ ./include/linux/cpuset.h 2005-04-09 14:15:30.000000000 +0200
@@ -18,7 +18,7 @@ extern int cpuset_init(void);
extern void cpuset_init_smp(void);
extern void cpuset_fork(struct task_struct *p);
extern void cpuset_exit(struct task_struct *p);
-extern const cpumask_t cpuset_cpus_allowed(const struct task_struct *p);
+extern cpumask_t cpuset_cpus_allowed(const struct task_struct *p);
void cpuset_init_current_mems_allowed(void);
void cpuset_update_current_mems_allowed(void);
void cpuset_restrict_to_mems_allowed(unsigned long *nodes);


2005-04-09 13:25:43

by Paul Jackson

[permalink] [raw]
Subject: Re: [PATCH] cpuset: remove function attribute const

Benoit wrote:
> The following patch remove const from the function declaration.

acked-by: Paul Jackson <[email protected]>

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.650.933.1373, 1.925.600.0401