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