Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Changeset 837

Show
Ignore:
Timestamp:
01/02/11 07:08:10 (14 years ago)
Author:
walter
Message:

coverage analyzer now works in 64 bits

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/dmd-1.x/src/glue.c

    r772 r837  
    300300 
    301301        /* Generate: 
    302302         *  _d_cover_register(uint[] __coverage, BitArray __bcoverage, string filename); 
    303303         * and prepend it to the static constructor. 
    304304         */ 
    305305 
    306306        /* t will be the type of the functions generated: 
    307307         *      extern (C) void func(); 
    308308         */ 
    309309        type *t = type_alloc(TYnfunc); 
    310310        t->Tflags |= TFprototype | TFfixed; 
    311311        t->Tmangle = mTYman_c; 
    312312        t->Tnext = tsvoid; 
    313313        tsvoid->Tcount++; 
    314314 
    315315        sictor = toSymbolX("__modictor", SCglobal, t, "FZv"); 
    316316        cstate.CSpsymtab = &sictor->Sfunc->Flocsym; 
    317317        localgot = ictorlocalgot; 
    318318        elem *e; 
    319319 
    320         e = el_params(el_ptr(cov), el_long(TYuint, numlines), 
    321                       el_ptr(bcov), el_long(TYuint, numlines), 
     320        e = el_params(el_pair(TYdarray, el_long(TYsize_t, numlines), el_ptr(cov)), 
     321                      el_pair(TYdarray, el_long(TYsize_t, numlines), el_ptr(bcov)), 
    322322                      toEfilename(), 
    323323                      NULL); 
    324324        e = el_bin(OPcall, TYvoid, el_var(rtlsym[RTLSYM_DCOVER]), e); 
    325325        eictor = el_combine(e, eictor); 
    326326        ictorlocalgot = localgot; 
    327327    } 
    328328 
    329329    // If coverage / static constructor / destructor / unittest calls 
    330330    if (eictor || ector || edtor || etest) 
    331331    { 
    332332        /* t will be the type of the functions generated: 
    333333         *      extern (C) void func(); 
    334334         */ 
    335335        type *t = type_alloc(TYnfunc); 
    336336        t->Tflags |= TFprototype | TFfixed; 
    337337        t->Tmangle = mTYman_c; 
    338338        t->Tnext = tsvoid; 
    339339        tsvoid->Tcount++; 
    340340 
    341341        static char moddeco[] = "FZv"; 
  • trunk/src/glue.c

    r772 r837  
    300300 
    301301        /* Generate: 
    302302         *  _d_cover_register(uint[] __coverage, BitArray __bcoverage, string filename); 
    303303         * and prepend it to the static constructor. 
    304304         */ 
    305305 
    306306        /* t will be the type of the functions generated: 
    307307         *      extern (C) void func(); 
    308308         */ 
    309309        type *t = type_alloc(TYnfunc); 
    310310        t->Tflags |= TFprototype | TFfixed; 
    311311        t->Tmangle = mTYman_c; 
    312312        t->Tnext = tsvoid; 
    313313        tsvoid->Tcount++; 
    314314 
    315315        sictor = toSymbolX("__modictor", SCglobal, t, "FZv"); 
    316316        cstate.CSpsymtab = &sictor->Sfunc->Flocsym; 
    317317        localgot = ictorlocalgot; 
    318318        elem *e; 
    319319 
    320         e = el_params(el_ptr(cov), el_long(TYuint, numlines), 
    321                       el_ptr(bcov), el_long(TYuint, numlines), 
     320        e = el_params(el_pair(TYdarray, el_long(TYsize_t, numlines), el_ptr(cov)), 
     321                      el_pair(TYdarray, el_long(TYsize_t, numlines), el_ptr(bcov)), 
    322322                      toEfilename(), 
    323323                      NULL); 
    324324        e = el_bin(OPcall, TYvoid, el_var(rtlsym[RTLSYM_DCOVER]), e); 
    325325        eictor = el_combine(e, eictor); 
    326326        ictorlocalgot = localgot; 
    327327    } 
    328328 
    329329    // If coverage / static constructor / destructor / unittest calls 
    330330    if (eictor || ector || ectorgates.dim || edtor || 
    331331        esharedctor || esharedctorgates.dim || eshareddtor || etest) 
    332332    { 
    333333        /* t will be the type of the functions generated: 
    334334         *      extern (C) void func(); 
    335335         */ 
    336336        type *t = type_alloc(TYnfunc); 
    337337        t->Tflags |= TFprototype | TFfixed; 
    338338        t->Tmangle = mTYman_c; 
    339339        t->Tnext = tsvoid; 
    340340        tsvoid->Tcount++; 
    341341