bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

latest test-string-c++.c causes CXX compilation failure


From: Jim Meyering
Subject: latest test-string-c++.c causes CXX compilation failure
Date: Tue, 09 Mar 2010 12:33:06 +0100

Hi,

I tried the latest from gnulib via coreutils,
and saw this:

In file included from test-string-c++.cc:23:
../lib/string.h:301: error: type of 'memchr' is unknown
../lib/string.h:301: error: invalid type in declaration before ';' token
../lib/string.h:301: error: 'int memchr' redeclared as different kind of symbol
/usr/include/string.h:76: error: previous declaration of 'const void* 
memchr(cons
t void*, int, size_t)'
In file included from test-string-c++.cc:23:
../lib/string.h:371: error: no matches converting function 'memrchr' to type 
'voi
d* (*)(const void*, int, size_t)'
/usr/include/string.h:114: error: candidates are: void* memrchr(void*, int, 
size_
t)
/usr/include/string.h:116: error:                 const void* memrchr(const 
void*
, int, size_t)
../lib/string.h:372: error: type of 'memrchr' is unknown
In file included from test-string-c++.cc:23:
../lib/string.h:372: error: invalid type in declaration before ';' token
../lib/string.h:372: error: 'int memrchr' redeclared as different kind of symbol
/usr/include/string.h:116: error: previous declaration of 'const void* 
memrchr(co
nst void*, int, size_t)'
In file included from test-string-c++.cc:23:
../lib/string.h:572: error: no matches converting function 'strpbrk' to type 
'cha
r* (*)(const char*, const char*)'
/usr/include/string.h:292: error: candidates are: char* strpbrk(char*, const 
char
*)
/usr/include/string.h:294: error:                 const char* strpbrk(const 
char*
, const char*)
../lib/string.h:574: error: type of 'strpbrk' is unknown
../lib/string.h:574: error: invalid type in declaration before ';' token
../lib/string.h:574: error: 'int strpbrk' redeclared as different kind of symbol
/usr/include/string.h:294: error: previous declaration of 'const char* 
strpbrk(co
nst char*, const char*)'
In file included from test-string-c++.cc:23:
../lib/string.h:662: error: no matches converting function 'strstr' to type 
'char
* (*)(const char*, const char*)'
/usr/include/string.h:319: error: candidates are: char* strstr(char*, const 
char*
)
/usr/include/string.h:321: error:                 const char* strstr(const 
char*,
 const char*)
../lib/string.h:664: error: type of 'strstr' is unknown
../lib/string.h:664: error: invalid type in declaration before ';' token
../lib/string.h:664: error: 'int strstr' redeclared as different kind of symbol
/usr/include/string.h:321: error: previous declaration of 'const char* 
strstr(con
st char*, const char*)'
test-string-c++.cc:28: error: 'memchr' is not a member of 'gnulib'
make[3]: *** [test-string-c++.o] Error 1
------------------------------------------------------------------

After a little preprocessing, I found this:

k.cc:3:1: warning: "__STDC__" redefined
<built-in>: warning: this is the location of the previous definition
k.cc:5:1: warning: "__STDC_HOSTED__" redefined
<built-in>: warning: this is the location of the previous definition
k.cc:3563: error: no matches converting function 'memchr' to type 'void* 
(*)(const void*, int, size_t)'
k.cc:3052: error: candidates are: void* memchr(void*, int, size_t)
k.cc:3054: error:                 const void* memchr(const void*, int, size_t)
k.cc:3566: error: type of 'memchr' is unknown
k.cc:3566: error: invalid type in declaration before ';' token
k.cc:3566: error: 'int memchr' redeclared as different kind of symbol
k.cc:3054: error: previous declaration of 'const void* memchr(const void*, int, 
size_t)'
k.cc:3573: error: no matches converting function 'memrchr' to type 'void* 
(*)(const void*, int, size_t)'
k.cc:3079: error: candidates are: void* memrchr(void*, int, size_t)
k.cc:3081: error:                 const void* memrchr(const void*, int, size_t)
k.cc:3574: error: type of 'memrchr' is unknown
k.cc:3574: error: invalid type in declaration before ';' token
k.cc:3574: error: 'int memrchr' redeclared as different kind of symbol
k.cc:3081: error: previous declaration of 'const void* memrchr(const void*, 
int, size_t)'
k.cc:3597: error: no matches converting function 'strpbrk' to type 'char* 
(*)(const char*, const char*)'
k.cc:3238: error: candidates are: char* strpbrk(char*, const char*)
k.cc:3240: error:                 const char* strpbrk(const char*, const char*)
k.cc:3599: error: type of 'strpbrk' is unknown
k.cc:3599: error: invalid type in declaration before ';' token
k.cc:3599: error: 'int strpbrk' redeclared as different kind of symbol
k.cc:3240: error: previous declaration of 'const char* strpbrk(const char*, 
const char*)'
k.cc:3601: error: no matches converting function 'strstr' to type 'char* 
(*)(const char*, const char*)'
k.cc:3252: error: candidates are: char* strstr(char*, const char*)
k.cc:3254: error:                 const char* strstr(const char*, const char*)
k.cc:3603: error: type of 'strstr' is unknown
k.cc:3603: error: invalid type in declaration before ';' token
k.cc:3603: error: 'int strstr' redeclared as different kind of symbol
k.cc:3254: error: previous declaration of 'const char* strstr(const char*, 
const char*)'

Line 3563 starts here:
------------------------------
namespace gnulib { static void * (*memchr) (void const *__s, int __c, size_t 
__n) = ::memchr; } extern "C" int _gl_cxxalias_dummy;


extern __typeof__ (memchr) memchr __attribute__ ((__warning__ ("The symbol ::" 
"memchr" " refers to the system function. " "Use " "gnulib" "::" "memchr" " 
instead.")));

namespace gnulib { static void * (*mempcpy) (void *__restrict __dest, void 
const *__restrict __src, size_t __n) = ::mempcpy; } extern "C" int 
_gl_cxxalias_dummy

                               ;
extern __typeof__ (mempcpy) mempcpy __attribute__ ((__warning__ ("The symbol 
::" "mempcpy" " refers to the system function. " "Use " "gnulib" "::" "mempcpy" 
" instead.")));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]