🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
10 messages
10 total messages Started by Erik Thiele Wed, 03 Apr 1996 09:18
Warnings
#1990
Author: Erik Thiele
Date: Wed, 03 Apr 1996 09:18
29 lines
1000 bytes
Hallo !

wie kann ich Warnings selektiv abschalten ?
also ich meine IM CODE !!
und immer nur an einer stelle, nicht global.
wenn zum beispiel kommt:

musplay.C:105: warning: unused parameter `int wieviel'
musplay.C:105: warning: unused parameter `float * mixbuffer'

dann moechte man nicht extra einen unnoetigen 
wieviel++;
mixbuffer++;
schreiben, sondern genau DIESE warning an genau DIESER stelle abschalten .

wie macht man das ?

(Linux + GNU C 2.7.0)

merci :-)

tschuesss....
Erik

--
EMAIL: erik@master.unterland.de        \\\\
IRC:   erikyyy                         o `QQ'_
                                        /   __8
                                        '  `
Re: Warnings
#1997
Author: Dietmar Kuehl
Date: Thu, 04 Apr 1996 13:26
35 lines
1591 bytes
Hi,
Erik Thiele (erik@master.unterland.de) wrote:
: wie kann ich Warnings selektiv abschalten ?

Selbst wenn man es kann, sollte man es nicht tun, sondern lieber den
Grund fuer die Warnung entfernen.

: musplay.C:105: warning: unused parameter `int wieviel'
: musplay.C:105: warning: unused parameter `float * mixbuffer'

: dann moechte man nicht extra einen unnoetigen 
: wieviel++;
: mixbuffer++;
: schreiben, sondern genau DIESE warning an genau DIESER stelle abschalten .

Gib dem Argument einfach keinen Namen. Dann ist diese Warnung an
dieser Stelle weg:

  int foo(int a, int) { return a; }

Eine Alternative, die man benutzen kann, wenn der Code sowohl mit einem
ANSI-C als auch mit einem C++ Compiler uebersetzt werden soll ist
folgendes:

  int foo(int a, int b) { (void)b; return a; }

... aber vermutlich reicht es, den Namen der Variablen wegzulassen.

: (Linux + GNU C 2.7.0)

Meine Antwort geht (naja, sollte gehen) mit allen Compilern.
--
dietmar.kuehl@uni-konstanz.de
http://www.informatik.uni-konstanz.de/~kuehl/
I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: Warnings
#2011
Author: Daniel Seuthe
Date: Thu, 04 Apr 1996 22:43
24 lines
1299 bytes
Hallo Erik,

> wie kann ich Warnings selektiv abschalten ?
[...]
> musplay.C:105: warning: unused parameter `int wieviel'
> musplay.C:105: warning: unused parameter `float * mixbuffer'
[...]
> (Linux + GNU C 2.7.0)

Zum einen laesst sich  die  Warnung  ueber  unbenutzte  Variablen  mit
'-Wno-unused' abschalten, zum anderen kannst du das Variablenattribute
'unused' verwenden:

int zahl __attribute__ ((unused));

Der Nachteil  dieser  Methode  ist,  dass  sie  nicht  portabel,  weil
GCC-spezifisch, ist.

        Daniel

P.S. du solltest auch mal einen Blick in die Doku werfen :)

--
e-mail: D.Seuthe@BBrandes.berlinet.de -- fido: Daniel_Seuthe%2:2410/309.34
Re: Warnings
#2054
Author: Erik Thiele
Date: Tue, 09 Apr 1996 08:27
50 lines
1603 bytes
Hallo!

In article <xZHqqMD4E79asz2@ds01.bbrandes.berlinet.de>,
	D.SEUTHE@BBrandes.berlinet.de (Daniel Seuthe) writes:

>> wie kann ich Warnings selektiv abschalten ?
>[...]
>> musplay.C:105: warning: unused parameter `int wieviel'
>> musplay.C:105: warning: unused parameter `float * mixbuffer'
>[...]
>> (Linux + GNU C 2.7.0)

>int zahl __attribute__ ((unused));
hmmm....
ihr habt jetzt 2 postings zu dem problem gemacht, aber beide koennen
die Warning nur entweder global abschalten, oder die Warning loesen.

hmmm. unused variable haette ich auf diese weisen abgeschafft.
aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
es gibt warnings, die kann man nicht abschaffen !
zum beispiel:

function should return a value.

int a()
{
	stirb();
};

tja, warum sollte ich hier einen return machen ???
ich hab das so "geloest":

int a()
{
	stirb();
#ifdef kickwarn
	return 0;
#endif
};

nun gibt es leider aber noch andere warnings... :(

tschuess...
Erik

--
EMAIL: erik@master.unterland.de        \\\\
IRC:   erikyyy                         o `QQ'_
                                        /   __8
                                        '  `
Re: Warnings
#2066
Author: Dietmar Kuehl
Date: Wed, 10 Apr 1996 15:31
38 lines
1990 bytes
Hi,

Erik Thiele (erik@master.unterland.de) wrote:
: aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
: es gibt warnings, die kann man nicht abschaffen !

Merkwuerdig...? Alle meine C++ lassen sich mit hoechstem Warning-Level
(plus einigen beim g++ extra zu -Wall zuschaltbaren Warnings) auf
mehreren Compilern ohne Warnings uebersetzen (nicht wirklich: In meinem
vorherigen grossen Projekt habe ich einen nicht portablen Konstrukt
verwendet, der genau eine Warning erzeugt, aber das ist auch gut so...).

: zum beispiel:

: function should return a value.

: int a()
: {
: 	stirb();
: };

: tja, warum sollte ich hier einen return machen ???

z.B. um die Warnung zu vermeiden. Was spricht dagegen ein 'return 0'
einzufuegen?  der zusaetzliche "Overhead" von 4 Maschineninstruktionen
mit einem Gesamtvolumen von 16 Bytes?

Es gibt sicher einige Warnungen, die mehr Aufwand machen, sie zu
entfernen:  z.B. koennen die Deklarationen in Headerfiles falsch sein
oder die Warnung ist gar berechtigt.  IMHO, gibt es keinen Grund
irgendeine (sinnvolle) Warnung auszuschalten. Beim gcc gibt es einige
Warnungen, die auch bei korrektem Code "anschlagen" (etwa bei "if (i =
0) ..."; ob das guter Stil ist eine andere Frage), aber diese will man
typischerweise entweder immer an oder immer aus haben.
--
dietmar.kuehl@uni-konstanz.de
http://www.informatik.uni-konstanz.de/~kuehl/
I am a realistic optimist - that's why I appear to be slightly pessimistic
Re: Warnings
#2098
Author: Karl-Heinz Krause
Date: Wed, 10 Apr 1996 17:28
19 lines
913 bytes
Am 9. Apr. 1996 schrieb Erik Thiele (erik@master.unterland.de):

> int a()
> {
> 	stirb();
> };

> tja, warum sollte ich hier einen return machen ???

Tja, warum definiert man die Funktion denn als 'int', wenn kein Wert
zurückgegeben wird? Warum nicht

    void a() { 
        stirb();
    }



Karl-Heinz Krause
Re: Warnings
#2085
Author: Ralf W. Stephan
Date: Thu, 11 Apr 1996 13:17
16 lines
1139 bytes
Dietmar Kuehl writes:
> Erik Thiele (erik@master.unterland.de) wrote:
> : aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
> : es gibt warnings, die kann man nicht abschaffen !
> Merkwuerdig...? Alle meine C++ lassen sich mit hoechstem Warning-Level
> (plus einigen beim g++ extra zu -Wall zuschaltbaren Warnings) auf
> mehreren Compilern ohne Warnings uebersetzen (nicht wirklich: In meinem
> vorherigen grossen Projekt habe ich einen nicht portablen Konstrukt
> verwendet, der genau eine Warning erzeugt, aber das ist auch gut so...).

Gehe ich vollkommen einig, auch hier für knapp 10,000 Zeilen Code
nur eine Warnung (wg. des const-Verhaltens von gcc).  Es gibt einfach
ein gutes Gefühl...


ralf
Re: Warnings
#2087
Author: Guus Leeuw jr.
Date: Thu, 11 Apr 1996 17:45
70 lines
2693 bytes
Erik Thiele wrote:
> 
> Hallo!
> 
> In article <xZHqqMD4E79asz2@ds01.bbrandes.berlinet.de>,
>         D.SEUTHE@BBrandes.berlinet.de (Daniel Seuthe) writes:
> 
> >> wie kann ich Warnings selektiv abschalten ?
> >[...]
> >> musplay.C:105: warning: unused parameter `int wieviel'
> >> musplay.C:105: warning: unused parameter `float * mixbuffer'
> >[...]
> >> (Linux + GNU C 2.7.0)
> 
> >int zahl __attribute__ ((unused));
> hmmm....
> ihr habt jetzt 2 postings zu dem problem gemacht, aber beide koennen
> die Warning nur entweder global abschalten, oder die Warning loesen.
> 
> hmmm. unused variable haette ich auf diese weisen abgeschafft.
> aber es gibt noch mehr warnings... mir fallen die grad nicht ein, aber
> es gibt warnings, die kann man nicht abschaffen !
> zum beispiel:
> 
> function should return a value.
> 
> int a()
> {
>         stirb();
> };
> 
> tja, warum sollte ich hier einen return machen ???

Warum? Das ist doch wohl klar, oder? Du schreibst eine Funktion die ein
`int' zurueckgibt und Du schreibst nicht was der Wert des `int' sein
soll? Wie ist der Kompiler (und vielleicht besser, die aufrufende
Funktion) zu wissen was zurueckkommt und welche Meinung der Wert hat? 

Nur `static' Variabele werden initialisiert, nicht Werte auf dem Stack,
oder dynamisch allokierte Variabele.

> ich hab das so "geloest":
> 
> int a()
> {
>         stirb();
> #ifdef kickwarn
>         return 0;
> #endif
> };
> 
> nun gibt es leider aber noch andere warnings... :(
> 
> tschuess...
> Erik
> 
> --
> EMAIL: erik@master.unterland.de        \\\\
> IRC:   erikyyy                         o `QQ'_
>                                         /   __8
>                                         '  `

-- 
'l8r,
	Guus
---------------------------------------------------------------------------
They say I'm wild and I'm reckless.
    -- Jim Steinman (from the song: Everything louder than everything
else)
---------------------------------------------------------------------------
Re: Warnings
#2096
Author: J"oerg P. Berger
Date: Fri, 12 Apr 1996 15:32
38 lines
1132 bytes
erik@master.unterland.de (Erik Thiele) wrote:


>int a()
>{
>	stirb();
>};

>tja, warum sollte ich hier einen return machen ???
>ich hab das so "geloest":

>int a()
>{
>	stirb();
>#ifdef kickwarn
>	return 0;
>#endif
>};

Ich w"urde daraus ein

void a()
{
    strib();
}

machen

Gruss

  J"org


-------------------------------------------------------------------------
Joerg P. Berger         
Hauptstrasse 111              66904 Bruecken                  
Fax:   ++49 6386-7802         EMail: jpb@guug.de
-------------------------------------------------------------------------
Re: Warnings
#2104
Author: Klaus Ebner
Date: Fri, 12 Apr 1996 19:33
15 lines
1071 bytes
hi,

kuehl@uzwil.informatik.uni-konstanz.de (Dietmar Kuehl) schrieb:

	 Beim gcc gibt es einige
	 Warnungen, die auch bei korrektem Code "anschlagen" (etwa bei "if (i =
	 0) ..."; ob das guter Stil ist eine andere Frage), aber diese will man
	 typischerweise entweder immer an oder immer aus haben.
	 
Die kann man fallweise wegbekommen, wenn man stattdessen if( (i = 0) )
schreibt. Nur so am Rande bemerkt. Guter Stil ist das aber trotzdem
nicht, imho.
-- 
Gruss Klaus (klaus@gaspode.ndh.com)
C4             Fido: 2:2453/30.68 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads