Patchwork [review,v3] Fix unused function error

login
register
mail settings
Submitter Simon Marchi (Code Review)
Date Dec. 11, 2019, 5:07 p.m.
Message ID <20191211170709.AE39F20AF6@gnutoolchain-gerrit.osci.io>
Download mbox | patch
Permalink /patch/36720/
State New
Headers show

Comments

Simon Marchi (Code Review) - Dec. 11, 2019, 5:07 p.m.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/753
......................................................................

Fix unused function error

Attempting to build GDB in Ubuntu 16.04.6 LTS on x86_64, I ran into warnings
that caused the build to fail:

binutils-gdb/gdb/gdbsupport/safe-strerror.c:44:1: error: ‘char* select_strerror_r(char*, char*)’ defined but not used [-Werror=unused-function]  select_strerror_r (char *res, char *)

The diagnostics macros seem to expand correctly to their respective pragmas,
but it doesn't seem to have an effect on the warning. I tried to use the
pragmas explicitly and got the same result.

ATTRIBUTE_UNUSED works fine in this case, if you put it in both functions,
which should fix warnings for both gdb and gdbserver builds.

The compiler version is gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609.

gdb/ChangeLog:

2019-12-11  Luis Machado  <luis.machado@linaro.org>

	* gdb/gdbsupport/safe-strerror.c: Remove diagnostics.h
	(select_strerror_r): Use ATTRIBUTE_UNUSED instead of the diagnostics
	macros.

Change-Id: Iad6123d61d76d111e3ef8d24aa8c60112304c749
---
M gdb/gdbsupport/safe-strerror.c
1 file changed, 2 insertions(+), 7 deletions(-)

Patch

diff --git a/gdb/gdbsupport/safe-strerror.c b/gdb/gdbsupport/safe-strerror.c
index 9973fa6..9126507 100644
--- a/gdb/gdbsupport/safe-strerror.c
+++ b/gdb/gdbsupport/safe-strerror.c
@@ -18,7 +18,6 @@ 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "common-defs.h"
-#include "diagnostics.h"
 #include <string.h>
 
 /* There are two different versions of strerror_r; one is GNU-specific, the
@@ -29,25 +28,21 @@ 
 
 /* We only ever use one of the two overloads, so suppress the warning for
    an unused function.  */
-DIAGNOSTIC_PUSH
-DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
 
 /* Called if we have a XSI-compliant strerror_r.  */
-static char *
+ATTRIBUTE_UNUSED static char *
 select_strerror_r (int res, char *buf)
 {
   return res == 0 ? buf : nullptr;
 }
 
 /* Called if we have a GNU strerror_r.  */
-static char *
+ATTRIBUTE_UNUSED static char *
 select_strerror_r (char *res, char *)
 {
   return res;
 }
 
-DIAGNOSTIC_POP
-
 /* Implementation of safe_strerror as defined in common-utils.h.  */
 
 const char *