[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Guile 2.1.5 released (beta)
From: |
Andy Wingo |
Subject: |
Re: GNU Guile 2.1.5 released (beta) |
Date: |
Mon, 09 Jan 2017 00:01:08 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
On Tue 20 Dec 2016 23:58, Matt Wette <address@hidden> writes:
> With the patch below I can get through all the tests on my Mac (macOS
> 10.12.2) if I use default flags (i.e., -g -O2) and gcc-4.9 (now verifying
> also w/ gcc-6.2). The patch is a hack to
> get around an apparent optimization that thinks the sine of -0.0 is +0.0.
>
> Matt
>
> --- libguile/numbers.c-orig 2016-11-21 13:56:23.000000000 -0800
> +++ libguile/numbers.c 2016-12-20 14:43:58.000000000 -0800
> @@ -9099,6 +9099,9 @@
> #undef FUNC_NAME
>
> SCM
> +#ifdef __APPLE__
> +__attribute__((optimize("O0")))
> +#endif
> scm_c_make_polar (double mag, double ang)
> {
> double s, c;
Aaah, thank you for tracking this one down! So. I assume that with GCC
(any version) everything is fine. This is apparently an optimization in
LLVM. But... is LLVM wrong, or are we wrong? I guess LLVM is wrong,
right, since the result depends on the optimization level? Surely we
should be able to produce a nice compiler bug report out of this :)
Andy