Thread (7 messages) 7 messages, 4 authors, 2012-08-15

Re: [PATCH] [ALPHA] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2012-08-15 22:03:34
Also in: kernel-janitors, lkml

On Sun, 12 Aug 2012 10:14:05 +0800
Fengguang Wu [off-list ref] wrote:
From: Mel Gorman <mgorman@suse.de>

The following build error occurred during an alpha build:

net/core/sock.c:274:36: error: initializer element is not constant

Dave Anglin says:
quoted
Here is the line in sock.i:

struct static_key memalloc_socks = ((struct static_key) { .enabled =
((atomic_t) { (0) }) });
The above line contains two compound literals.  It also uses a designated
initializer to initialize the field enabled.  A compound literal is not a
constant expression.

The location of the above statement isn't fully clear, but if a compound
literal occurs outside the body of a function, the initializer list must
consist of constant expressions.

Cc: <redacted>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Fengguang Wu <redacted>
I'll remvoe the Cc:stable from this one - the regression is post-3.5.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help