Снятие флага в GCC с помощью Pragma - PullRequest
0 голосов
/ 01 июля 2010

Я хочу удалить флаг компилятора для файла praticular в моем проекте. Как это сделать, используя #pragma?

Ответы [ 3 ]

2 голосов
/ 05 июня 2011

Извините, что уже поздно, но я столкнулся с той же проблемой в моем проекте.

Мне не удалось найти #pragma для изменения списка флагов компилятора, но я мог бы использовать возможность GNU Make для изменения переменных make для каждой цели.

Один из моих файлов собирался навсегда с -fvar-tracking-assignments (который был добавлен в -O2 несколькими выпусками назад). Я искал способ отключить это для одного файла; посмотрев (напрасно) подходящую прагму, я просто добавил эту строку в свой make-файл, чтобы изменить CXXFLAGS при компиляции и компоновке этих конкретных файлов:

ObtuseObj.o ObtuseObjTest.o ObtuseObjTest : CXXFLAGS += -fno-var-tracking-assignments

Надеюсь, это будет полезно другим!

1 голос
/ 02 декабря 2010

Только флаги, управляющие предупреждениями, могут быть переопределены с помощью #pragma, см. Страницу документации диагностики .

Например, вы можете сделать:

#pragma GCC diagnostic ignored "-Wformat"

Чтобы GCC игнорировал предупреждения, генерируемые несоответствующими строками форматирования.

0 голосов
/ 01 июля 2010

Я не уверен, есть ли у gcc такие прагмы. Я не могу найти ничего на странице gcc для прагм .

Если вы в следующий раз задаете вопрос, связанный с gcc, отметьте его также под gcc. Я бы пометил это, но не могу. Пометка под gcc даст вам гораздо больше ответов.

...