From 6b145763f7cc7afa115b85df5827a4f46793738a Mon Sep 17 00:00:00 2001 From: "Timothy D. Prime" Date: Thu, 26 Jan 2017 17:30:00 -0800 Subject: [PATCH] Fix clang build failure, caused by mixing C and C++ Easily fixed by moving a C++ header out of 'extern "C" {...}'. When building with CC=clang CXX=clang++ make, [ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctTypes.cpp.o In file included from /home/tdprime/bitmonero/src/ringct/rctTypes.cpp:31: In file included from /home/tdprime/bitmonero/src/ringct/rctTypes.h:43: In file included from /home/tdprime/bitmonero/src/crypto/generic-ops.h:34: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/cstring:100:3: error: conflicting types for 'memchr' memchr(void* __s, int __c, size_t __n) ^ /usr/include/string.h:92:14: note: previous declaration is here extern void *memchr (const void *__s, int __c, size_t __n) ^ ... and 4 more similar errors --- src/ringct/rctTypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ringct/rctTypes.h b/src/ringct/rctTypes.h index b1aa243b9..0c27745e1 100644 --- a/src/ringct/rctTypes.h +++ b/src/ringct/rctTypes.h @@ -40,11 +40,11 @@ #include extern "C" { -#include "crypto/generic-ops.h" #include "crypto/crypto-ops.h" #include "crypto/random.h" #include "crypto/keccak.h" } +#include "crypto/generic-ops.h" #include "crypto/crypto.h" #include "serialization/serialization.h"