]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
channel: Fix redundant redeclaration warning 13142/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 16 Aug 2023 09:18:25 +0000 (11:18 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 16 Aug 2023 09:18:25 +0000 (11:18 +0200)
g++ reports:
```
In file included from channel.cc:23:
channel.hh:38:17: warning: redundant redeclaration of ‘void __tsan_acquire(void*)’ in same scope [-Wredundant-decls]
   38 | extern "C" void __tsan_acquire(void* addr);
      |                 ^~~~~~~~~~~~~~
In file included from /usr/include/c++/13.2.1/bits/shared_ptr_atomic.h:37,
                 from /usr/include/c++/13.2.1/memory:81,
                 from channel.hh:23:
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/sanitizer/tsan_interface.h:24:6: note: previous declaration of ‘void __tsan_acquire(void*)’
   24 | void __tsan_acquire(void *addr);
      |      ^~~~~~~~~~~~~~
channel.hh:39:17: warning: redundant redeclaration of ‘void __tsan_release(void*)’ in same scope [-Wredundant-decls]
   39 | extern "C" void __tsan_release(void* addr);
      |                 ^~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/include/sanitizer/tsan_interface.h:25:6: note: previous declaration of ‘void __tsan_release(void*)’
   25 | void __tsan_release(void *addr);
```

pdns/channel.hh

index 6947d3b26d4b6c083a1dc20504e51d7611e6b48b..b06ff03e48d659a225cd0e047a94aa3daaa478e5 100644 (file)
 #endif
 
 #if __SANITIZE_THREAD__
+#if defined __has_include
+#if __has_include(<sanitizer/tsan_interface.h>)
+#include <sanitizer/tsan_interface.h>
+#else /* __has_include(<sanitizer/tsan_interface.h>) */
 extern "C" void __tsan_acquire(void* addr);
 extern "C" void __tsan_release(void* addr);
-#endif
+#endif /* __has_include(<sanitizer/tsan_interface.h>) */
+#else /* defined __has_include */
+extern "C" void __tsan_acquire(void* addr);
+extern "C" void __tsan_release(void* addr);
+#endif /* defined __has_include */
+#endif /* __SANITIZE_THREAD__ */
 
 namespace pdns
 {