Die Performance Verluste bei Floating Point Operationen auf x86 Architekturen treten nicht auf, solange man nicht die strike c99 Kompatibilät explizit selber fordert, und selbst dann kann man die dafür verantwotlichen Teile noch wieder speziell ausschalten. Aus dem Changelog:
> GCC now supports handling floating-point excess precision arising from use of the x87 floating-point unit in a way that conforms to ISO C99. > This is enabled with -fexcess-precision=standard and with standards conformance options such as -std=c99, and may be disabled using > -fexcess-precision=fast.
Für alte Programme, Makefiles, ... ändert sich also nichts, sofern man nicht selber c99 Kompatibilität gefordert hat, und diese ist in der neuen Version eben strikter, was bzgl. Standards immer "besser" ist.
Die Performance Verluste bei Floating Point Operationen auf x86 Architekturen treten nicht auf, solange man nicht die strike c99 Kompatibilät explizit selber fordert, und selbst dann kann man die dafür verantwotlichen Teile noch wieder speziell ausschalten. Aus dem Changelog:
> GCC now supports handling floating-point excess precision arising from use of the x87 floating-point unit in a way that conforms to ISO C99.
> This is enabled with -fexcess-precision=standard and with standards conformance options such as -std=c99, and may be disabled using
> -fexcess-precision=fast.
Für alte Programme, Makefiles, ... ändert sich also nichts, sofern man nicht selber c99 Kompatibilität gefordert hat, und diese ist in der neuen Version eben strikter, was bzgl. Standards immer "besser" ist.
Und was passiert bei -std=gnu99?