Adriaan van Os wrote:
So, I now tried the testsuite with the gcc-3.4.3 based compiler. The result- several failures and crashes. I tried in C and reported it as a gcc bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19993.
The answer to my bug report, I believe, is nonsense. Because of this and because of this earlier comment:
Geoff Keating wrote:
Note that even when this is fixed, -mlong-double-128 (and especially this testcase) won't work on Darwin because the library support for it is not there. That's not a GCC problem.
... I would be curious to know the result on ppc Linux or ppc AIX of the following (in Pascal and C)
To clarify somewhat what Geoff Keating wrote: unsing -mlong-double-128 currenly means changed inteface. In first approximation all parts of the program need to be compiled with -mlong-double-128 -- _including_ runtime support (libgpc.a). At least part of the runtime must be re-coded to suppot better accuraccy. So using `libgpc.a' compiled with 64-bit long-double can not work with -mlong-double-128. The same applies to `libgcc.a' and `libc'. While updating `libgcc.a' and `libgpc.a' is part of compiler effort `libc' comes with OS and is beyond scope of GCC (Keating: "That's not a GCC problem").
In particular, gpc emits calls to `sin' and `Wirteln' using current size of long double, but libgpc.a uses 64-bit size, which causes problems.
In ideal world all this mess would be hidden from users of compiler, but using different size of fundamental types on single system is rare, and I can not see how one could make it transparent in C (in principle gpc has all relevant information in .gpi files, but C compiler have to translate different parts separately).