This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

strnlen, strict ansi, newlib vs glibc


Hi

I have some native C++ code that I developed on CentOS and it
has no warnings. Someone moved it to Cygwin and reported warnings
for strnlen() not being prototyped. I investigated and the program did
include string.h. I tried RTEMS tools and got the same as Cygwin
since we have the same string.h from newlib.

Investigating this, it appears that strnlen() is protected by
__STRICT_ANSI__ on newlib and  __USE_XOPEN2K8 on Linux.

Command: g++ -Wall -std=c++0x -c strtest.cc

This program is enough to reproduce the issue:

    #include <string.h>

    // size_t strnlen( const char *, size_t );

    size_t f( const char *str )
    {
      return strnlen( str, 1000 );
    }


What do you all think?

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill@OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]