comparison dmd/mtype.h @ 486:a34078905d01

Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in. Reimplemented support for nested functions/class using a new approach. Added error on taking address of intrinsic. Fixed problems with the ->syntaxCopy of TypeFunction delegate exp. Removed DtoDType and replaced all uses with ->toBasetype() instead. Removed unused inplace stuff. Fixed a bunch of issues in the runtime unittests, not complete yet. Added mini tests.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 10 Aug 2008 08:37:38 +0200
parents cc40db549aea
children a6c105aa00d5
comparison
equal deleted inserted replaced
485:50f6e2337a6b 486:a34078905d01
439 type *toCtype(); 439 type *toCtype();
440 enum RET retStyle(); 440 enum RET retStyle();
441 441
442 unsigned totym(); 442 unsigned totym();
443 443
444 bool llvmRetInPtr; 444 // LLVMDC
445 bool llvmUsesThis; 445 bool retInPtr;
446 unsigned llvmRetAttrs; 446 bool usesThis;
447 bool usesNest;
448 unsigned retAttrs;
447 }; 449 };
448 450
449 struct TypeDelegate : Type 451 struct TypeDelegate : Type
450 { 452 {
451 TypeDelegate(Type *t); 453 TypeDelegate(Type *t);
554 556
555 TypeEnum(EnumDeclaration *sym); 557 TypeEnum(EnumDeclaration *sym);
556 d_uns64 size(Loc loc); 558 d_uns64 size(Loc loc);
557 unsigned alignsize(); 559 unsigned alignsize();
558 char *toChars(); 560 char *toChars();
561 Type *syntaxCopy();
559 Type *semantic(Loc loc, Scope *sc); 562 Type *semantic(Loc loc, Scope *sc);
560 Dsymbol *toDsymbol(Scope *sc); 563 Dsymbol *toDsymbol(Scope *sc);
561 void toDecoBuffer(OutBuffer *buf); 564 void toDecoBuffer(OutBuffer *buf);
562 void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); 565 void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod);
563 Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); 566 Expression *dotExp(Scope *sc, Expression *e, Identifier *ident);