This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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]

Re: Problems with gcc + exceptions + -pedantic + libiberty.h



Ok, minus the obvious typo.  A similar patch for getopt.h is
preapproved.  I think this leaves two problems remaining:

1. subdirs that don't yet test for a decl - should they get the ()
   decl, or no decl?

2. C++ source shouldn't ever see the () decl, me thinks.  It's inside
   an extern "C" but I have this nagging feeling I've seen C++ sources
   complain if they don't also see the real prototype.

And all those platform-specific things really bother me :-(

> Here ya go.
> 
> 	* libiberty.h (basename): Don't declare if HAVE_DECL_BASENAME.
> 
> Index: include/libiberty.h
> ===================================================================
> RCS file: /cvs/src/src/include/libiberty.h,v
> retrieving revision 1.15
> diff -u -p -r1.15 libiberty.h
> --- libiberty.h	2001/10/23 15:31:55	1.15
> +++ libiberty.h	2002/01/08 04:12:30
> @@ -73,12 +73,12 @@ extern char **dupargv PARAMS ((char **))
>     declaration without arguments.  If it is 0, we checked and failed
>     to find the declaration so provide a fully prototyped one.  If it
>     is 1, we found it so don't provide any declaration at all.  */
> -#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || (defined (HAVE_DECL_BASENAME) && !HAVE_DECL_BASENAME)
> +#if !HAVE_DECL_BASENAME
> +#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || (defined (HAVE_DECL_BASENAME)
>  extern char *basename PARAMS ((const char *));
>  #else
> -# if !defined (HAVE_DECL_BASENAME)
>  extern char *basename ();
> -# endif
> +#endif
>  #endif
>  
>  /* A well-defined basename () that is always compiled in.  */
> 
> -- 
> Alan Modra
> IBM OzLabs - Linux Technology Centre
> 


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