On Fri, May 1, 2015 at 4:45 PM, Yunlian Jiang <yunl...@google.com> wrote: > The test case does not have #define _GNU_SOURCE, so it says > error: ‘asprintf’ undeclared (first use in this function)
OK, then my next question is: why does the test case (I assume you mean the test case for whether to set HAVE_DECL_ASPRINTF) not have #define _GNU_SOURCE? What is the background here? Ian > On Fri, May 1, 2015 at 3:45 PM, Ian Lance Taylor <i...@google.com> wrote: >> On Tue, Apr 28, 2015 at 2:59 PM, Yunlian Jiang <yunl...@google.com> wrote: >>> I believe this is the same problem as >>> https://gcc.gnu.org/ml/gcc-patches/2008-07/msg00292.html >>> >>> The asprinf declaration is messed up when using clang to build gdb. >>> >>> diff --git a/include/libiberty.h b/include/libiberty.h >>> index b33dd65..a294903 100644 >>> --- a/include/libiberty.h >>> +++ b/include/libiberty.h >>> @@ -625,8 +625,10 @@ extern int pwait (int, int *, int); >>> /* Like sprintf but provides a pointer to malloc'd storage, which must >>> be freed by the caller. */ >>> >>> +#ifndef asprintf >>> extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2; >>> #endif >>> +#endif >>> >>> /* Like asprintf but allocates memory without fail. This works like >>> xmalloc. */ >> >> Why is HAVE_DECL_ASPRINTF not defined? >> >> Ian