PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : union member names: gcc-bug?



nobody0
21-01-2004, 13:17
In einer Funktion (eines Gerätetreibers) habe ich versucht diese Union zu verwenden:

union u_tag
{
s32 si_value;
u32 ui_value;
} *u_value = {(void *) buf}; // correct cast

aber das gibt Meldungen wie "warning : no semicolon ant end of struct or union" (Zeile mit si_value) und "parse error before `.'" (Zeile mit si_value).
Nach einigem Rumprobieren habe ich herausgefunden, dass es mit
sivalue statt si_value und uivalue statt ui_value richtig (auch ohne Warungen) funktioniert; es liegt nur am Namen der union-member!

Es sieht so aus, als wären im gcc einige namespaces gemischt und das ist doch eindeutig ein bug vom gcc (2.95.4), oder? :confused: