This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [commit] Build memmem with -Wno-error.
On Tue, 31 Aug 2010 21:48:34 +0200, Pedro Alves wrote:
> It would be better to come up with
> an $(INTERNAL_CFLAGS) variant that does not include -Werror in the first
> place, and use that instead in the memmem.o rule. gdb/Makefile.in uses
> INTERNAL_WARN_CFLAGS for exactly that. I suggest to do the same here. Take
> a look at the monitor.o rule in gdb/Makefile.in.
This is a longterm cosmetic problem. Anytime I modify anything in defs.h VIM
jumps to the warnings in monitor.c which I have to skip.
There should be the explicit -Wno-format-nonliteral form. Just removing
-Wformat-nonliteral or -Werror is not enough.
Combined the patch together with making it more restrictive. It should no
longer be IMO such a concern since Joel started removing -Werror for releases.
Tested compilation on x86_64-fedora14snapshot-linux-gnu.
Thanks,
Jan
gdb/
2010-08-31 Jan Kratochvil <jan.kratochvil@redhat.com>
* Makefile.in (GDB_WARN_CFLAGS_NO_FORMAT): Convert it to the no- form.
(monitor.o): Replace $(INTERNAL_WARN_CFLAGS) by $(INTERNAL_CFLAGS) and
add $(GDB_WARN_CFLAGS_NO_FORMAT).
(printcmd.o): Replace $(INTERNAL_CFLAGS_BASE) by $(INTERNAL_CFLAGS).
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -155,7 +155,8 @@ WERROR_CFLAGS = @WERROR_CFLAGS@
GDB_WARN_CFLAGS = $(WARN_CFLAGS)
GDB_WERROR_CFLAGS = $(WERROR_CFLAGS)
-GDB_WARN_CFLAGS_NO_FORMAT = `echo " $(GDB_WARN_CFLAGS) " | sed "s/ -Wformat-nonliteral / /g"`
+GDB_WARN_CFLAGS_NO_FORMAT = `echo " $(GDB_WARN_CFLAGS) " \
+ | sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"`
RDYNAMIC = @RDYNAMIC@
@@ -1531,14 +1532,15 @@ main.o: $(srcdir)/main.c
# definitly will not work. "monitor.c" needs to be rewritten so that
# it doesn't use format strings and instead uses callbacks.
monitor.o: $(srcdir)/monitor.c
- $(COMPILE.pre) $(INTERNAL_WARN_CFLAGS) $(COMPILE.post) $(srcdir)/monitor.c
+ $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
+ $(COMPILE.post) $(srcdir)/monitor.c
$(POSTCOMPILE)
# Do not try to build "printcmd.c" with -Wformat-nonliteral. It manually
# checks format strings.
printcmd.o: $(srcdir)/printcmd.c
- $(COMPILE.pre) $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS_NO_FORMAT) \
- $(GDB_WERROR_CFLAGS) $(COMPILE.post) $(srcdir)/printcmd.c
+ $(COMPILE.pre) $(INTERNAL_CFLAGS) $(GDB_WARN_CFLAGS_NO_FORMAT) \
+ $(COMPILE.post) $(srcdir)/printcmd.c
$(POSTCOMPILE)
# Message files. Based on code in gcc/Makefile.in.