Forum: Compiler & IDEs Artikel: Volatiles Are Miscompiled


von Dietmar S. (dsausw)


Lesenswert?

Einen schönen Samstag allerseits,

für die Freunde des Blickes hinter den Kulissen,
ein kleiner Hinweis vom Embedded Systems Design magazine,
bezüglich der Untersuchung von C-Compilern.
Es geht um die Codeumsetzung mit volatile-qualifiern.

   http://www.cs.utah.edu/~regehr/papers/emsoft08-preprint.pdf

Unter anderem ist der MSP-GCC, bzw. der übersetzte Code,
untersucht worden.
Natürlich gibt es schon kontroverse Diskussionen um den
Sinn oder Unsinn einiger Beispiele ; )

Gruss
Dietmar

von T. H. (pumpkin) Benutzerseite


Lesenswert?

Wirklich ein interessantes Paper...

Sinn hin, Unsinn her. Figure 1 aus obigen Link:
1
const volatile int x;
2
volatile int y;
3
void foo(void) {
4
for (y=0; y>10; y++)
5
{
6
int z = x;
7
}
8
}

Erste Zeile - was wiegt bei der Optimierung schwerer, const oder 
volatile ? Müsste ein Compiler hier nicht wenigstens warnen?

von (prx) A. K. (prx)


Lesenswert?

Wovor soll er warnen? Wie im Text ja steht, kann "const volatile" Sinn 
ergeben. Das sind auch keine Gegensätze, "const" sagt er darf nicht 
schreiben, "volatile" sagt er soll gefälligst jedesmal lesen.

von T. H. (pumpkin) Benutzerseite


Lesenswert?

A. K. wrote:
> Wovor soll er warnen? Wie im Text ja steht, kann "const volatile" Sinn
> ergeben. Das sind auch keine Gegensätze, "const" sagt er darf nicht
> schreiben, "volatile" sagt er soll gefälligst jedesmal lesen.

Überzeugt. Den Teil hatte ich noch nicht...

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.