From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Date: Wed, 15 Aug 2012 22:03:28 +0000 Subject: Re: [PATCH] [ALPHA] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts Message-Id: <20120815150328.e1fb3676.akpm@linux-foundation.org> List-Id: References: <1343042420.3027.11.camel@dabdike.int.hansenpartnership.com> <20120723114258.GV9222@suse.de> <20120723122905.GA22476@localhost> <20120724074844.GA9519@localhost> <1343193053.3139.6.camel@dabdike> <20120802150209.GA26601@localhost> <502707D5.7020602@orcon.net.nz> <20120812021405.GB8442@localhost> In-Reply-To: <20120812021405.GB8442@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Fengguang Wu Cc: Michael Cree , linux-alpha@vger.kernel.org, Richard Henderson , Ivan Kokshaysky , Matt Turner , Tony Luck , James Bottomley , John David Anglin , Mel Gorman , kernel-janitors@vger.kernel.org, Kyle McMartin , LKML , Parisc List , David Miller On Sun, 12 Aug 2012 10:14:05 +0800 Fengguang Wu wrote: > From: Mel Gorman > > The following build error occurred during an alpha build: > > net/core/sock.c:274:36: error: initializer element is not constant > > Dave Anglin says: > > 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: > Signed-off-by: Mel Gorman > Signed-off-by: Fengguang Wu I'll remvoe the Cc:stable from this one - the regression is post-3.5.