All of lore.kernel.org
 help / color / mirror / Atom feed
* [csky-linux:v5.12-rc4-riscv-atomic-arch-v3 4/5] lib/atomic64_test.c:177:2: error: implicit declaration of function 'atomic64_sub_return_acquire'
@ 2021-04-19 18:06 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-19 18:06 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://github.com/c-sky/csky-linux v5.12-rc4-riscv-atomic-arch-v3
head:   516baf028b48129e1941ad764ef9a13271830bdc
commit: d985500eec5b9fa31462e5aa2b712b719d0de356 [4/5] locking/atomics: Fixup GENERIC_ATOMIC64 conflict with atomic-arch-fallback.h
config: powerpc64-randconfig-r022-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5a4343f8fb06acaa5c36355bcf58092c9cd)
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://github.com/c-sky/csky-linux/commit/d985500eec5b9fa31462e5aa2b712b719d0de356
        git remote add csky-linux https://github.com/c-sky/csky-linux
        git fetch --no-tags csky-linux v5.12-rc4-riscv-atomic-arch-v3
        git checkout d985500eec5b9fa31462e5aa2b712b719d0de356
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=powerpc64 

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

All errors (new ones prefixed by >>):

>> lib/atomic64_test.c:177:2: error: implicit declaration of function 'atomic64_sub_return_acquire' [-Werror,-Wimplicit-function-declaration]
           RETURN_FAMILY_TEST(64, sub_return, -=, onestwos);
           ^
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   lib/atomic64_test.c:177:2: note: did you mean 'atomic_sub_return_acquire'?
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   include/linux/atomic-fallback.h:285:1: note: 'atomic_sub_return_acquire' declared here
   atomic_sub_return_acquire(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:177:2: error: implicit declaration of function 'atomic64_sub_return_release' [-Werror,-Wimplicit-function-declaration]
           RETURN_FAMILY_TEST(64, sub_return, -=, onestwos);
           ^
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   lib/atomic64_test.c:177:2: note: did you mean 'atomic_sub_return_release'?
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   include/linux/atomic-fallback.h:296:1: note: 'atomic_sub_return_release' declared here
   atomic_sub_return_release(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:177:2: error: implicit declaration of function 'atomic64_sub_return_relaxed' [-Werror,-Wimplicit-function-declaration]
           RETURN_FAMILY_TEST(64, sub_return, -=, onestwos);
           ^
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   lib/atomic64_test.c:177:2: note: did you mean 'atomic_sub_return_relaxed'?
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   arch/powerpc/include/asm/atomic.h:95:1: note: 'atomic_sub_return_relaxed' declared here
   ATOMIC_OPS(sub, subf)
   ^
   arch/powerpc/include/asm/atomic.h:91:2: note: expanded from macro 'ATOMIC_OPS'
           ATOMIC_OP_RETURN_RELAXED(op, asm_op)                            \
           ^
   arch/powerpc/include/asm/atomic.h:56:19: note: expanded from macro 'ATOMIC_OP_RETURN_RELAXED'
   static inline int atomic_##op##_return_relaxed(int a, atomic_t *v)      \
                     ^
   <scratch space>:88:1: note: expanded from here
   atomic_sub_return_relaxed
   ^
   lib/atomic64_test.c:178:2: error: implicit declaration of function 'atomic64_sub_return_acquire' [-Werror,-Wimplicit-function-declaration]
           RETURN_FAMILY_TEST(64, sub_return, -=, -one);
           ^
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   lib/atomic64_test.c:178:2: error: implicit declaration of function 'atomic64_sub_return_release' [-Werror,-Wimplicit-function-declaration]
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
   lib/atomic64_test.c:178:2: error: implicit declaration of function 'atomic64_sub_return_relaxed' [-Werror,-Wimplicit-function-declaration]
   lib/atomic64_test.c:64:14: note: expanded from macro 'RETURN_FAMILY_TEST'
           FAMILY_TEST(TEST_RETURN, bit, op, c_op, val);           \
                       ^
>> lib/atomic64_test.c:182:2: error: implicit declaration of function 'atomic64_fetch_sub_acquire' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_sub, -=, onestwos);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:182:2: note: did you mean 'atomic_fetch_sub_acquire'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:332:1: note: 'atomic_fetch_sub_acquire' declared here
   atomic_fetch_sub_acquire(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:182:2: error: implicit declaration of function 'atomic64_fetch_sub_release' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_sub, -=, onestwos);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:182:2: note: did you mean 'atomic_fetch_sub_release'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:343:1: note: 'atomic_fetch_sub_release' declared here
   atomic_fetch_sub_release(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:182:2: error: implicit declaration of function 'atomic64_fetch_sub_relaxed' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_sub, -=, onestwos);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:182:2: note: did you mean 'atomic_fetch_sub_relaxed'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   arch/powerpc/include/asm/atomic.h:95:1: note: 'atomic_fetch_sub_relaxed' declared here
   ATOMIC_OPS(sub, subf)
   ^
   arch/powerpc/include/asm/atomic.h:92:2: note: expanded from macro 'ATOMIC_OPS'
           ATOMIC_FETCH_OP_RELAXED(op, asm_op)
           ^
   arch/powerpc/include/asm/atomic.h:73:19: note: expanded from macro 'ATOMIC_FETCH_OP_RELAXED'
   static inline int atomic_fetch_##op##_relaxed(int a, atomic_t *v)       \
                     ^
   <scratch space>:92:1: note: expanded from here
   atomic_fetch_sub_relaxed
   ^
   lib/atomic64_test.c:183:2: error: implicit declaration of function 'atomic64_fetch_sub_acquire' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_sub, -=, -one);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:183:2: error: implicit declaration of function 'atomic64_fetch_sub_release' [-Werror,-Wimplicit-function-declaration]
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:183:2: error: implicit declaration of function 'atomic64_fetch_sub_relaxed' [-Werror,-Wimplicit-function-declaration]
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
>> lib/atomic64_test.c:185:2: error: implicit declaration of function 'atomic64_fetch_or_acquire' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_or,  |=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:185:2: note: did you mean 'atomic_fetch_or_acquire'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:893:1: note: 'atomic_fetch_or_acquire' declared here
   atomic_fetch_or_acquire(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:185:2: error: implicit declaration of function 'atomic64_fetch_or_release' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_or,  |=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:185:2: note: did you mean 'atomic_fetch_or_release'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:904:1: note: 'atomic_fetch_or_release' declared here
   atomic_fetch_or_release(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:185:2: error: implicit declaration of function 'atomic64_fetch_or_relaxed' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_or,  |=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:185:2: note: did you mean 'atomic_fetch_or_relaxed'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   arch/powerpc/include/asm/atomic.h:109:1: note: 'atomic_fetch_or_relaxed' declared here
   ATOMIC_OPS(or, or)
   ^
   arch/powerpc/include/asm/atomic.h:106:2: note: expanded from macro 'ATOMIC_OPS'
           ATOMIC_FETCH_OP_RELAXED(op, asm_op)
           ^
   arch/powerpc/include/asm/atomic.h:73:19: note: expanded from macro 'ATOMIC_FETCH_OP_RELAXED'
   static inline int atomic_fetch_##op##_relaxed(int a, atomic_t *v)       \
                     ^
   <scratch space>:106:1: note: expanded from here
   atomic_fetch_or_relaxed
   ^
>> lib/atomic64_test.c:186:2: error: implicit declaration of function 'atomic64_fetch_and_acquire' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_and, &=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:186:2: note: did you mean 'atomic_fetch_and_acquire'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:747:1: note: 'atomic_fetch_and_acquire' declared here
   atomic_fetch_and_acquire(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:186:2: error: implicit declaration of function 'atomic64_fetch_and_release' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_and, &=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:186:2: note: did you mean 'atomic_fetch_and_release'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:758:1: note: 'atomic_fetch_and_release' declared here
   atomic_fetch_and_release(int i, atomic_t *v)
   ^
>> lib/atomic64_test.c:186:2: error: implicit declaration of function 'atomic64_fetch_and_relaxed' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_and, &=, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:186:2: note: did you mean 'atomic_fetch_and_relaxed'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   arch/powerpc/include/asm/atomic.h:108:1: note: 'atomic_fetch_and_relaxed' declared here
   ATOMIC_OPS(and, and)
   ^
   arch/powerpc/include/asm/atomic.h:106:2: note: expanded from macro 'ATOMIC_OPS'
           ATOMIC_FETCH_OP_RELAXED(op, asm_op)
           ^
   arch/powerpc/include/asm/atomic.h:73:19: note: expanded from macro 'ATOMIC_FETCH_OP_RELAXED'
   static inline int atomic_fetch_##op##_relaxed(int a, atomic_t *v)       \
                     ^
   <scratch space>:99:1: note: expanded from here
   atomic_fetch_and_relaxed
   ^
>> lib/atomic64_test.c:187:2: error: implicit declaration of function 'atomic64_fetch_andnot_acquire' [-Werror,-Wimplicit-function-declaration]
           FETCH_FAMILY_TEST(64, fetch_andnot, &= ~, v1);
           ^
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   lib/atomic64_test.c:187:2: note: did you mean 'atomic_fetch_andnot_acquire'?
   lib/atomic64_test.c:69:14: note: expanded from macro 'FETCH_FAMILY_TEST'
           FAMILY_TEST(TEST_FETCH, bit, op, c_op, val);            \
                       ^
   include/linux/atomic-fallback.h:815:1: note: 'atomic_fetch_andnot_acquire' declared here
   atomic_fetch_andnot_acquire(int i, atomic_t *v)
   ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.


vim +/atomic64_sub_return_acquire +177 lib/atomic64_test.c

41b9e9fcc1c44b Peter Zijlstra   2015-07-13  145  
86a8938078a8bb Luca Barbieri    2010-02-24  146  #define INIT(c) do { atomic64_set(&v, c); r = c; } while (0)
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  147  static __init void test_atomic64(void)
86a8938078a8bb Luca Barbieri    2010-02-24  148  {
86a8938078a8bb Luca Barbieri    2010-02-24  149  	long long v0 = 0xaaa31337c001d00dLL;
86a8938078a8bb Luca Barbieri    2010-02-24  150  	long long v1 = 0xdeadbeefdeafcafeLL;
86a8938078a8bb Luca Barbieri    2010-02-24  151  	long long v2 = 0xfaceabadf00df001LL;
ffba19ccae8d98 Michael Ellerman 2017-07-14  152  	long long v3 = 0x8000000000000000LL;
86a8938078a8bb Luca Barbieri    2010-02-24  153  	long long onestwos = 0x1111111122222222LL;
86a8938078a8bb Luca Barbieri    2010-02-24  154  	long long one = 1LL;
ffba19ccae8d98 Michael Ellerman 2017-07-14  155  	int r_int;
86a8938078a8bb Luca Barbieri    2010-02-24  156  
86a8938078a8bb Luca Barbieri    2010-02-24  157  	atomic64_t v = ATOMIC64_INIT(v0);
86a8938078a8bb Luca Barbieri    2010-02-24  158  	long long r = v0;
86a8938078a8bb Luca Barbieri    2010-02-24  159  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  160  
86a8938078a8bb Luca Barbieri    2010-02-24  161  	atomic64_set(&v, v1);
86a8938078a8bb Luca Barbieri    2010-02-24  162  	r = v1;
86a8938078a8bb Luca Barbieri    2010-02-24  163  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  164  	BUG_ON(atomic64_read(&v) != r);
86a8938078a8bb Luca Barbieri    2010-02-24  165  
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  166  	TEST(64, add, +=, onestwos);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  167  	TEST(64, add, +=, -one);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  168  	TEST(64, sub, -=, onestwos);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  169  	TEST(64, sub, -=, -one);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  170  	TEST(64, or, |=, v1);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  171  	TEST(64, and, &=, v1);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  172  	TEST(64, xor, ^=, v1);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  173  	TEST(64, andnot, &= ~, v1);
86a8938078a8bb Luca Barbieri    2010-02-24  174  
978e5a3692c3b6 Boqun Feng       2015-11-04  175  	RETURN_FAMILY_TEST(64, add_return, +=, onestwos);
978e5a3692c3b6 Boqun Feng       2015-11-04  176  	RETURN_FAMILY_TEST(64, add_return, +=, -one);
978e5a3692c3b6 Boqun Feng       2015-11-04 @177  	RETURN_FAMILY_TEST(64, sub_return, -=, onestwos);
978e5a3692c3b6 Boqun Feng       2015-11-04  178  	RETURN_FAMILY_TEST(64, sub_return, -=, -one);
86a8938078a8bb Luca Barbieri    2010-02-24  179  
28aa2bda2211f4 Peter Zijlstra   2016-04-18  180  	FETCH_FAMILY_TEST(64, fetch_add, +=, onestwos);
28aa2bda2211f4 Peter Zijlstra   2016-04-18  181  	FETCH_FAMILY_TEST(64, fetch_add, +=, -one);
28aa2bda2211f4 Peter Zijlstra   2016-04-18 @182  	FETCH_FAMILY_TEST(64, fetch_sub, -=, onestwos);
28aa2bda2211f4 Peter Zijlstra   2016-04-18  183  	FETCH_FAMILY_TEST(64, fetch_sub, -=, -one);
28aa2bda2211f4 Peter Zijlstra   2016-04-18  184  
28aa2bda2211f4 Peter Zijlstra   2016-04-18 @185  	FETCH_FAMILY_TEST(64, fetch_or,  |=, v1);
28aa2bda2211f4 Peter Zijlstra   2016-04-18 @186  	FETCH_FAMILY_TEST(64, fetch_and, &=, v1);
28aa2bda2211f4 Peter Zijlstra   2016-04-18 @187  	FETCH_FAMILY_TEST(64, fetch_andnot, &= ~, v1);
28aa2bda2211f4 Peter Zijlstra   2016-04-18  188  	FETCH_FAMILY_TEST(64, fetch_xor, ^=, v1);
28aa2bda2211f4 Peter Zijlstra   2016-04-18  189  
86a8938078a8bb Luca Barbieri    2010-02-24  190  	INIT(v0);
86a8938078a8bb Luca Barbieri    2010-02-24  191  	atomic64_inc(&v);
86a8938078a8bb Luca Barbieri    2010-02-24  192  	r += one;
86a8938078a8bb Luca Barbieri    2010-02-24  193  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  194  
86a8938078a8bb Luca Barbieri    2010-02-24  195  	INIT(v0);
86a8938078a8bb Luca Barbieri    2010-02-24  196  	atomic64_dec(&v);
86a8938078a8bb Luca Barbieri    2010-02-24  197  	r -= one;
86a8938078a8bb Luca Barbieri    2010-02-24  198  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  199  
978e5a3692c3b6 Boqun Feng       2015-11-04  200  	INC_RETURN_FAMILY_TEST(64, v0);
978e5a3692c3b6 Boqun Feng       2015-11-04  201  	DEC_RETURN_FAMILY_TEST(64, v0);
86a8938078a8bb Luca Barbieri    2010-02-24  202  
978e5a3692c3b6 Boqun Feng       2015-11-04  203  	XCHG_FAMILY_TEST(64, v0, v1);
978e5a3692c3b6 Boqun Feng       2015-11-04  204  	CMPXCHG_FAMILY_TEST(64, v0, v1, v2);
86a8938078a8bb Luca Barbieri    2010-02-24  205  
86a8938078a8bb Luca Barbieri    2010-02-24  206  	INIT(v0);
9efbcd59024304 Luca Barbieri    2010-03-01  207  	BUG_ON(atomic64_add_unless(&v, one, v0));
86a8938078a8bb Luca Barbieri    2010-02-24  208  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  209  
86a8938078a8bb Luca Barbieri    2010-02-24  210  	INIT(v0);
9efbcd59024304 Luca Barbieri    2010-03-01  211  	BUG_ON(!atomic64_add_unless(&v, one, v1));
86a8938078a8bb Luca Barbieri    2010-02-24  212  	r += one;
86a8938078a8bb Luca Barbieri    2010-02-24  213  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  214  
86a8938078a8bb Luca Barbieri    2010-02-24  215  	INIT(onestwos);
86a8938078a8bb Luca Barbieri    2010-02-24  216  	BUG_ON(atomic64_dec_if_positive(&v) != (onestwos - 1));
86a8938078a8bb Luca Barbieri    2010-02-24  217  	r -= one;
86a8938078a8bb Luca Barbieri    2010-02-24  218  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  219  
86a8938078a8bb Luca Barbieri    2010-02-24  220  	INIT(0);
86a8938078a8bb Luca Barbieri    2010-02-24  221  	BUG_ON(atomic64_dec_if_positive(&v) != -one);
86a8938078a8bb Luca Barbieri    2010-02-24  222  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  223  
86a8938078a8bb Luca Barbieri    2010-02-24  224  	INIT(-one);
86a8938078a8bb Luca Barbieri    2010-02-24  225  	BUG_ON(atomic64_dec_if_positive(&v) != (-one - one));
86a8938078a8bb Luca Barbieri    2010-02-24  226  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  227  
86a8938078a8bb Luca Barbieri    2010-02-24  228  	INIT(onestwos);
25a304f277ad70 Luca Barbieri    2010-03-01  229  	BUG_ON(!atomic64_inc_not_zero(&v));
86a8938078a8bb Luca Barbieri    2010-02-24  230  	r += one;
86a8938078a8bb Luca Barbieri    2010-02-24  231  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  232  
86a8938078a8bb Luca Barbieri    2010-02-24  233  	INIT(0);
25a304f277ad70 Luca Barbieri    2010-03-01  234  	BUG_ON(atomic64_inc_not_zero(&v));
86a8938078a8bb Luca Barbieri    2010-02-24  235  	BUG_ON(v.counter != r);
86a8938078a8bb Luca Barbieri    2010-02-24  236  
86a8938078a8bb Luca Barbieri    2010-02-24  237  	INIT(-one);
25a304f277ad70 Luca Barbieri    2010-03-01  238  	BUG_ON(!atomic64_inc_not_zero(&v));
86a8938078a8bb Luca Barbieri    2010-02-24  239  	r += one;
86a8938078a8bb Luca Barbieri    2010-02-24  240  	BUG_ON(v.counter != r);
ffba19ccae8d98 Michael Ellerman 2017-07-14  241  
ffba19ccae8d98 Michael Ellerman 2017-07-14  242  	/* Confirm the return value fits in an int, even if the value doesn't */
ffba19ccae8d98 Michael Ellerman 2017-07-14  243  	INIT(v3);
ffba19ccae8d98 Michael Ellerman 2017-07-14  244  	r_int = atomic64_inc_not_zero(&v);
ffba19ccae8d98 Michael Ellerman 2017-07-14  245  	BUG_ON(!r_int);
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  246  }
41b9e9fcc1c44b Peter Zijlstra   2015-07-13  247  

:::::: The code at line 177 was first introduced by commit
:::::: 978e5a3692c3b674b4c7c412e96835fd996c2ff4 atomics: Add test for atomic operations with _relaxed variants

:::::: TO: Boqun Feng <boqun.feng@gmail.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

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

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-19 18:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 18:06 [csky-linux:v5.12-rc4-riscv-atomic-arch-v3 4/5] lib/atomic64_test.c:177:2: error: implicit declaration of function 'atomic64_sub_return_acquire' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.