Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Changeset 3323

Show
Ignore:
Timestamp:
03/02/08 16:29:53 (9 months ago)
Author:
sean
Message:

Merged in DMD 1.027 changes. Tested with DMD.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/compiler/dmd/lifetime.d

    r3145 r3323  
    9595         * function called by Release() when Release()'s reference count goes 
    9696         * to zero. 
    97     */ 
     97    */ 
    9898        p = tango.stdc.stdlib.malloc(ci.init.length); 
    9999        if (!p) 
     
    432432        gc_free(*p); 
    433433        *p = null; 
     434    } 
     435} 
     436 
     437 
     438/** 
     439 * 
     440 */ 
     441extern (C) void _d_callinterfacefinalizer(void *p) 
     442{ 
     443    if (p) 
     444    { 
     445        Interface *pi = **cast(Interface ***)p; 
     446        Object o = cast(Object)(p - pi.offset); 
     447        rt_finalize(cast(void*)o); 
    434448    } 
    435449} 
  • trunk/lib/compiler/gdc/lifetime.d

    r3145 r3323  
    424424        gc_free(*p); 
    425425        *p = null; 
     426    } 
     427} 
     428 
     429 
     430/** 
     431 * 
     432 */ 
     433extern (C) void _d_callinterfacefinalizer(void *p) 
     434{ 
     435    if (p) 
     436    { 
     437        Interface *pi = **cast(Interface ***)p; 
     438        Object o = cast(Object)(p - pi.offset); 
     439        rt_finalize(cast(void*)o); 
    426440    } 
    427441}