Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Aug 2017 17:14:14 -0700
From:      Ryan Libby <rlibby@freebsd.org>
To:        "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
Cc:        Ian Lepore <ian@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: svn commit: r322418 - head/lib/msun/src
Message-ID:  <CAHgpiFwtg8xXcoYBFr4sOnaVRnSrQ8V9hKi71=KrJO-zSM9o-w@mail.gmail.com>
In-Reply-To: <A6C8FE24-3458-474D-B05D-FEABFFF7F6EB@gmail.com>
References:  <201708112241.v7BMfP5X028262@repo.freebsd.org> <1502555191.47886.30.camel@freebsd.org> <CAHgpiFx=pDQA-dHNQJwqDQ%2B2iXJDkvVNsdmyBZG2EL%2BVJQCU4g@mail.gmail.com> <CAHgpiFwAAs8=pcpuwVCx-hNdPp3OXFESVdZ6=9fJ8kPwZiqVCg@mail.gmail.com> <5672BE7A-0640-4C8B-9B41-44AD83D7B59E@gmail.com> <A6C8FE24-3458-474D-B05D-FEABFFF7F6EB@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 12, 2017 at 2:53 PM, Ngie Cooper (yaneurabeya)
<yaneurabeya@gmail.com> wrote:
[...]
>         Here are the full gamut of definitions for LDBL_MAX_EXP. It seems=
 that sparc64 isn=E2=80=99t the only architecture using this pattern:
>
> $ grep -r DBL_MAX_EXP sys/*/include
> sys/arm/include/float.h:#define DBL_MAX_EXP     1024
> sys/arm/include/float.h:#define LDBL_MAX_EXP    DBL_MAX_EXP
> sys/arm64/include/float.h:#define       DBL_MAX_EXP     1024
> sys/arm64/include/float.h:#define       LDBL_MAX_EXP    (+16384)
> sys/mips/include/float.h:#define        DBL_MAX_EXP     1024
> sys/mips/include/float.h:#define        LDBL_MAX_EXP    DBL_MAX_EXP
> sys/powerpc/include/float.h:#define DBL_MAX_EXP 1024
> sys/powerpc/include/float.h:#define LDBL_MAX_EXP        DBL_MAX_EXP
> sys/riscv/include/float.h:#define       DBL_MAX_EXP     1024
> sys/riscv/include/float.h:#define       LDBL_MAX_EXP    (+16384)
> sys/sparc64/include/float.h:#define DBL_MAX_EXP 1024
> sys/sparc64/include/float.h:#define LDBL_MAX_EXP        (+16384)
> sys/x86/include/float.h:#define DBL_MAX_EXP     1024
> sys/x86/include/float.h:#define LDBL_MAX_EXP    16384
>
>         It might also be an inconsistency with how clang vs gcc [4.2.1] h=
andles __CONCAT, and what -std=3D flags are passed to ${CC} in the Makefile=
, since the implementation is predicated by whether or not it=E2=80=99s C++=
 or __STDC__ is defined. There might be an update that we can grab from Net=
BSD (since the macro originated there).
>         I don=E2=80=99t understand [right now] why the (+foo) form is use=
d *shrugs*.

Yeah, unsure.  Aesthetically it mirrors the declaration for the macros
with negative values such as LDBL_MIN_EXP (where the parentheses do have
a functional purpose), but in sys/*/include/{_limits.h,_stdint.h} by
comparison we don't have parens around the positive values.

Anyway maybe the macro pasting method is just too fragile of a hack.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHgpiFwtg8xXcoYBFr4sOnaVRnSrQ8V9hKi71=KrJO-zSM9o-w>