October 08, 2014 [Issue 13589] [git-head] Asm statement could be assumed to nothrow, safe, pure by the enclosing function attribute | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13589 --- Comment #11 from yebblies <yebblies@gmail.com> --- (In reply to Kenji Hara from comment #10) > (In reply to yebblies from comment #9) > > That's certainly better, but overall I still don't think this is worthwhile. > > In this case we can reduce amount of attributes. Isn't it a benefit? Yes, but... > Moreover, issue 12979 had accepted following code. > > void foo() nothrow { asm{...}; } > > It was accidental behavior, but this enhancement will accept it properly and will reduce code breaking with the next release. I don't think that code should be valid. nothrow on a function signature should not be enough to opt-out of nothrow checking for the asm. This is more important than reducing the number of attributes. -- |
October 08, 2014 [Issue 13589] [git-head] Asm statement could be assumed to nothrow, safe, pure by the enclosing function attribute | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13589 --- Comment #12 from Martin Nowak <code@dawg.eu> --- The basic problem with this is using inference on something that cannot be inferred. void seeminglyPure() { // ... // many lines of code // ... asm { // impure instruction } } Now when someone adds pure to seeminglyPure it would silently break. -- |
October 12, 2014 [Issue 13589] [git-head] Asm statement could be assumed to nothrow, safe, pure by the enclosing function attribute | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13589 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw@gdcproject.org --- Comment #13 from Iain Buclaw <ibuclaw@gdcproject.org> --- (In reply to Martin Nowak from comment #12) > The basic problem with this is using inference on something that cannot be inferred. > > void seeminglyPure() { > // ... > // many lines of code > // ... > asm { > // impure instruction > } > } > > Now when someone adds pure to seeminglyPure it would silently break. You could perhaps get away with inference with naked functions, as they shouldn't have any high-level code inside. -- |
August 30, 2020 [Issue 13589] [git-head] Asm statement could be assumed to nothrow, safe, pure by the enclosing function attribute | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13589 Basile-z <b2.temp@gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |iasm CC| |b2.temp@gmx.com -- |
December 17, 2022 [Issue 13589] [git-head] Asm statement could be assumed to nothrow, safe, pure by the enclosing function attribute | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=13589 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P4 -- |
Copyright © 1999-2021 by the D Language Foundation