On 2/3/15 12:17 AM, Johannes Pfau wrote:
Well I see that you're not even considering adding a simple pragma to
help embedded programming. In that case I see absolutely no reason to
continue working on that. You guys say "we lack expertise so we cannot
help directly" and you're in "search of champions" for these areas. But
whenever somebody working with D on embedded systems actually comes up
with an issue related to embedded programming and propose solutions you
simply dismiss it. Often even based on vague statements like "that's
not a common task".
http://wiki.dlang.org/Vision/2015H1
I think we need to work on better inlining. Which format (pragma vs.
attribute etc) is just tactical detail. Clearly there needs to be "best
effort" and "won't compile unless it inlines" directives.
Johannes, please let us know whether this is everything needed to float
your boat. I'm unclear whether you believe "volatile" data is needed or
not. If it's not, we're good; if it is, you need to redo your argument
because it was poorly conducted.
pragma(address) could be trivially implemented now and I still think
it's a logical extension of the language, whereas global property ref
functions for this purpose are just hacks. Till D will have full inline
control rust will probably already have all the market share in these
areas. At least I'm not willing to invest any more effort into this.
No need to get agitated over this. We're all on the same boat.
Rust also uses intrinsics for volatile loads and stores:
http://doc.rust-lang.org/core/intrinsics/. It does have a way to force
inlining recommended to use with caution:
https://mail.mozilla.org/pipermail/rust-dev/2013-May/004272.html
Andrei