[review v3] Fix unused function error
Pedro Alves (Code Review)
gerrit@gnutoolchain-gerrit.osci.io
Wed Dec 11 17:17:00 GMT 2019
Pedro Alves has posted comments on this change.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/753
......................................................................
Patch Set 3:
(1 comment)
| --- /dev/null
| +++ /COMMIT_MSG
| @@ -1,0 +1,30 @@
| +Parent: 1d61b032 (Remove more shifts for sign/zero extension)
| +Author: Luis Machado <luis.machado@linaro.org>
| +AuthorDate: 2019-12-11 11:55:49 -0300
| +Commit: Luis Machado <luis.machado@linaro.org>
| +CommitDate: 2019-12-11 14:06:52 -0300
| +
| +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.
PS3, Line 21:
If this is legitimately a GCC bug, then I see two choices:
#1 - adjust to DIAGNOSTIC_IGNORE_UNUSED_FUNCTION to ignore "-Wunused"
instead of "-Wunused-function" for buggy gcc versions, assuming that
works.
#2 - switch to ATTRIBUTE_UNUSED like you have, but then we should nuke
DIAGNOSTIC_IGNORE_UNUSED_FUNCTION, since it doesn't work as
advertised.
ATTRIBUTE_UNUSED on the function like you have seems simpler for not
having to push/pop, aka not requiring global context. So I'm fine
with option #2.
What doesn't look good to me is working around one case but letting
the bug latent for another user of DIAGNOSTIC_IGNORE_UNUSED_FUNCTION.
There's no other user of DIAGNOSTIC_IGNORE_UNUSED_FUNCTION currently,
AFAICS, so #2 should be trivial.
| +
| +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.
| +
--
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: Iad6123d61d76d111e3ef8d24aa8c60112304c749
Gerrit-Change-Number: 753
Gerrit-PatchSet: 3
Gerrit-Owner: Luis Machado <luis.machado@linaro.org>
Gerrit-Reviewer: Luis Machado <luis.machado@linaro.org>
Gerrit-CC: Pedro Alves <palves@redhat.com>
Gerrit-Comment-Date: Wed, 11 Dec 2019 17:17:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
More information about the Gdb-patches
mailing list