[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202505021716.olmL8WzB-lkp@intel.com>
Date: Fri, 2 May 2025 17:46:53 +0800
From: kernel test robot <lkp@...el.com>
To: Nathan Chancellor <nathan@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Masahiro Yamada <masahiroy@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev,
Linux Memory Management List <linux-mm@...ck.org>,
Nicolas Schier <nicolas.schier@...ux.dev>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, llvm@...ts.linux.dev,
patches@...ts.linux.dev, stable@...r.kernel.org,
Linux Kernel Functional Testing <lkft@...aro.org>,
Marcus Seyfarth <m.seyfarth@...il.com>,
Nathan Chancellor <nathan@...nel.org>
Subject: Re: [PATCH 2/2] include/linux/typecheck.h: Zero initialize dummy
variables
Hi Nathan,
kernel test robot noticed the following build errors:
[auto build test ERROR on ebd297a2affadb6f6f4d2e5d975c1eda18ac762d]
url: https://github.com/intel-lab-lkp/linux/commits/Nathan-Chancellor/kbuild-Disable-Wdefault-const-init-field-unsafe/20250502-070313
base: ebd297a2affadb6f6f4d2e5d975c1eda18ac762d
patch link: https://lore.kernel.org/r/20250501-default-const-init-clang-v1-2-3d2c6c185dbb%40kernel.org
patch subject: [PATCH 2/2] include/linux/typecheck.h: Zero initialize dummy variables
config: arc-randconfig-002-20250502 (https://download.01.org/0day-ci/archive/20250502/202505021716.olmL8WzB-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250502/202505021716.olmL8WzB-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505021716.olmL8WzB-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/preempt.h:11,
from include/linux/sched.h:15,
from arch/arc/kernel/asm-offsets.c:6:
include/linux/irqflags.h: In function 'class_irqsave_destructor':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:268:21: note: in expansion of macro 'local_irq_restore'
268 | local_irq_restore(_T->flags),
| ^~~~~~~~~~~~~~~~~
include/linux/irqflags.h: In function 'class_irqsave_constructor':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:403:9: note: in definition of macro '__DEFINE_LOCK_GUARD_0'
403 | _lock; \
| ^~~~~
include/linux/irqflags.h:266:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_0'
266 | DEFINE_LOCK_GUARD_0(irqsave,
| ^~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:267:21: note: in expansion of macro 'local_irq_save'
267 | local_irq_save(_T->flags),
| ^~~~~~~~~~~~~~
In file included from include/linux/bitops.h:7,
from include/linux/thread_info.h:27,
from include/linux/sched.h:14:
include/linux/spinlock_api_smp.h: In function '__raw_spin_lock_irqsave':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:108:9: note: in expansion of macro 'local_irq_save'
108 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h: In function '__raw_spin_unlock_irqrestore':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock_api_smp.h:151:9: note: in expansion of macro 'local_irq_restore'
151 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h: In function '__raw_read_lock_irqsave':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:158:9: note: in expansion of macro 'local_irq_save'
158 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h: In function '__raw_write_lock_irqsave':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:184:9: note: in expansion of macro 'local_irq_save'
184 | local_irq_save(flags);
| ^~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h: In function '__raw_read_unlock_irqrestore':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:241:9: note: in expansion of macro 'local_irq_restore'
241 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h: In function '__raw_write_unlock_irqrestore':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:223:22: note: in expansion of macro 'raw_irqs_disabled_flags'
223 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/irqflags.h:177:17: note: in expansion of macro 'typecheck'
177 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:225:17: note: in expansion of macro 'raw_local_irq_restore'
225 | raw_local_irq_restore(flags); \
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/rwlock_api_smp.h:265:9: note: in expansion of macro 'local_irq_restore'
265 | local_irq_restore(flags);
| ^~~~~~~~~~~~~~~~~
include/linux/spinlock.h: In function 'spin_unlock_irqrestore':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:406:9: note: in expansion of macro 'raw_spin_unlock_irqrestore'
406 | raw_spin_unlock_irqrestore(&lock->rlock, flags);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:406:9: note: in expansion of macro 'raw_spin_unlock_irqrestore'
406 | raw_spin_unlock_irqrestore(&lock->rlock, flags);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:406:9: note: in expansion of macro 'raw_spin_unlock_irqrestore'
406 | raw_spin_unlock_irqrestore(&lock->rlock, flags);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:406:9: note: in expansion of macro 'raw_spin_unlock_irqrestore'
406 | raw_spin_unlock_irqrestore(&lock->rlock, flags);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h: In function 'class_raw_spinlock_irqsave_destructor':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:559:21: note: in expansion of macro 'raw_spin_unlock_irqrestore'
559 | raw_spin_unlock_irqrestore(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:559:21: note: in expansion of macro 'raw_spin_unlock_irqrestore'
559 | raw_spin_unlock_irqrestore(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:559:21: note: in expansion of macro 'raw_spin_unlock_irqrestore'
559 | raw_spin_unlock_irqrestore(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:385:25: note: in definition of macro '__DEFINE_UNLOCK_GUARD'
385 | if (_T->lock) { _unlock; } \
| ^~~~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:281:17: note: in expansion of macro 'typecheck'
281 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:559:21: note: in expansion of macro 'raw_spin_unlock_irqrestore'
559 | raw_spin_unlock_irqrestore(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h: In function 'class_raw_spinlock_irqsave_constructor':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:394:9: note: in definition of macro '__DEFINE_LOCK_GUARD_1'
394 | _lock; \
| ^~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:243:17: note: in expansion of macro 'typecheck'
243 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:558:21: note: in expansion of macro 'raw_spin_lock_irqsave'
558 | raw_spin_lock_irqsave(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:394:9: note: in definition of macro '__DEFINE_LOCK_GUARD_1'
394 | _lock; \
| ^~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:243:17: note: in expansion of macro 'typecheck'
243 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:558:21: note: in expansion of macro 'raw_spin_lock_irqsave'
558 | raw_spin_lock_irqsave(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:394:9: note: in definition of macro '__DEFINE_LOCK_GUARD_1'
394 | _lock; \
| ^~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:243:17: note: in expansion of macro 'typecheck'
243 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:558:21: note: in expansion of macro 'raw_spin_lock_irqsave'
558 | raw_spin_lock_irqsave(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:394:9: note: in definition of macro '__DEFINE_LOCK_GUARD_1'
394 | _lock; \
| ^~~~~
include/linux/spinlock.h:557:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1'
557 | DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
| ^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:243:17: note: in expansion of macro 'typecheck'
243 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/spinlock.h:558:21: note: in expansion of macro 'raw_spin_lock_irqsave'
558 | raw_spin_lock_irqsave(_T->lock, _T->flags),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h: In function 'class_raw_spinlock_irqsave_try_constructor':
>> include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:255:25: note: in definition of macro 'EXTEND_CLASS'
255 | { class_##_name##_t t = _init; return t; }
| ^~~~~
include/linux/spinlock.h:562:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1_COND'
562 | DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:298:9: note: in expansion of macro 'local_irq_save'
298 | local_irq_save(flags); \
| ^~~~~~~~~~~~~~
include/linux/spinlock.h:563:26: note: in expansion of macro 'raw_spin_trylock_irqsave'
563 | raw_spin_trylock_irqsave(_T->lock, _T->flags))
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: note: (near initialization for '__dummy')
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:255:25: note: in definition of macro 'EXTEND_CLASS'
255 | { class_##_name##_t t = _init; return t; }
| ^~~~~
include/linux/spinlock.h:562:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1_COND'
562 | DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:298:9: note: in expansion of macro 'local_irq_save'
298 | local_irq_save(flags); \
| ^~~~~~~~~~~~~~
include/linux/spinlock.h:563:26: note: in expansion of macro 'raw_spin_trylock_irqsave'
563 | raw_spin_trylock_irqsave(_T->lock, _T->flags))
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: error: empty scalar initializer
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:255:25: note: in definition of macro 'EXTEND_CLASS'
255 | { class_##_name##_t t = _init; return t; }
| ^~~~~
include/linux/spinlock.h:562:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1_COND'
562 | DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:298:9: note: in expansion of macro 'local_irq_save'
298 | local_irq_save(flags); \
| ^~~~~~~~~~~~~~
include/linux/spinlock.h:563:26: note: in expansion of macro 'raw_spin_trylock_irqsave'
563 | raw_spin_trylock_irqsave(_T->lock, _T->flags))
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:11:30: note: (near initialization for '__dummy2')
11 | typeof(x) __dummy2 = {}; \
| ^
include/linux/cleanup.h:255:25: note: in definition of macro 'EXTEND_CLASS'
255 | { class_##_name##_t t = _init; return t; }
| ^~~~~
include/linux/spinlock.h:562:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1_COND'
562 | DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:172:17: note: in expansion of macro 'typecheck'
172 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:216:17: note: in expansion of macro 'raw_local_irq_save'
216 | raw_local_irq_save(flags); \
| ^~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:298:9: note: in expansion of macro 'local_irq_save'
298 | local_irq_save(flags); \
| ^~~~~~~~~~~~~~
include/linux/spinlock.h:563:26: note: in expansion of macro 'raw_spin_trylock_irqsave'
563 | raw_spin_trylock_irqsave(_T->lock, _T->flags))
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/typecheck.h:10:24: error: empty scalar initializer
10 | ({ type __dummy = {}; \
| ^
include/linux/cleanup.h:255:25: note: in definition of macro 'EXTEND_CLASS'
255 | { class_##_name##_t t = _init; return t; }
| ^~~~~
include/linux/spinlock.h:562:1: note: in expansion of macro 'DEFINE_LOCK_GUARD_1_COND'
562 | DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/irqflags.h:188:17: note: in expansion of macro 'typecheck'
188 | typecheck(unsigned long, flags); \
| ^~~~~~~~~
include/linux/irqflags.h:217:22: note: in expansion of macro 'raw_irqs_disabled_flags'
217 | if (!raw_irqs_disabled_flags(flags)) \
| ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:298:9: note: in expansion of macro 'local_irq_save'
298 | local_irq_save(flags); \
vim +10 include/linux/typecheck.h
4
5 /*
6 * Check at compile time that something is of a particular type.
7 * Always evaluates to 1 so you may use it easily in comparisons.
8 */
9 #define typecheck(type,x) \
> 10 ({ type __dummy = {}; \
11 typeof(x) __dummy2 = {}; \
12 (void)(&__dummy == &__dummy2); \
13 1; \
14 })
15
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists