Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #884 (closed defect: fixed)

Opened 16 years ago

Last modified 16 years ago

tango.math.IEEE triggers static assert on SPARC

Reported by: larsivi Assigned to: Don Clugston
Priority: major Milestone: 0.99.5
Component: Core Functionality Version: 0.99.4 Frank
Keywords: linux, sparc, gdc Cc:

Description

I've been trying to build Tango on SPARC, but since IEEE fails, quite a few other modules fail too.

The static assert on line 121 is triggered.

Apparently the machine is a 64 bit sparc, but the OS (Debian Linux) is running 32 bit user space

Change History

02/11/08 08:33:29 changed by Don Clugston

How big is a real on SPARC? Presumably it's neither 64 nor 80 bits. What is real.mant_dig?

02/11/08 09:15:05 changed by larsivi

Printing real.mant_dig with Stdout yielded 113 - hopefully it is correct, at least the formatter looked like it worked with ints (it hung on double/reals).

02/11/08 10:24:12 changed by Don Clugston

Quadruple precision reals! Cool! I'll have to create quadruple precision versions of all the IEEE code. This make take a little while, but it's great -- it will ensure that the design is completely sound.

02/11/08 16:10:00 changed by kris

oh man :)

02/12/08 11:21:57 changed by larsivi

(In [3173]) SPARC is BigEndian?, refs #884

02/12/08 11:23:12 changed by larsivi

Compiling IEEE now gives

tango/math/IEEE.d:216: Error: undefined identifier INEXACT_MASK
tango/math/IEEE.d:218: Error: undefined identifier UNDERFLOW_MASK
tango/math/IEEE.d:220: Error: undefined identifier OVERFLOW_MASK
tango/math/IEEE.d:222: Error: undefined identifier DIVBYZERO_MASK
tango/math/IEEE.d:224: Error: undefined identifier INVALID_MASK
tango/math/IEEE.d:437: Error: undefined identifier v1
tango/math/IEEE.d:437: Error: can only * a pointer, not a 'int'
tango/math/IEEE.d:1013: Error: undefined identifier x
tango/math/IEEE.d:1013: Error: declaration tango.math.IEEE.isSubnormal.e is already defined
tango/math/IEEE.d:1042: Error: undefined identifier e

02/13/08 12:51:06 changed by larsivi

After [3177], I still get these (version id SPARC)

tango/math/IEEE.d:264: Error: undefined identifier INEXACT_MASK
tango/math/IEEE.d:266: Error: undefined identifier UNDERFLOW_MASK
tango/math/IEEE.d:268: Error: undefined identifier OVERFLOW_MASK
tango/math/IEEE.d:270: Error: undefined identifier DIVBYZERO_MASK
tango/math/IEEE.d:272: Error: undefined identifier INVALID_MASK
tango/math/IEEE.d:472: Error: undefined identifier v1
tango/math/IEEE.d:472: Error: can only * a pointer, not a 'int'
tango/math/IEEE.d:1079: Error: undefined identifier e

Note that since this is GDC, stuff probably will fail to some degree anyways even when it compiles.

02/14/08 09:37:53 changed by larsivi

  • status changed from new to closed.
  • resolution set to fixed.

After [3180] and [3181] it compiles on SPARC - great! Closing this - will open new tickets if there are sparc specific unittest problems.