Yury Gribov <y.gri...@samsung.com> writes: > --- a/include/libiberty.h > +++ b/include/libiberty.h > @@ -655,6 +655,33 @@ extern size_t strnlen (const char *, size_t); > extern int strverscmp (const char *, const char *); > #endif > > +#if defined(HAVE_DECL_STRTOL) && !HAVE_DECL_STRTOL > +extern long int strtol (const char *nptr, > + char **endptr, int base); > +#endif > + > +#if defined(HAVE_DECL_STRTOUL) && !HAVE_DECL_STRTOUL > +extern unsigned long int strtoul (const char *nptr, > + char **endptr, int base); > +#endif > + > +#if defined(HAVE_DECL_STRTOLL) && !HAVE_DECL_STRTOLL > +__extension__ > +extern long long int strtoll (const char *nptr, > + char **endptr, int base); > +#endif > + > +#if defined(HAVE_DECL_STRTOULL) && !HAVE_DECL_STRTOULL > +__extension__ > +extern unsigned long long int strtoull (const char *nptr, > + char **endptr, int base); > +#endif
Your patch is otherwise careful to check that only use "long long" if the compiler supports it. Here you are not. I think you need to wrap the declarations of strtoll and strtoull in #ifdef HAVE_LONG_LONG With that change the libiberty/include patch is OK. Thanks. Ian