configure: add '-Wlogical-op' to warning flags
[lttng-tools.git] / src / common / macros.h
index af9cb7e19bca6ac8eb632e2a5b6941d04aff285c..3e175735083a9df7d390cdad5cc5fa43a20c4c26 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 EfficiOS Inc.
  * Copyright (C) 2011 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
  * SPDX-License-Identifier: GPL-2.0-only
@@ -74,6 +74,7 @@ void *zmalloc(size_t len)
 #define member_sizeof(type, field)     sizeof(((type *) 0)->field)
 
 #define ASSERT_LOCKED(lock) LTTNG_ASSERT(pthread_mutex_trylock(&lock))
+#define ASSERT_RCU_READ_LOCKED(lock) LTTNG_ASSERT(rcu_read_ongoing())
 
 /* Attribute suitable to tag functions as having printf()-like arguments. */
 #define ATTR_FORMAT_PRINTF(_string_index, _first_to_check) \
@@ -93,12 +94,22 @@ void *zmalloc(size_t len)
 # define DIAGNOSTIC_IGNORE_SUGGEST_ATTRIBUTE_FORMAT
 # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \
        _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"")
+# define DIAGNOSTIC_IGNORE_LOGICAL_OP
 #else
   /* GCC */
 # define DIAGNOSTIC_IGNORE_SUGGEST_ATTRIBUTE_FORMAT \
        _Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=format\"")
 # define DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL \
        _Pragma("GCC diagnostic ignored \"-Wformat-nonliteral\"")
+# define DIAGNOSTIC_IGNORE_LOGICAL_OP \
+       _Pragma("GCC diagnostic ignored \"-Wlogical-op\"")
+#endif
+
+/* Used to make specific C++ functions to C code. */
+#ifdef __cplusplus
+#define C_LINKAGE extern "C"
+#else
+#define C_LINKAGE
 #endif
 
 /*
This page took 0.024006 seconds and 4 git commands to generate.