diff gen/toir.cpp @ 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 44f08170f4ef
children 30ef3c7bddca
line wrap: on
line diff
--- a/gen/toir.cpp	Fri Aug 01 01:12:33 2008 +0200
+++ b/gen/toir.cpp	Fri Aug 01 17:59:58 2008 +0200
@@ -288,8 +288,12 @@
         Type* t = DtoDType(type);
         if (t->ty == Tcomplex32)
             c = DtoConstFP(Type::tfloat32, 0);
+        else if (t->ty == Tcomplex64)
+            c = DtoConstFP(Type::tfloat64, 0);
+        else if (t->ty == Tcomplex80)
+            c = DtoConstFP(Type::tfloat80, 0);
         else
-            c = DtoConstFP(Type::tfloat64, 0);
+            assert(0);
         return new DComplexValue(type, c, c);
     }