------- Comment #4 from schnetter at aei dot mpg dot de 2007-01-26 14:36 ------- I have read the documentation, and I understand what the option does. I compile my complete programme and all its libraries with this option.
It was my assumption that the compiler would create working code with and without this option, that is, that the run-time library could handle both cases. My patch would change the run-time library so that this is indeed the case for inquire(iolength). Creating a run-time library that works with -malign-double is certainly possible; the question is whether the additional work is deemed worthwhile. Looking on the web, most numerical benchmarks use -malign-double on the i386. At the same time I see many complaints from people who use this option without knowing what it does and reporting spurious errors, which is a maintenance burden. I realise that any bug report concerning -malign-double must hit a sore spot with you. If -malign-double is really unsupported, then the documentationcould be changed to include a warning sentence like: "Calling standard library routines is not supported when this option is used. Your program may segfault randomly or silently produce wrong results." As it, I honestly interpreted the documentation as saying that one is safe if (a) the whole programme is compiled with this option, and (b) no structure involved in library calls contains double, long double, or long long. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30594