Forum: PC-Programmierung [c] clang und gcc diff


von undefiniert (Gast)


Lesenswert?

Ein Freitagspost:
=================
1
int main() {
2
  int x = 0;
3
  return (x=1) + (x=2);
4
}

von undefiniert (Gast)


Lesenswert?

undefiniert schrieb:
> Ein Freitagspost:
> =================
> int main() {
>   int x = 0;
>   return (x=1) + (x=2);
> }

Vorweg:
=======
clang liefert 3
gcc liefert 4

von Dr. Sommer (Gast)


Lesenswert?

Undefinierter Code liefert undefiniertes Ergebnis. So eine Überraschung. 
Und das hilft uns jetzt wie?

Man bekommt sogar Warnungen, GCC:
test.c:3:12: warning: operation on ‘x’ may be undefined

Clang:
test.c:3:12: warning: multiple unsequenced modifications to 'x'

von Yalu X. (yalu) (Moderator)


Lesenswert?

undefiniert schrieb:
> Ein Freitagspost:
> ...

Das ist aber nicht das erste Mal, dass so etwas an einem Freitag
gepostet wird:

  Beitrag "* C++ == C++ *"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.