Bug 7699 – Cannot get frame pointer to in contract when compiling with -inline

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-03-13T04:25:00Z
Last change time
2015-06-09T05:10:43Z
Keywords
pull, rejects-valid
Assigned to
nobody
Creator
leandro.lucarella
See also
http://d.puremagic.com/issues/show_bug.cgi?id=4286, http://d.puremagic.com/issues/show_bug.cgi?id=4841, http://d.puremagic.com/issues/show_bug.cgi?id=5941, http://d.puremagic.com/issues/show_bug.cgi?id=7129

Comments

Comment #0 by leandro.lucarella — 2012-03-13T04:25:46Z
Reduced testcase: --- module test; class P { void f(int n) in { assert (n); } body { } } class D: P { void f(int n) in { } body { } } --- Error (only when compiling with -inline): --- test.d(5): Error: function test.D.f cannot get frame pointer to f --- Not using -inline makes it compile. Removing the empty in {} contract in D, makes it compile.
Comment #1 by clugdbug — 2012-03-14T02:21:45Z
Comment #2 by github-bugzilla — 2012-03-14T15:35:25Z
Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/201c43dc1c7e0ba66690098b703446682f93642e Merge pull request #811 from donc/bug7699 Fix issue 7699 - Cannot get frame pointer to in contract when compiling ...
Comment #3 by github-bugzilla — 2012-03-14T16:50:36Z