Re: [PATCH 42/45] C++: Hide C++ keywords

kbuild test robot
2018-04-02T07:32:52Z

[-- Attachment #1: Type: text/plain, Size: 17438 bytes --]

Hi David,

I love your patch! Yet something to improve:

[auto build test ERROR on v4.16-rc7]
[cannot apply to linus/master tip/x86/core tip/locking/core v4.16 next-20180329]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/David-Howells/C-Convert-the-kernel-to-C/20180402-120344
config: x86_64-randconfig-a0-04021307 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:230:41: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline void atomic64_and(long i, atomic64_t *v)
^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:238:47: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long atomic64_fetch_and(long i, atomic64_t *v)
^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:247:40: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline void atomic64_or(long i, atomic64_t *v)
^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:255:46: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long atomic64_fetch_or(long i, atomic64_t *v)
^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:264:41: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline void atomic64_xor(long i, atomic64_t *v)
^~~~~~~~~~
arch/x86/include/asm/atomic64_64.h:272:47: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long atomic64_fetch_xor(long i, atomic64_t *v)
^~~~~~~~~~
In file included from include/linux/debug_locks.h:6:0,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from kernel/bounds.c:14:
include/linux/atomic.h:531:37: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_add_unless(atomic_t *v, int a, int u)
^~~~~~~~
include/linux/atomic.h:548:41: error: expected declaration specifiers or '...' before 'atomic_t'
static inline void atomic_andnot(int i, atomic_t *v)
^~~~~~~~
include/linux/atomic.h:553:46: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_fetch_andnot(int i, atomic_t *v)
^~~~~~~~
include/linux/atomic.h:558:54: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_fetch_andnot_relaxed(int i, atomic_t *v)
^~~~~~~~
include/linux/atomic.h:563:54: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_fetch_andnot_acquire(int i, atomic_t *v)
^~~~~~~~
include/linux/atomic.h:568:54: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_fetch_andnot_release(int i, atomic_t *v)
^~~~~~~~
include/linux/atomic.h:587:44: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_inc_not_zero_hint(atomic_t *v, int hint)
^~~~~~~~
include/linux/atomic.h:607:46: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_inc_unless_negative(atomic_t *p)
^~~~~~~~
include/linux/atomic.h:620:46: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_dec_unless_positive(atomic_t *p)
^~~~~~~~
include/linux/atomic.h:640:42: error: expected declaration specifiers or '...' before 'atomic_t'
static inline int atomic_dec_if_positive(atomic_t *v)
^~~~~~~~
include/linux/atomic.h:1052:49: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline void atomic64_andnot(long long i, atomic64_t *v)
^~~~~~~~~~
include/linux/atomic.h:1057:60: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long long atomic64_fetch_andnot(long long i, atomic64_t *v)
^~~~~~~~~~
include/linux/atomic.h:1062:68: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long long atomic64_fetch_andnot_relaxed(long long i, atomic64_t *v)
^~~~~~~~~~
include/linux/atomic.h:1067:68: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long long atomic64_fetch_andnot_acquire(long long i, atomic64_t *v)
^~~~~~~~~~
include/linux/atomic.h:1072:68: error: expected declaration specifiers or '...' before 'atomic64_t'
static inline long long atomic64_fetch_andnot_release(long long i, atomic64_t *v)
^~~~~~~~~~
In file included from include/linux/atomic.h:1080:0,
from include/linux/debug_locks.h:6,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from kernel/bounds.c:14:
include/asm-generic/atomic-long.h:24:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'atomic_long_t'
typedef atomic64_t atomic_long_t;
^~~~~~~~~~~~~
include/asm-generic/atomic-long.h:39:47: error: unknown type name 'atomic_long_t'
static inline long atomic_long_read##mo(const atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:45:1: note: in expansion of macro 'ATOMIC_LONG_READ_OP'
ATOMIC_LONG_READ_OP()
^~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:40:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{ \
^
include/asm-generic/atomic-long.h:45:1: note: in expansion of macro 'ATOMIC_LONG_READ_OP'
ATOMIC_LONG_READ_OP()
^~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:39:47: error: unknown type name 'atomic_long_t'
static inline long atomic_long_read##mo(const atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:46:1: note: in expansion of macro 'ATOMIC_LONG_READ_OP'
ATOMIC_LONG_READ_OP(_acquire)
^~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:40:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{ \
^
include/asm-generic/atomic-long.h:46:1: note: in expansion of macro 'ATOMIC_LONG_READ_OP'
ATOMIC_LONG_READ_OP(_acquire)
^~~~~~~~~~~~~~~~~~~
>> include/asm-generic/atomic-long.h:51:40: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
static inline void atomic_long_set##mo(atomic_long_t *l, long i) \
^
include/asm-generic/atomic-long.h:57:1: note: in expansion of macro 'ATOMIC_LONG_SET_OP'
ATOMIC_LONG_SET_OP()
^~~~~~~~~~~~~~~~~~
>> include/asm-generic/atomic-long.h:51:40: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
static inline void atomic_long_set##mo(atomic_long_t *l, long i) \
^
include/asm-generic/atomic-long.h:58:1: note: in expansion of macro 'ATOMIC_LONG_SET_OP'
ATOMIC_LONG_SET_OP(_release)
^~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:70:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(add,)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:71:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(add, _relaxed)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:72:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(add, _acquire)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:73:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(add, _release)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:74:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(sub,)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:75:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(sub, _relaxed)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:76:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(sub, _acquire)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:64:39: error: unknown type name 'atomic_long_t'; did you mean 'atomic_fetch_inc'?
atomic_long_##op##_return##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:77:1: note: in expansion of macro 'ATOMIC_LONG_ADD_SUB_OP'
ATOMIC_LONG_ADD_SUB_OP(sub, _release)
^~~~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:102:45: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
static __always_inline void atomic_long_inc(atomic_long_t *l)
^~~~~~~~~~~~~
atomic_long_xchg
include/asm-generic/atomic-long.h:109:45: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
static __always_inline void atomic_long_dec(atomic_long_t *l)
^~~~~~~~~~~~~
atomic_long_xchg
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:125:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(add, )
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:126:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(add, _relaxed)
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:127:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(add, _acquire)
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:128:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(add, _release)
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:129:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(sub, )
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^
include/asm-generic/atomic-long.h:130:1: note: in expansion of macro 'ATOMIC_LONG_FETCH_OP'
ATOMIC_LONG_FETCH_OP(sub, _relaxed)
^~~~~~~~~~~~~~~~~~~~
include/asm-generic/atomic-long.h:118:36: error: unknown type name 'atomic_long_t'; did you mean 'atomic_long_xchg'?
atomic_long_fetch_##op##mo(long i, atomic_long_t *l) \
^

vim +51 include/asm-generic/atomic-long.h

586b610e4 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 37
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 38 #define ATOMIC_LONG_READ_OP(mo) \
e3e72ab80 include/asm-generic/atomic-long.h Peter Zijlstra 2015-09-18 39 static inline long atomic_long_read##mo(const atomic_long_t *l) \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 40 { \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 41 ATOMIC_LONG_PFX(_t) *v = (ATOMIC_LONG_PFX(_t) *)l; \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 42 \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 43 return (long)ATOMIC_LONG_PFX(_read##mo)(v); \
d3cb48714 include/asm-generic/atomic.h Christoph Lameter 2006-01-06 44 }
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 45 ATOMIC_LONG_READ_OP()
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 @46 ATOMIC_LONG_READ_OP(_acquire)
d3cb48714 include/asm-generic/atomic.h Christoph Lameter 2006-01-06 47
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 48 #undef ATOMIC_LONG_READ_OP
d3cb48714 include/asm-generic/atomic.h Christoph Lameter 2006-01-06 49
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 50 #define ATOMIC_LONG_SET_OP(mo) \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 @51 static inline void atomic_long_set##mo(atomic_long_t *l, long i) \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 52 { \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 53 ATOMIC_LONG_PFX(_t) *v = (ATOMIC_LONG_PFX(_t) *)l; \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 54 \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 55 ATOMIC_LONG_PFX(_set##mo)(v, i); \
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 56 }
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 57 ATOMIC_LONG_SET_OP()
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 58 ATOMIC_LONG_SET_OP(_release)
6d79ef2d3 include/asm-generic/atomic-long.h Will Deacon 2015-08-06 59

:::::: The code at line 51 was first introduced by commit
:::::: 6d79ef2d30ee5af7315535d1e7bf6fce0008f815 locking, asm-generic: Add _{relaxed|acquire|release}() variants for 'atomic_long_t'

:::::: TO: Will Deacon <will.deacon@arm.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27675 bytes --]