December 07, 2010
phobos commit, revision 2212


user: Don Clugston

msg:
5321: std.math: assumes X86 or X86_64 on FPU control word code

http://www.dsource.org/projects/phobos/changeset/2212

December 07, 2010
Building with x86_64, I see two dmd flow control differences from x86 32 bit, which is odd.

std/math.d(1958): Error: function std.math.IeeeFlags.getIeeeFlags has no
return statement, but is expected to return a value of type uint
std/math.d(2162): Warning: statement is not reachable

The first part looks legit.  DMD 32 should have detected that one. The second part looks bogus.  DMD 64 isn't handling that right.

This fixes both, but...

Index: std/math.d ===================================================================
--- std/math.d  (revision 2212)
+++ std/math.d  (working copy)
@@ -1965,8 +1965,6 @@
                  // Clear all irrelevant bits
                  and EAX, 0x03D;
             }
-        } else version (PPC) {
-            assert(0, "Not yet supported");
         } else version (SPARC) {
            /*
                int retval;
@@ -1974,7 +1972,8 @@
                return retval;
             */
            assert(0, "Not yet supported");
-        }
+        } else
+           assert(0, "Not yet supported");
     }
     static void resetIeeeFlags()
     {
@@ -2156,10 +2155,10 @@
                 xor EAX, EAX;
                 fstcw cont;
             }
+            return cont;
         }
         else
             assert(0, "Not yet supported");
-        return cont;
     }
     // Set the control register
     static void setControlState(ushort newState)

On Tue, 7 Dec 2010, dsource.org wrote:

> Date: Tue, 7 Dec 2010 19:47:29 -0500
> From: dsource.org <noreply at dsource.org>
> Reply-To: Discuss the phobos library for D <phobos at puremagic.com>
> To: phobos at puremagic.com
> Subject: [phobos] phobos commit, revision 2212
> 
> phobos commit, revision 2212
> 
> 
> user: Don Clugston
> 
> msg:
> 5321: std.math: assumes X86 or X86_64 on FPU control word code
> 
> http://www.dsource.org/projects/phobos/changeset/2212
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
>