Mercurial > projects > ldc
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; |