Komplexe Zahlen (Konstanten) in C99 konformen Code

goblin

Motivierter Amateur
Ich spiele gerade mit komplexen Zahlen in C, welche ab ISO 9899:1999 (C99) unterstuetzt werden.
Und da ich standardkonforme Programme mag, und Embrace&Extend nicht, soll mein Code mit `-std=c99 -pedantic` kompilieren.
Nun zu meinem Problem:
Code:
double _Complex null = 0.0 + 0.0 * _Complex_I;
Das kompiliert auf FreeBSD 10.0-RELEASE mit clang -std=c99 und gcc47 -std=c99 klanglos, weil beide *immernoch* im gnu99-Modus unterwegs sind, beide bekommen ein Problem mit -pedantic, da _Complex_I zu ((float _Complex)1.0i) expandiert wird (/usr/include/complex.h:38:40).
Zwei Links zu dem Thema habe ich gefunden, jedoch keine Standardkonforme Loesung (nur flamewars):
Vielleicht weisz hier jemand eine tatsaechlich Standardkonforme Loesung?

Edit:
Kaum habe ich das Thema eroeffnet, bin ich fuendig geworden...
Laut http://clang.llvm.org/docs/LanguageExtensions.html#initializer-lists-for-complex-numbers-in-c gibt es zumindest fuer clang keine Loesung.
 
Zurück
Oben