On Mon, 2004-08-30 at 11:33, alex@muthler.de wrote:
Hallo,
ich habe hier Fortran-Quellen, welche sich, wenn ich sie mit -03 compiliere anders verhalten als die entsprechende Debug-Version (-g).
Dazu zwei generelle Anmerkungen: 1. Wer -O3 verwendet, begibt sich aufs Glatteis. "g77 -O3" zu verwenden, ist am Rande der Verantwortungslosigkeit. 2. Zwischen -g und -Ox besteht nur ein sehr geringer Zusammenhang.
Ich vermute, dass das an irgendwelchen fehlenden Initialisierungen von Variablen liegt. Kennt jemand Compilerflags, die mir dieses Verhalten auch bei Optimierung (-Ox) zur Verfügung stellen (z.B. eine Default-Initialisierung)? IMHO, doktorst Du an Symptomen herum.
Besser wäre es, die Ursachen zu finden. In der Regel handelt es sich Bugs im Programm, Compilerfehler sind zwar auch denkbar, in der Regel aber deutlich unwahrscheinlicher. Standardvorgehen wäre: 1. Die Warning-Flags variieren (vgl. man gcc g77 und info gcc) und den Compilerwarnings nachgehen. 2. Sich ein Testprogramm schreiben mit dem der Fehler auftritt und die Optimierungslevels variieren, ggf. auch spezielle Optimierungen ein-/ausschalten (vgl. man gcc g77 und info gcc). 3. Sich ein Testprogramm schreiben und debuggen, ggf. asm-Code analysieren und/oder im Debugger single-steppen, um herauszubekommen, was wirklich passiert. Ralf