[Issue 7335] sometimes the OUT - block have undefined class members-acces

2019-11-18 Thread d-bugmail--- via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=7335

--- Comment #9 from Dlang Bot  ---
dlang/dmd pull request #10353 "Move special handling of __require and __ensure
to FuncDeclaration.needsClosure." was merged into master:

- 6b3cfc11a19470fddaa24cb0b67cd38096ae6175 by Iain Buclaw:
  Add test for issue 7335

https://github.com/dlang/dmd/pull/10353

--


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335


Walter Bright  changed:

   What|Removed |Added

 CC||c...@klickverbot.at


--- Comment #8 from Walter Bright  2012-01-25 
13:41:45 PST ---
*** Issue 6108 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335



--- Comment #7 from Walter Bright  2012-01-25 
13:40:21 PST ---
*** Issue 4685 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335


Walter Bright  changed:

   What|Removed |Added

 CC||andrej.mitrov...@gmail.com


--- Comment #6 from Walter Bright  2012-01-25 
12:41:12 PST ---
*** Issue 4648 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335


Walter Bright  changed:

   What|Removed |Added

 CC||leandro.lucarella@sociomant
   ||ic.com


--- Comment #5 from Walter Bright  2012-01-25 
12:38:42 PST ---
*** Issue 7117 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335



--- Comment #4 from Walter Bright  2012-01-24 
21:46:28 PST ---
*** Issue 7336 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335



--- Comment #2 from github-bugzi...@puremagic.com 2012-01-24 21:34:28 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/ff560efacfe87778a6e753626a9ade965a361a00
fix Issue 7335 - sometimes the OUT - block have undefined class members-acces

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-25 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335



--- Comment #3 from github-bugzi...@puremagic.com 2012-01-24 21:34:45 PST ---
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/983c58a904e2dd85b8d9b93bf8176c21efd8e18d
fix Issue 7335 - sometimes the OUT - block have undefined class members-acces

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7335] sometimes the OUT - block have undefined class members-acces

2012-01-24 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7335


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com


--- Comment #1 from Walter Bright  2012-01-24 
14:32:40 PST ---
A somewhat simplified example:
--
import core.stdc.stdio;

class A {
  int mValue = 10;

  void setValue( int newValue)
in
{ printf("A.setValue.in()\n");
}   
out
{ printf("A.setValue.Out(value = %d)\n", mValue);
} 
body
{ mValue = newValue;
}
}



class B : A {
  override void setValue( int newValue)
   in
   { // not checked because super.IN-check will pass  
 printf("B.setValue.in()\n");
   }
   out
   { printf("B.setValue.Out(value = %d)\n", mValue);
   }
   body
   { mValue = newValue;
   }
}



class C : A {
  override void setValue( int newValue)
in
{ // not checked because super.IN-check will pass  
  printf("C.setValue.in()\n");
  int a = newValue;   // The only difference to B
}
out
{ printf("C.setValue.Out(value = %d)\n", mValue);
}
body
{ mValue = newValue;
}
}



void main() {
  printf("B:\n");
  A aObject = new B();
  aObject.setValue(3); 

  printf("\nC:\n");
  A bObject = new C(); 
  bObject.setValue(3);// <  will crash because undefined mValue in the
  // A.setValue().out-block.  
}

The output is:
B:
A.setValue.in()
A.setValue.Out(value = 3)
B.setValue.Out(value = 3)

C:
A.setValue.in()
A.setValue.Out(value = 9772960)
C.setValue.Out(value = 3)
--
I suspect the problem is the stack layout is not correct on the call to
A.setValue.in().

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---