Commit e59f4166 authored by Alexey Kopytov's avatar Alexey Kopytov

Bug#55061: Build failing on sol 8 x86 - assembler code vs

           compiler problem

GCC-style inline assembly is not supported by the Sun Studio
compilers prior to version 12.

Added a check for the Sun Studio version to avoid using 
_FPU_GETCW() / _FPU_SETCW() when inline assembly is
 unsupported. This can lead to some differences in floating
point calculations on Solaris 8/x86 which, however, is not worth
bothering with Sun-style assembly .il templates.
parent 6433a553
...@@ -190,7 +190,7 @@ typedef fp_except fp_except_t; ...@@ -190,7 +190,7 @@ typedef fp_except fp_except_t;
# define fpu_control_t unsigned int # define fpu_control_t unsigned int
# define _FPU_EXTENDED 0x300 # define _FPU_EXTENDED 0x300
# define _FPU_DOUBLE 0x200 # define _FPU_DOUBLE 0x200
# if defined(__GNUC__) || defined(__SUNPRO_CC) # if defined(__GNUC__) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590)
# define _FPU_GETCW(cw) asm volatile ("fnstcw %0" : "=m" (*&cw)) # define _FPU_GETCW(cw) asm volatile ("fnstcw %0" : "=m" (*&cw))
# define _FPU_SETCW(cw) asm volatile ("fldcw %0" : : "m" (*&cw)) # define _FPU_SETCW(cw) asm volatile ("fldcw %0" : : "m" (*&cw))
# else # else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment