(In reply to Tooru Fujisawa [:arai] from comment #48) > given that what we want to do there is just use `double`, regardless of system's definition (`double` or `long double`), > I think we'd better workaround the conflict by not using the `double_t` or `__double_t` identifiers. > > We can replace `double_t` and `__double_t` to some other names, or maybe just use `double` itself. I don't think that would resolve the issue. In math libraries, for uniformity we want to use 64bit doubles on all systems---on some systems a `double` might be 32bit---which we why we define a separate `double_t`. On Windows, a double is [always 64bit](https://docs.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp?view=msvc-160#sizes-of-built-in-types) so we don't have an issue. However, that seems to be not true on the specified linux as per the crashlog because the math library in glibc is defining `double_t` to be `long double`. We could check if `double_t` is defined and use that but, from a quick google search, that doesn't seem easy to do in cpp.
Bug 1729459 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Tooru Fujisawa [:arai] from [comment #48 on Bug 531915](https://bugzilla.mozilla.org/show_bug.cgi?id=531915#c48)) > given that what we want to do there is just use `double`, regardless of system's definition (`double` or `long double`), > I think we'd better workaround the conflict by not using the `double_t` or `__double_t` identifiers. > > We can replace `double_t` and `__double_t` to some other names, or maybe just use `double` itself. I don't think that would resolve the issue. In math libraries, for uniformity we want to use 64bit doubles on all systems---on some systems a `double` might be 32bit---which we why we define a separate `double_t`. On Windows, a double is [always 64bit](https://docs.microsoft.com/en-us/cpp/cpp/fundamental-types-cpp?view=msvc-160#sizes-of-built-in-types) so we don't have an issue. However, that seems to be not true on the specified linux as per the crashlog because the math library in glibc is defining `double_t` to be `long double`. We could check if `double_t` is defined and use that but, from a quick google search, that doesn't seem easy to do in cpp.