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;