[Issue 4499] calls to @disabled postblit are emitted

2011-03-30 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4499


Walter Bright  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


--- Comment #2 from Walter Bright  2011-03-30 
14:51:34 PDT ---
https://github.com/9rnsr/dmd/commit/c623c7982131fc7ed0f53493ec50d3422a042eb0

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


[Issue 4499] calls to @disabled postblit are emitted

2011-02-26 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4499


Kenji Hara  changed:

   What|Removed |Added

 CC||k.hara...@gmail.com
   Platform|Other   |All
 OS/Version|Linux   |All


--- Comment #1 from Kenji Hara  2011-02-26 22:33:22 PST ---
Following patch fixes this bug.

 src/s2ir.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/s2ir.c b/src/s2ir.c
index 08d802b..95991b6 100644
--- a/src/s2ir.c
+++ b/src/s2ir.c
@@ -1252,6 +1252,10 @@ void ReturnStatement::toIR(IRState *irs)
 {   StructDeclaration *sd = ((TypeStruct *)tb)->sym;
 if (sd->postblit)
 {   FuncDeclaration *fd = sd->postblit;
+if (fd->storage_class & STCdisable)
+{
+fd->toParent()->error(loc, "is not copyable
because it is annotated with @disable");
+}
 elem *ec = el_var(irs->shidden);
 ec = callfunc(loc, irs, 1, Type::tvoid, ec,
tb->pointerTo(), fd, fd->type, NULL, NULL);
 es = el_bin(OPcomma, ec->Ety, es, ec);

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