public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [RFA] Fix compilation warning in libiberty.h
@ 2005-03-18 19:54 Joel Brobecker
  2005-03-18 19:56 ` Daniel Jacobowitz
  0 siblings, 1 reply; 13+ messages in thread
From: Joel Brobecker @ 2005-03-18 19:54 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 1058 bytes --]

Hello,

I noticed that the compiler emits a warning when building bfd.c
in libiberty.h. The compiler we are using is GNAT Pro based on
GCC 3.4.4. Here is the warning we get:

gcc -DHAVE_CONFIG_H -I. -I.././bfd -I. -D_GNU_SOURCE -I. -I.././bfd -I.././bfd/../include -I.././bfd/../intl -I../intl -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c bfd.c -o bfd.o
In file included from bfd.c:209:
.././bfd/../include/libiberty.h:80: warning: function declaration isn't a prototype

The problem is that this breaks the build because of the -Werror.

I think the problem is that the prototype is missing a ``void'' keyword.
This fixes the warning. The trouble I had was whether I wanted to use
the PARAMS macro or not. I seem to remember that we wanted to get away
from them, but then the rest of the file uses it. I kept it for now,
for better consistency.

Joel Brobecker  <brobecker@adacore.com>

        * include/libiberty.h,v (basename): Fix prototype definition.

Tested by building GDB on sparc-solaris 2.8.
OK to apply?

Thanks,
-- 
Joel

[-- Attachment #2: libiberty.h.diff --]
[-- Type: text/plain, Size: 736 bytes --]

Index: include/libiberty.h
===================================================================
RCS file: /cvs/src/src/include/libiberty.h,v
retrieving revision 1.31
diff -u -p -r1.31 libiberty.h
--- include/libiberty.h	10 Mar 2005 01:05:51 -0000	1.31
+++ include/libiberty.h	18 Mar 2005 17:38:07 -0000
@@ -77,7 +77,7 @@ extern char **dupargv PARAMS ((char **))
 #if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
 extern char *basename PARAMS ((const char *));
 #else
-extern char *basename ();
+extern char *basename PARAMS ((void));
 #endif
 #endif
 

^ permalink raw reply	[flat|nested] 13+ messages in thread
* [RFA] fix compilation warning in libiberty.h
@ 2005-03-31 15:51 Jerome Guitton
  2005-03-31 16:01 ` Daniel Jacobowitz
  2005-03-31 21:16 ` Maciej W. Rozycki
  0 siblings, 2 replies; 13+ messages in thread
From: Jerome Guitton @ 2005-03-31 15:51 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 396 bytes --]

The problem has been reported by Joel Brobecker:

http://sourceware.org/ml/binutils/2005-03/msg00529.html

HAVE_DECL_BASENAME was not defined during bfd's configure. This patch
should fix the problem.

OK to apply?

2005-03-31  Jerome Guitton  <guitton@gnat.com>

	* bfd/config.in (HAVE_DECL_BASENAME): New configure macro.
	* bfd/configure.in: Check for basename.
	* bfd/configure: Regenerate.


[-- Attachment #2: bfdconfig.dif --]
[-- Type: text/plain, Size: 3678 bytes --]

Index: config.in
===================================================================
RCS file: /cvs/src/src/bfd/config.in,v
retrieving revision 1.20
diff -u -p -r1.20 config.in
--- config.in	30 Mar 2005 02:46:24 -0000	1.20
+++ config.in	31 Mar 2005 12:33:44 -0000
@@ -24,6 +24,9 @@
 /* Define to 1 if you have the `dcgettext' function. */
 #undef HAVE_DCGETTEXT
 
+/* Define to 1 if basename is declared by the system. */
+#undef HAVE_DECL_BASENAME
+
 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
    */
 #undef HAVE_DIRENT_H
Index: configure
===================================================================
RCS file: /cvs/src/src/bfd/configure,v
retrieving revision 1.200
diff -u -p -r1.200 configure
--- configure	30 Mar 2005 02:46:24 -0000	1.200
+++ configure	31 Mar 2005 12:33:46 -0000
@@ -9539,6 +9539,76 @@ fi
 done
 
 
+echo "$as_me:$LINENO: checking for a declaration for basename" >&5
+echo $ECHO_N "checking for a declaration for basename... $ECHO_C" >&6
+if test "${bfd_cv_decl_basename+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include "sysdep.h"
+int
+main ()
+{
+#ifndef basename
+char *(*pfn)(char *) = basename;
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  bfd_cv_decl_basename=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+bfd_cv_decl_basename=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+echo "$as_me:$LINENO: result: $bfd_cv_decl_basename" >&5
+echo "${ECHO_T}$bfd_cv_decl_basename" >&6
+if test $bfd_cv_decl_basename = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DECL_BASENAME 1
+_ACEOF
+
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DECL_BASENAME 0
+_ACEOF
+
+fi
+
 
 case "${host}" in
 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
Index: configure.in
===================================================================
RCS file: /cvs/src/src/bfd/configure.in,v
retrieving revision 1.172
diff -u -p -r1.172 configure.in
--- configure.in	30 Mar 2005 02:46:24 -0000	1.172
+++ configure.in	31 Mar 2005 12:33:46 -0000
@@ -162,6 +162,22 @@ AC_HEADER_DIRENT
 AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid)
 AC_CHECK_FUNCS(strtoull)
 
+AC_MSG_CHECKING(for a declaration for basename)
+AC_CACHE_VAL(bfd_cv_decl_basename,
+[AC_TRY_COMPILE([#include "sysdep.h"],
+[#ifndef basename
+char *(*pfn)(char *) = basename;
+#endif],
+bfd_cv_decl_basename=yes, bfd_cv_decl_basename=no)])
+AC_MSG_RESULT($bfd_cv_decl_basename)
+if test $bfd_cv_decl_basename = yes; then
+AC_DEFINE([HAVE_DECL_BASENAME], 1,
+[Is basename declared by the system?])
+else
+AC_DEFINE([HAVE_DECL_BASENAME], 0,
+[Is basename declared by the system?])
+fi
+
 BFD_BINARY_FOPEN
 
 BFD_NEED_DECLARATION(ffs)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-04-26 10:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-18 19:54 [RFA] Fix compilation warning in libiberty.h Joel Brobecker
2005-03-18 19:56 ` Daniel Jacobowitz
2005-03-31 15:51 [RFA] fix " Jerome Guitton
2005-03-31 16:01 ` Daniel Jacobowitz
2005-03-31 17:08   ` Jerome Guitton
2005-03-31 17:28     ` Daniel Jacobowitz
2005-03-31 17:38       ` Jerome Guitton
2005-04-22 23:03   ` Adam Nemet
2005-04-25  1:44     ` Daniel Jacobowitz
2005-04-25  4:51       ` Adam Nemet
2005-04-26 10:40     ` Jerome Guitton
2005-03-31 21:16 ` Maciej W. Rozycki
2005-03-31 23:29   ` Jerome Guitton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).