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

m68k: Add braces to __pmd(x) initializer to kill compiler warning

With gcc 4.1.2:

include/linux/swapops.h: In function ‘swp_entry_to_pmd’:
include/linux/swapops.h:294: warning: missing braces around initializer
include/linux/swapops.h:294: warning: (near initialization for ‘(anonymous).pmd’)

Due to a GCC zero initializer bug (#53119), the standard "(pmd_t){ 0 }"
initializer is not accepted by all GCC versions.
In addition, on m68k pmd_t is an array instead of a single value, so we
need "(pmd_t){ { 0 }, }" instead of "(pmd_t){ 0 }".

Based on commit 9157259d16a8 ("mm: add pmd_t initializer __pmd() to
work around a GCC bug.") for sparc32.

Fixes: 616b8371539a ("mm: thp: enable thp migration in generic path")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Geert Uytterhoeven and committed by
Linus Torvalds
4c2b5e0f 7898f796

+1 -1
+1 -1
arch/m68k/include/asm/page.h
··· 32 32 #define pgprot_val(x) ((x).pgprot) 33 33 34 34 #define __pte(x) ((pte_t) { (x) } ) 35 - #define __pmd(x) ((pmd_t) { (x) } ) 35 + #define __pmd(x) ((pmd_t) { { (x) }, }) 36 36 #define __pgd(x) ((pgd_t) { (x) } ) 37 37 #define __pgprot(x) ((pgprot_t) { (x) } ) 38 38