/usr/include/d2/4.6/gcc/ldblcompat.d is in libphobos2-4.6-dev 0.29.1-4.6.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | /* In C, the stdio/stdlib function to use are determined by a test in cdefs.h.
There is another test for math functions in architecture/ppc/math.h which
is reproduced, in spirit, here. This one test controls both stdio/stdlib and
math functions for D. */
module gcc.ldblcompat;
version (darwin)
{
version (PPC)
version = GNU_CheckLongDoubleFormat;
}
else
version = GNU_CheckLongDoubleFormat;
version (GNU_CheckLongDoubleFormat)
{
version (GNU_WantLongDoubleFormat128)
version = GNU_UseLongDoubleFormat128;
else version (GNU_WantLongDoubleFormat64)
{ }
else
{
version (GNU_LongDouble128)
version = GNU_UseLongDoubleFormat128;
}
}
version (GNU_UseLongDoubleFormat128)
{
version (darwin)
{
// Currently, the following test from cdefs.h is not supported:
//# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0 < 1040
version (all)
invariant __DARWIN_LDBL_COMPAT = "$LDBL128";
else
invariant __DARWIN_LDBL_COMPAT = "$LDBLStub";
invariant __DARWIN_LDBL_COMPAT2 = "$LDBL128";
invariant __LIBMLDBL_COMPAT = "$LDBL128";
}
else
{
static const bool __No_Long_Double_Math = false;
const char[] __LDBL_COMPAT_PFX = "";
}
}
else
{
version (darwin)
{
invariant __DARWIN_LDBL_COMPAT = "";
invariant __DARWIN_LDBL_COMPAT2 = "";
invariant __LIBMLDBL_COMPAT = "";
}
else
{
static const bool __No_Long_Double_Math = true;
const char[] __LDBL_COMPAT_PFX = "__nldbl_";
}
}
|