D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.

Issue 7699

Summary: Cannot get frame pointer to in contract when compiling with -inline
Product: D Reporter: Leandro Lucarella <leandro.lucarella>
Component: dmdAssignee: No Owner <nobody>
Status: RESOLVED FIXED
Severity: normal CC: bugzilla, clugdbug
Priority: P2 Keywords: pull, rejects-valid
Version: D2
Hardware: All
OS: All
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

Description Leandro Lucarella 2012年03月13日 04:25:46 UTC
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 2 github-bugzilla 2012年03月14日 15:35:25 UTC
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 ...

AltStyle によって変換されたページ (->オリジナル) /