comparison dmd/declaration.h @ 378:d8234836b40f

Get rid of runTimeHack and instead add proper argument info to the frontend declatation.
author Christian Kamm <kamm incasoftware de>
date Tue, 22 Jul 2008 19:24:40 +0200
parents aaade6ded589
children 44f08170f4ef
comparison
equal deleted inserted replaced
377:4731f3eed1f0 378:d8234836b40f
624 int canInline(int hasthis, int hdrscan = 0); 624 int canInline(int hasthis, int hdrscan = 0);
625 Expression *doInline(InlineScanState *iss, Expression *ethis, Array *arguments); 625 Expression *doInline(InlineScanState *iss, Expression *ethis, Array *arguments);
626 const char *kind(); 626 const char *kind();
627 void toDocBuffer(OutBuffer *buf); 627 void toDocBuffer(OutBuffer *buf);
628 628
629 static FuncDeclaration *genCfunc(Type *treturn, char *name); 629 // LLVMDC: give argument types to runtime functions
630 static FuncDeclaration *genCfunc(Type *treturn, Identifier *id); 630 static FuncDeclaration *genCfunc(Arguments *args, Type *treturn, char *name);
631 static FuncDeclaration *genCfunc(Arguments *args, Type *treturn, Identifier *id);
631 632
632 Symbol *toSymbol(); 633 Symbol *toSymbol();
633 Symbol *toThunkSymbol(int offset); // thunk version 634 Symbol *toThunkSymbol(int offset); // thunk version
634 void toObjFile(int multiobj); // compile to .obj file 635 void toObjFile(int multiobj); // compile to .obj file
635 int cvMember(unsigned char *p); 636 int cvMember(unsigned char *p);
636 637
637 FuncDeclaration *isFuncDeclaration() { return this; } 638 FuncDeclaration *isFuncDeclaration() { return this; }
638 639
639 // llvmdc stuff 640 // llvmdc stuff
640 bool runTimeHack;
641 std::set<VarDeclaration*> nestedVars; 641 std::set<VarDeclaration*> nestedVars;
642 642
643 // we keep our own table of label statements as LabelDsymbolS 643 // we keep our own table of label statements as LabelDsymbolS
644 // don't always carry their corresponding statement along ... 644 // don't always carry their corresponding statement along ...
645 typedef std::map<const char*, LabelStatement*> LabelMap; 645 typedef std::map<const char*, LabelStatement*> LabelMap;