Как ведет себя GCC, если переданы конфликтующие флаги компилятора?
Я знаю, что если вы выполните GCC как таковой:
gcc -O3 -O2 foo.c
GCC будет использовать последний переданный флаг оптимизации (в этом случаеO2
). Однако верно ли это для всех флагов? Например, если я выполню GCC следующим образом:
gcc -mno-sse -msse bar.c
Будет ли он поддерживать SSE, так как это был последний переданный флаг, или это приведет к неопределенному поведению? Мои первоначальные эксперименты, похоже, указывают на то, что он будет поддерживать SSE, но я не уверен, верно ли это для всех случаев.