Forum: Compiler & IDEs avr-gcc: -Werror-implicit-function-declaration funktioniert nicht mit -std=gnu99


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter K. (kloetpatra)


Lesenswert?

Hi, ich will dass der avr-gcc folgende Warning als Error ausspuckt:
1
warning: implicit declaration of function 'xxx'

Normalerweise geht das mit:
1
-Werror-implicit-function-declaration
allerdings mag mein avr-gcc das wohl nicht wenn
1
-std=gnu99
 zugleich definiert ist.

Hat jemand eine Idee wie ich mit "-std=gnu99" implizite Deklarationen 
verbieten kann? Und wieso das so ist?

Mit dem normalen gcc geht es jedenfalls...

von Yalu X. (yalu) (Moderator)


Lesenswert?

Peter Krause schrieb:
> allerdings mag mein avr-gcc das wohl nicht wenn
> -std=gnu99
> zugleich definiert ist.

Wie äußert sich das? Welche Compiler-Version hast du?

Bei mir treten keinerlei Probleme auf.

von Peter K. (kloetpatra)


Lesenswert?

Yalu X. schrieb:
> Peter Krause schrieb:
>> allerdings mag mein avr-gcc das wohl nicht wenn
>> -std=gnu99
>> zugleich definiert ist.
>
> Wie äußert sich das? Welche Compiler-Version hast du?
>
> Bei mir treten keinerlei Probleme auf.
1
avr-gcc -g2 -gstabs -O3 -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -Werror-implicit-function-declaration -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"tlc5941.d" -MT"tlc5941.d" -c -o"tlc5941.o" "../tlc5941.c"
2
../tlc5941.c: In function 'tlc_gs_set_all':
3
../tlc5941.c:94: warning: implicit declaration of function 'tlc_gs_set_all_rgb'

Version:
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.

von holger (Gast)


Lesenswert?


von Peter K. (kloetpatra)


Lesenswert?


von Yalu X. (yalu) (Moderator)


Lesenswert?

Komisch. In den Versionen 4.2.x, 4.4.x, 4.5.x und 4.6.x funktioniert
-Werror-implicit-function-declaration in Verbindung mit -std=gnu99 auch
ohne -pedantic-errors u.ä. Nur 4.3.x (ich habe 4.3.6 getestet) scheint
da eine Ausnahme zu machen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.