Mercurial > projects > ldc
comparison dmd/mtype.h @ 445:cc40db549aea
Changed the handling of variadic intrinsics a bit.
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues.
Changed the handling of parameter attributes to a bit more generalized approach.
Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 .
Parameter attribs now properly set for intrinsic calls if necessary.
Made the tango.math.Math patch less intrusive.
Fixed/added some mini tests.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Fri, 01 Aug 2008 17:59:58 +0200 |
parents | 3545f9eddbfc |
children | a34078905d01 |
comparison
equal
deleted
inserted
replaced
444:f2b5f86348ef | 445:cc40db549aea |
---|---|
441 | 441 |
442 unsigned totym(); | 442 unsigned totym(); |
443 | 443 |
444 bool llvmRetInPtr; | 444 bool llvmRetInPtr; |
445 bool llvmUsesThis; | 445 bool llvmUsesThis; |
446 unsigned llvmRetAttrs; | |
446 }; | 447 }; |
447 | 448 |
448 struct TypeDelegate : Type | 449 struct TypeDelegate : Type |
449 { | 450 { |
450 TypeDelegate(Type *t); | 451 TypeDelegate(Type *t); |
699 static void argsToDecoBuffer(OutBuffer *buf, Arguments *arguments); | 700 static void argsToDecoBuffer(OutBuffer *buf, Arguments *arguments); |
700 static size_t dim(Arguments *arguments); | 701 static size_t dim(Arguments *arguments); |
701 static Argument *getNth(Arguments *arguments, size_t nth, size_t *pn = NULL); | 702 static Argument *getNth(Arguments *arguments, size_t nth, size_t *pn = NULL); |
702 | 703 |
703 // LLVMDC | 704 // LLVMDC |
704 bool llvmByVal; | 705 unsigned llvmAttrs; |
705 }; | 706 }; |
706 | 707 |
707 extern int PTRSIZE; | 708 extern int PTRSIZE; |
708 extern int REALSIZE; | 709 extern int REALSIZE; |
709 extern int REALPAD; | 710 extern int REALPAD; |