[PATCH 3/9] msvcr120: Remove precompiler check for asinh.

Alex Henrie alexhenrie24 at gmail.com
Mon Jul 10 12:41:58 CDT 2017


2017-07-10 5:20 GMT-06:00 Piotr Caban <piotr.caban at gmail.com>:
> On 07/10/17 06:55, Alex Henrie wrote:
>>
>> asinh is part of C89, so it is guaranteed to be present.
>
> Are you sure about it? As far as I know it's part of C99. The manual for
> asinh looks strange (it says that it conforms to C89 and gives test macro
> that checks for never standards).

I just looked, and I don't see it either. I also tried compiling a
small program with asinh, and it would not compile with `gcc
-std=c89`. So I think the man page must be mistaken.

2017-07-10 7:06 GMT-06:00 Alexandre Julliard <julliard at winehq.org>:
> In general we don't care about the standards. Saying "asinh is in C89 so
> it's guaranteed to be available" doesn't make sense, nothing is
> guaranteed. There may or may not be a system out there that doesn't have
> it, no matter what the standards say.
>
> So in principle we add checks as we find systems that require them, and
> we don't remove them because there's no easy way to check that they
> aren't still needed somewhere.

If we say that C89 (or more realistically, gnu89) is the minimum
requirement for compiling Wine, it becomes much easier to decide when
to add (or remove) feature test macros. I'd actually like to add
checks around several other non-C89 functions that we use in math.c.
But the decision is up to you.

Let's skip over the trigonometric functions for now; the other patches
will still apply cleanly without them.

-Alex



More information about the wine-devel mailing list