Changeset 62

Show
Ignore:
Timestamp:
05/02/05 19:03:42 (4 years ago)
Author:
pragma
Message:

Dexter: Bugfixed and now generates 'dexter.exe'. Also patched linux.mak

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dexter/linux.mak

    r61 r62  
    5151stubs/todt.c \ 
    5252stubs/ir.c 
     53stubs/annotation.c \ 
     54stubs/xml.c 
    5355 
    5456OBJ = \ 
     
    102104stubs/tocsym.o \ 
    103105stubs/todt.o \ 
    104 stubs/ir.o 
     106stubs/ir.o \ 
     107stubs\annotation.o \ 
     108stubs\xml.o 
    105109 
    106110DMC = g++ 
    107111CFLAGS = -g -Istubs -Idmd 
    108 EXE = dmdfe 
     112EXE = dexter 
    109113IDGEN = idgen 
    110114IMPCNV = impcnvgen 
  • trunk/dexter/stubs/annotation.c

    r61 r62  
    109109    //printf("take following (%0.8X <-- %0.8X) \n",this,other); 
    110110    while(other->tags->dim > 0){ 
    111         AnnotationTag* tag = other->tags->data[0]; 
     111        AnnotationTag* tag = (AnnotationTag*)other->tags->data[0]; 
    112112        if(tag->following){ 
    113113            //printf("%s\n",tag->toChars()); 
     
    126126    //printf("take non following (%0.8X <-- %0.8X) \n",this,other); 
    127127    while(other->tags->dim > 0){ 
    128         AnnotationTag* tag = other->tags->data[0]; 
     128        AnnotationTag* tag = (AnnotationTag*)other->tags->data[0]; 
    129129        if(!tag->following){ 
    130130            //printf("%s\n",tag->toChars()); 
     
    187187void Annotation::toObjFile(){ 
    188188    for(int i=0; i<tags->dim; i++){ 
    189         AnnotationTag* tag = tags->data[i]; 
     189        AnnotationTag* tag = (AnnotationTag*)tags->data[i]; 
    190190        tag->toObjFile(); 
    191191    } 
     
    195195    OutBuffer *ob = new OutBuffer(); 
    196196    for(int i=0; i<tags->dim; i++){ 
    197         AnnotationTag* tag = tags->data[i]; 
     197        AnnotationTag* tag = (AnnotationTag*)tags->data[i]; 
    198198        ob->writestring(tag->toChars()); 
    199199        ob->writestring("\n"); 
  • trunk/dexter/stubs/toobj.c

    r61 r62  
    7878for(int i=0; i<arr->dim && (value=(vtype)arr->data[i]); i++) 
    7979 
     80#define FOREACH_V(vtype,value,arr) \ 
     81if(arr.dim > 0) \ 
     82for(int i=0; i<arr.dim && (value=(vtype)arr.data[i]); i++) 
     83 
    8084/* ================================================================== */ 
    8185 
     
    214218 
    215219    // base classes 
    216     for(int i=0; i<this->baseclasses.dim; i++){ 
    217         BaseClass* bc = (BaseClass*)this->baseclasses.data[i]; 
    218  
     220    BaseClass* bc; 
     221    FOREACH_V(BaseClass*,bc,this->baseclasses){ 
    219222        XML::startTag("baseclass"); 
    220223        addSymbolAttribute(bc->base); 
     
    226229 
    227230    // Put out the members 
    228     for (int i = 0; i < members->dim; i++) 
    229     { 
    230         Dsymbol *member; 
    231         member = (Dsymbol *)members->data[i]; 
    232  
     231    Dsymbol *member; 
     232    FOREACH(Dsymbol*, member,this->members){ 
    233233        member->toObjFile(); 
    234234    } 
     
    256256 
    257257    // Put out the members 
    258     for (int i = 0; i < members->dim; i++) 
    259     { 
    260         Dsymbol *member; 
     258    Dsymbol *member; 
     259    FOREACH(Dsymbol*, member,this->members){ 
    261260        member = (Dsymbol *)members->data[i]; 
    262261 
     
    276275 
    277276    // Put out the members 
    278     for (int i = 0; i < members->dim; i++) 
    279     { 
    280         Dsymbol *member; 
     277    Dsymbol *member; 
     278    FOREACH(Dsymbol*, member,this->members){ 
    281279        member = (Dsymbol *)members->data[i]; 
    282280 
     
    437435    XML::startTag("parameters"); 
    438436    if(parameters){ 
    439         for(int i=0; i<this->parameters->dim; i++){ 
    440            VarDeclaration* v = (VarDeclaration*)this->parameters->data[i]; 
     437        VarDeclaration* v; 
     438        FOREACH(VarDeclaration*, v,this->parameters){ 
    441439            v->toObjFile(); 
    442440        } 
  • trunk/dexter/win32.mak

    r61 r62  
    110110DMC = dmc 
    111111CFLAGS = -g -Istubs -Idmd -w2 
    112 EXE = dmdfe.exe 
    113 MAP = dmdfe.map 
     112EXE = dexter.exe 
     113MAP = dexter.map 
    114114IDGEN = idgen.exe 
    115115IMPCNV = impcnvgen.exe