On Fri, Dec 5, 2008 at 12:27 PM, Mathieu Malaterre <[EMAIL PROTECTED]> wrote: > On Fri, Dec 5, 2008 at 12:12 PM, Eric Noulard <[EMAIL PROTECTED]> wrote: >> 2008/12/5 Mathieu Malaterre <[EMAIL PROTECTED]>: >>> 'lo there, >>> >>> I had my CFLAGS set to -Werror, and because of that a try compile failed >>> with: >>> >> [...] >>> /usr/share/cmake-2.6/Modules/CheckFunctionExists.c:3: warning: >>> conflicting types for built-in function 'strncasecmp' >>> >>> >>> Does this means strncasecmp is some kinf of function known by the >>> gcc compiler ? >> >> It should comes from #include <string.h> >> and not from gcc itself but I may be wrong... > > Ok that's a builtin function since gcc 4.1 (at least). > > http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Other-Builtins.html >
Would it make sense to prepend: -fno-builtin when gcc is detected ? Thanks -- Mathieu Ref: -fno-builtin -fno-builtin-function Don't recognize built-in functions that do not begin with __builtin_ as prefix. GCC normally generates special code to handle certain built-in functions more efficiently; for instance, calls to "alloca" may become single instructions that adjust the stack directly, and calls to "memcpy" may become inline copy loops. The resulting code is often both smaller and faster, but since the function calls no longer appear as such, you cannot set a breakpoint on those calls, nor can you change the behavior of the functions by linking with a different library. In addition, when a function is recognized as a built-in function, GCC may use information about that function to warn about problems with calls to that function, or to generate more efficient code, even if the resulting code still contains calls to that function. For example, warnings are given with -Wformat for bad calls to "printf", when "printf" is built in, and "strlen" is known not to modify global memory. With the -fno-builtin-function option only the built-in function function is disabled. function must not begin with __builtin_. If a function is named this is not built-in in this version of GCC, this option is ignored. There is no corresponding -fbuiltin-function option; if you wish to enable built-in functions selectively when using -fno-builtin or -ffreestanding, you may define macros such as: #define abs(n) __builtin_abs ((n)) #define strcpy(d, s) __builtin_strcpy ((d), (s)) _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake