summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2016-10-25 10:13:35 +0300
committerIvan Maidanski <ivmai@mail.ru>2016-10-25 10:14:05 +0300
commit30596717d2c3580e826b4660efdf1b1926fa1073 (patch)
tree82efaea57414e910ed9723bb5b9ca682d1f82947
parentd36197cd080ac6fea8e5feb1ef880cf6fe358ea3 (diff)
downloadlibatomic_ops-30596717d2c3580e826b4660efdf1b1926fa1073.tar.gz
Workaround 'function is never used' cppcheck style warnings
* src/atomic_ops.h [AO_CAN_EMUL_CAS]: Include emul_cas.h also if CPPCHECK (to define AO_store_full as AO_store_full_emulation). * tests/test_atomic_include.template [CPPCHECK] (list_atomicXX, char_list_atomicXX, short_list_atomicXX, int_list_atomicXX, double_list_atomicXX): Declare function. * tests/test_atomic_include.template test_atomicXX (test_atomicXX): Call list_atomicXX, char_list_atomicXX, short_list_atomicXX, int_list_atomicXX and double_list_atomicXX if CPPCHECK.
-rw-r--r--src/atomic_ops.h4
-rw-r--r--tests/test_atomic_include.template15
2 files changed, 17 insertions, 2 deletions
diff --git a/src/atomic_ops.h b/src/atomic_ops.h
index 277e7a3..993dd42 100644
--- a/src/atomic_ops.h
+++ b/src/atomic_ops.h
@@ -363,12 +363,12 @@
# define AO_CAN_EMUL_CAS
#endif
-#if defined(AO_REQUIRE_CAS) && !defined(AO_HAVE_compare_and_swap) \
+#if (defined(AO_REQUIRE_CAS) && !defined(AO_HAVE_compare_and_swap) \
&& !defined(AO_HAVE_fetch_compare_and_swap) \
&& !defined(AO_HAVE_compare_and_swap_full) \
&& !defined(AO_HAVE_fetch_compare_and_swap_full) \
&& !defined(AO_HAVE_compare_and_swap_acquire) \
- && !defined(AO_HAVE_fetch_compare_and_swap_acquire)
+ && !defined(AO_HAVE_fetch_compare_and_swap_acquire)) || defined(CPPCHECK)
# if defined(AO_CAN_EMUL_CAS)
# include "atomic_ops/sysdeps/emul_cas.h"
# elif !defined(CPPCHECK)
diff --git a/tests/test_atomic_include.template b/tests/test_atomic_include.template
index 6c11b1c..7db5879 100644
--- a/tests/test_atomic_include.template
+++ b/tests/test_atomic_include.template
@@ -16,6 +16,14 @@
#define MISSING(name) \
printf("Missing: %s\n", #name "XX")
+#if defined(CPPCHECK)
+ void list_atomicXX(void);
+ void char_list_atomicXX(void);
+ void short_list_atomicXX(void);
+ void int_list_atomicXX(void);
+ void double_list_atomicXX(void);
+#endif
+
void test_atomicXX(void)
{
AO_t x;
@@ -39,6 +47,13 @@ void test_atomicXX(void)
w.AO_val2 = 0;
# endif
+# if defined(CPPCHECK)
+ list_atomicXX();
+ char_list_atomicXX();
+ short_list_atomicXX();
+ int_list_atomicXX();
+ double_list_atomicXX();
+# endif
# if defined(AO_HAVE_nopXX)
AO_nopXX();
# elif !defined(AO_HAVE_nop) || !defined(AO_HAVE_nop_full) \