[rcu:willy-maple 125/202] include/linux/maple_tree.h:79:22: error: use of undeclared identifier 'MAPLE_RANGE64_SLOTS'

From: kernel test robot
Date: Tue Feb 02 2021 - 17:58:49 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git willy-maple
head: 7e346d2845b4bd77663394f39fa70456e0084c86
commit: 824aa5e4af0be646da193e90e3383651b93f1c8d [125/202] Maple Tree: Add new data structure
config: powerpc64-randconfig-r002-20210202 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 275c6af7d7f1ed63a03d05b4484413e447133269)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git/commit/?id=824aa5e4af0be646da193e90e3383651b93f1c8d
git remote add rcu https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
git fetch --no-tags rcu willy-maple
git checkout 824aa5e4af0be646da193e90e3383651b93f1c8d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from lib/maple_tree.c:9:
>> include/linux/maple_tree.h:79:22: error: use of undeclared identifier 'MAPLE_RANGE64_SLOTS'
unsigned long pivot[MAPLE_RANGE64_SLOTS - 1];
^
include/linux/maple_tree.h:80:19: error: use of undeclared identifier 'MAPLE_RANGE64_SLOTS'
void __rcu *slot[MAPLE_RANGE64_SLOTS];
^
>> include/linux/maple_tree.h:85:22: error: use of undeclared identifier 'MAPLE_ARANGE64_SLOTS'
unsigned long pivot[MAPLE_ARANGE64_SLOTS - 1];
^
include/linux/maple_tree.h:86:19: error: use of undeclared identifier 'MAPLE_ARANGE64_SLOTS'
void __rcu *slot[MAPLE_ARANGE64_SLOTS];
^
include/linux/maple_tree.h:87:20: error: use of undeclared identifier 'MAPLE_ARANGE64_SLOTS'
unsigned long gap[MAPLE_ARANGE64_SLOTS];
^
>> include/linux/maple_tree.h:96:27: error: use of undeclared identifier 'MAPLE_NODE_SLOTS'
struct maple_alloc *slot[MAPLE_ALLOC_SLOTS];
^
include/linux/maple_tree.h:91:28: note: expanded from macro 'MAPLE_ALLOC_SLOTS'
#define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 1)
^
include/linux/maple_tree.h:145:21: error: use of undeclared identifier 'MAPLE_NODE_SLOTS'
void __rcu *slot[MAPLE_NODE_SLOTS];
^
In file included from lib/maple_tree.c:18:
In file included from include/trace/events/maple_tree.h:227:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:43:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insb, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:261:1: note: expanded from here
__do_insb
^
arch/powerpc/include/asm/io.h:556:56: note: expanded from macro '__do_insb'
#define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from lib/maple_tree.c:18:
In file included from include/trace/events/maple_tree.h:227:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:45:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:263:1: note: expanded from here
__do_insw
^
arch/powerpc/include/asm/io.h:557:56: note: expanded from macro '__do_insw'
#define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from lib/maple_tree.c:18:
In file included from include/trace/events/maple_tree.h:227:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:47:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:265:1: note: expanded from here
__do_insl
^
arch/powerpc/include/asm/io.h:558:56: note: expanded from macro '__do_insl'
#define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from lib/maple_tree.c:18:
In file included from include/trace/events/maple_tree.h:227:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:9:
In file included from include/linux/hardirq.h:10:
In file included from arch/powerpc/include/asm/hardirq.h:6:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/powerpc/include/asm/io.h:619:
arch/powerpc/include/asm/io-defs.h:49:1: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/include/asm/io.h:616:3: note: expanded from macro 'DEF_PCI_AC_NORET'
__do_##name al; \
^~~~~~~~~~~~~~
<scratch space>:267:1: note: expanded from here
__do_outsb
^
arch/powerpc/include/asm/io.h:559:58: note: expanded from macro '__do_outsb'
#define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n))
~~~~~~~~~~~~~~~~~~~~~^
In file included from lib/maple_tree.c:18:
In file included from include/trace/events/maple_tree.h:227:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:


vim +/MAPLE_RANGE64_SLOTS +79 include/linux/maple_tree.h

40
41
42 /**
43 * maple_tree node explained
44 *
45 * Each node type has a number of slots for entries and a number of slots for
46 * pivots. In the case of dense nodes, the pivots are implied by the position
47 * and are simply the slot index + the minimum of the node.
48 *
49 * In regular B-Tree terms, pivots are called keys. The term pivot is used to
50 * indicate that the tree is specifying ranges, Pivots may appear in the
51 * subtree with an entry attached to the value where as keys are unique to a
52 * specific position of a B-tree. Pivot values are inclusive of the slot with
53 * the same index.
54 *
55 *
56 * The following illustrates the layout of a range64 nodes slots and pivots.
57 *
58 * _________________________________
59 * Slots -> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
60 * ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬
61 * │ │ │ │ │ │ │ │ └─ Implied maximum
62 * │ │ │ │ │ │ │ └─ Pivot 6
63 * │ │ │ │ │ │ └─ Pivot 5
64 * │ │ │ │ │ └─ Pivot 4
65 * │ │ │ │ └─ Pivot 3
66 * │ │ │ └─ Pivot 2
67 * │ │ └─ Pivot 1
68 * │ └─ Pivot 0
69 * └─ Implied minimum
70 *
71 * Slot contents:
72 * Internal (non-leaf) nodes contain pointers to other nodes.
73 * Leaf nodes contain entries.
74 *
75 *
76 */
77 struct maple_range_64 {
78 struct maple_pnode *parent;
> 79 unsigned long pivot[MAPLE_RANGE64_SLOTS - 1];
80 void __rcu *slot[MAPLE_RANGE64_SLOTS];
81 };
82
83 struct maple_arange_64 {
84 struct maple_pnode *parent;
> 85 unsigned long pivot[MAPLE_ARANGE64_SLOTS - 1];
86 void __rcu *slot[MAPLE_ARANGE64_SLOTS];
87 unsigned long gap[MAPLE_ARANGE64_SLOTS];
88 unsigned char meta;
89 };
90
91 #define MAPLE_ALLOC_SLOTS (MAPLE_NODE_SLOTS - 1)
92 struct maple_alloc {
93 unsigned long total;
94 unsigned char node_count;
95 unsigned int request_count;
> 96 struct maple_alloc *slot[MAPLE_ALLOC_SLOTS];
97 };
98

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip