Что такое компилятор gcc для Xlc -qthreaded? - PullRequest
1 голос
/ 08 марта 2019

В настоящее время я переносю свой компилятор из компилятора AIX XLC в компилятор GCC в AIX.

Я хочу знать, есть ли опция компиляции, эквивалентная GCC, для -qthreaded (XLC).

1 Ответ

4 голосов
/ 08 марта 2019

-pthread - ближайший вариант GCC для случаев использования, где -qthreaded применяется для XL; однако он не эквивалентен опции -qthreaded для IBM XL.

Документация GCC для -pthread просто утверждает, что он устанавливает макросы (http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#index-pthread) и изменяет шаг соединения (http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#index-pthread-1). -qthreaded не приводит к тому, что _THREAD_SAFE определяется как макрос) Кроме того, -lpthreads не присутствует на шаге соединения. -pthread GCC больше похоже на вызовы XL _r (которые устанавливают макрос и изменяют шаг соединения).

Что делает -qthreaded, так это отключает оптимизации, которые небезопасны для многопоточных программ. Похоже, что, по крайней мере, исторически, -fno-tree-loop-if-convert-stores будет, по крайней мере, частично, GCC, эквивалентным -qthreaded.

...