DIP62: Volatile type qualifier for unoptimizable variables in embedded programming
bearophile via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jul 15 14:07:21 PDT 2014
Johannes Pfau:
> Well as described in the DIP it works just like shared from an
> implementation point of view, so I doesn't add much complexity
> in the compiler / type system.
I am reading blogs about compiler bugs, and I see that the
implementation of volatile is the buggiest part of GCC/Clang (and
the Intel and Microsoft compilers). Despite numerous bug fixes,
it's still a stubbornly buggy part. So it can't be as simple to
implement correctly as you say. volatile fights against the
optimization stages all the time. And I recognize that Walter has
a significant experience on this topic, perhaps higher than yours.
> This just shows the priorities of the project leads:
> Desktop apps matter, we add @nogc, c++ namespaces, shared,
> immutable,
> const, -cov, ...
> but for embedded systems we won't even add one qualifier.
Having priorities is not something to be ashamed of. D has a GC,
works only on 32+ bits, and several of its features are not meant
for embedded systems. Even if you can restrict it for such
restricted memory and CPU usages, D is not designed primarily for
them.
Bye,
bearophile
More information about the Digitalmars-d
mailing list