Thread overview
[Issue 13147] Wrong codegen for thisptr in naked extern (C++) methods
Jul 17, 2014
Philpax
Jul 17, 2014
yebblies
Aug 23, 2015
Walter Bright
May 03, 2016
safety0ff.bugz
July 17, 2014
https://issues.dlang.org/show_bug.cgi?id=13147

--- Comment #1 from Philpax <me@philpax.me> ---
Tested with DMD 32-bit 2.065.

--
July 17, 2014
https://issues.dlang.org/show_bug.cgi?id=13147

yebblies <yebblies@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |yebblies@gmail.com

--- Comment #2 from yebblies <yebblies@gmail.com> ---
I suspect the correct solution is for the invariant calls to not be implicitly inserted for naked functions.

--
August 23, 2015
https://issues.dlang.org/show_bug.cgi?id=13147

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
(In reply to yebblies from comment #2)
> I suspect the correct solution is for the invariant calls to not be implicitly inserted for naked functions.

And you'd be right.

https://github.com/D-Programming-Language/dmd/pull/4921

--
May 03, 2016
https://issues.dlang.org/show_bug.cgi?id=13147

safety0ff.bugz <safety0ff.bugz@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |safety0ff.bugz@gmail.com

--- Comment #4 from safety0ff.bugz <safety0ff.bugz@gmail.com> ---
(In reply to Walter Bright from comment #3)
> 
> And you'd be right.
> 
> https://github.com/D-Programming-Language/dmd/pull/4921

Does this fix the struct case as well?

struct S { void foo() { asm { naked; ret; } } }

I just hit this bug.

--
May 06, 2016
https://issues.dlang.org/show_bug.cgi?id=13147

--- Comment #5 from github-bugzilla@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/940e48c1c2481f450fea9eb90a988e435ded84d0 fix Issue 13147 - Wrong codegen for thisptr in naked extern (C++) methods

https://github.com/dlang/dmd/commit/b5a59760d06ad1e1b4af9bf41a268650992463ff Add struct test for bug 13147 fix and inline assembly check.

https://github.com/dlang/dmd/commit/a0840035a8d92901b7f94961b2be5812bc9c9bfa Merge pull request #5729 from WalterWaldron/fix13147

Fix Issue 13147 - invariant code added to functions with naked inline assembly

--
May 06, 2016
https://issues.dlang.org/show_bug.cgi?id=13147

github-bugzilla@puremagic.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--
October 01, 2016
https://issues.dlang.org/show_bug.cgi?id=13147

--- Comment #6 from github-bugzilla@puremagic.com ---
Commits pushed to stable at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/940e48c1c2481f450fea9eb90a988e435ded84d0 fix Issue 13147 - Wrong codegen for thisptr in naked extern (C++) methods

https://github.com/dlang/dmd/commit/b5a59760d06ad1e1b4af9bf41a268650992463ff Add struct test for bug 13147 fix and inline assembly check.

https://github.com/dlang/dmd/commit/a0840035a8d92901b7f94961b2be5812bc9c9bfa Merge pull request #5729 from WalterWaldron/fix13147

--