Wie verhält sich GCC, wenn widersprüchliche Compiler-Flags übergeben werden?

Ich weiß, dass, wenn Sie GCC als solches ausführen:

gcc -O3 -O2 foo.c

GCC verwendet das zuletzt übergebene Optimierungsflag (in diesem FallO2). Trifft dies jedoch für alle Flags zu? Zum Beispiel, wenn ich GCC so ausführe:

gcc -mno-sse -msse bar.c

Wird es SSE unterstützen, seitdem das letzte Flag übergeben wurde, oder würde dies zu undefiniertem Verhalten führen? Meine ersten Experimente scheinen darauf hinzudeuten, dass SSE unterstützt wird, aber ich bin mir nicht sicher, ob dies in allen Fällen zutrifft.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage