ISO C99 und ISR

OP #3024022
Lesenswert?
• ▲
▼
Moin!

Ich bekomme beim kompilieren die Warnung "Error  1: ISO C99 requires 
rest arguments to be used" ausgegeben.
Ich verwende einen XMEGA mit eingebundener interrupt.h.

Die betreffende Zeile betrifft die einzige ISR im Code:
1
ISR(TCC0_OVF_vect){
2
  
3
  }
Da ich diesen Fehler loswerden möchte und alle meine Suchen im Internet 
keine Lösung brachten frage ich hier mal nach.

Ich hoffe ihr könnt mir Tips geben.

Viele Grüße,
wastlB
#3024051
Lesenswert?
• ▲
▼
Frage 1:

kompilierst du überhaupt mit dem gcc?

Denn eigentlich steckt ja hinter ISR ein Makro, welches dann aus

ISR(TCC0_OVF_vect)

den tatsächlichen Funktionskopf erzeugt. Wenn bei dieser Expansion eine 
"Argumentliste" übrig bleibt, wie es deine Warnung zu suggerieren 
scheint, dann ist da irgendwas schief gelaufen.
Moderator Persönliche Seite #3024107
Lesenswert?
• ▲
▼
Karl Heinz Buchegger schrieb:

> kompilierst du überhaupt mit dem gcc?

Ja, macht er. ;-)
1
      if (argc + 1 == macro->paramc && macro->variadic)
2
        {
3
          if (CPP_PEDANTIC (pfile) && ! macro->syshdr)
4
            cpp_error (pfile, CPP_DL_PEDWARN,
5
                       "ISO C99 requires rest arguments to be used");
6
          return true;
7
        }

> Wenn bei dieser Expansion eine
> "Argumentliste" übrig bleibt, wie es deine Warnung zu suggerieren
> scheint, dann ist da irgendwas schief gelaufen.

Daher hätte ich ja auch gern ein komplettes, compilierbares Beispiel.
Moderator Persönliche Seite #3024111
Lesenswert?
• ▲
▼
Peter II schrieb:

> und woher weist du damit, das dieser code nicht auch in einem anderen
> compiler drin ist?

Weil es außerordentlich ungewöhnlich wäre, wenn jemand anders diese
reichlich eigenwillig anmutende Formulierung parallel erfunden hätte.

Außerdem sind wir im GCC-Forum, die angegebene ISR entspricht der
Syntax von AVR-GCC/avr-libc, und er schrieb auch was von interrupt.h.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.