Compiler-warnings tatsächlich einschalten.

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Compiler-warnings tatsächlich einschalten.

Beitrag von seife »

Hallo,

Mutig, wie wir ja sind, ist in den Compiler-Flags "-Wall" eingeschaltet. Ich habe mich dann doch gewundert, warum selbst meine schmutzigen dreambox-neutrino-Patches ohne zusätzlichen Warnings gebaut haben.
Des Rätsels Lösung: "-Wall" wirkt nur, wenn mit "-W" die Warnings generell erst einmal eingeschaltet wurden.
Patch ist trivial:

Code: Alles auswählen

Index: apps/dvb/zapit/configure.ac
===================================================================
RCS file: /cvs/tuxbox/apps/dvb/zapit/configure.ac,v
retrieving revision 1.22
diff -u -p -r1.22 configure.ac
--- a/apps/dvb/zapit/configure.ac       18 Jan 2005 07:53:05 -0000      1.22
+++ b/apps/dvb/zapit/configure.ac       16 May 2007 07:46:38 -0000
@@ -13,7 +13,7 @@ TUXBOX_APPS_DVB
 TUXBOX_APPS_LIB_PKGCONFIG(CONFIGFILE,tuxbox-configfile)
 TUXBOX_APPS_LIB_PKGCONFIG(CONNECTION,tuxbox-connection)
 TUXBOX_APPS_LIB_PKGCONFIG(EVENTSERVER,tuxbox-eventserver)
-CPPFLAGS="$CPPFLAGS $EVENTSERVER_CFLAGS -Werror"
+CPPFLAGS="$CPPFLAGS $EVENTSERVER_CFLAGS"
 CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
 LDFLAGS="$LDFLAGS $EVENTSERVER_LIBS"

Index: cdk/Makefile.am
===================================================================
RCS file: /cvs/tuxbox/cdk/Makefile.am,v
retrieving revision 1.524
diff -u -p -r1.524 Makefile.am
--- a/cdk/Makefile.am   24 Feb 2007 08:24:14 -0000      1.524
+++ b/cdk/Makefile.am   16 May 2007 07:46:49 -0000
@@ -1918,8 +1918,8 @@ CONFIGURE = \
        ./autogen.sh && \
        CC=$(target)-gcc \
        CXX=$(target)-g++ \
-       CFLAGS="-Wall $(TARGET_CFLAGS)" \
-       CXXFLAGS="-Wall $(TARGET_CXXFLAGS)" \
+       CFLAGS="-W -Wall $(TARGET_CFLAGS)" \
+       CXXFLAGS="-W -Wall $(TARGET_CXXFLAGS)" \
        ./configure $(CONFIGURE_OPTS) $(CONFIGURE_OPTS_MAINTAINER) $(CONFIGURE_OPTS_DEBUG)

 # dvb/config
Im zapit mußte ich das "-Werror" rausnehmen, da es sonst gar nicht baut.
Wer nun sagt "wozu sollen wir die ganzen Warnings sehen/fixen", der sollte dann konsequenterweise auch das "-Wall" rausnehmen ;-)
Ich baue gerade ein HEAD um zu sehen, ob es auch funktioniert (mit den dream-patches gehts, aber das heißt ja nix), wenn es durchbaut, schreibe ich das hier dazu.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Einer fehlte noch:

Code: Alles auswählen

Index: apps/misc/tools/devinit/Makefile.am
===================================================================
RCS file: /cvs/tuxbox/apps/misc/tools/devinit/Makefile.am,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile.am
--- a/apps/misc/tools/devinit/Makefile.am       13 Dec 2005 22:23:56 -0000      1.1
+++ b/apps/misc/tools/devinit/Makefile.am       16 May 2007 10:05:31 -0000
@@ -1,4 +1,4 @@
 bin_PROGRAMS = devinit

 devinit_SOURCES = devinit.c
-AM_CFLAGS = -Wall -Werror
+AM_CFLAGS = -Wall
damit hat ein einfaches "make", was wohl ziemlich alles baut, durchgebaut.
Muttersöhnchen
Interessierter
Interessierter
Beiträge: 73
Registriert: Samstag 31. Juli 2004, 18:15

Re: Compiler-warnings tatsächlich einschalten.

Beitrag von Muttersöhnchen »

seife hat geschrieben: Des Rätsels Lösung: "-Wall" wirkt nur, wenn mit "-W" die Warnings generell erst einmal eingeschaltet wurden.
Wo hast du das her ?
-Wall wird direkt angewendet ohne zusätzlichen -W
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Compiler-warnings tatsächlich einschalten.

Beitrag von seife »

Muttersöhnchen hat geschrieben:
seife hat geschrieben: Des Rätsels Lösung: "-Wall" wirkt nur, wenn mit "-W" die Warnings generell erst einmal eingeschaltet wurden.
Wo hast du das her ?
-Wall wird direkt angewendet ohne zusätzlichen -W
Probiert?

Edit:
oder anders gesagt: probier es mal mit meinem Patch aus, und du wirst dich wundern, wieviele Warnings plötzlich auftauchen. Mit einem kleinen test.c und plain gcc kann ich es auch nicht reproduzieren, aber es schaltet definitiv zusätzliche Warnings an.
/edit
Zuletzt geändert von seife am Donnerstag 17. Mai 2007, 21:42, insgesamt 1-mal geändert.
Muttersöhnchen
Interessierter
Interessierter
Beiträge: 73
Registriert: Samstag 31. Juli 2004, 18:15

Beitrag von Muttersöhnchen »

Was soll ich probieren ?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

ich habe doch noch einen Testcase gefunden (lesen der gcc-manpage bildet enorm ;-)

Code: Alles auswählen

seife@strolchi:/tmp> cat test.c
int test(int x)
{
        return 0;
}

int main()
{
        int a = test(0);
        return a;
}
seife@strolchi:/tmp> gcc -Wall test.c
seife@strolchi:/tmp> gcc -Wall -W test.c
test.c:1: warning: unused parameter ‘x’
In der manpage steht, daß "-W" die alte Form des "-Wextra" ist.
Muttersöhnchen
Interessierter
Interessierter
Beiträge: 73
Registriert: Samstag 31. Juli 2004, 18:15

Beitrag von Muttersöhnchen »

Ja und ? ist eben ein extra aber -Wall zeigt schon das was es soll ohne -W.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Weitere nützliche Warnings einschalten.

Beitrag von seife »

Na gut. Dann ändere ich das Subject ;-) Ich finde die zusätzlichen Warnings zeigen ganz gut, wo noch nachgearbeitet werden darf (und werde sie in meinen neutrino-dreambox Patchsets drinlassen).