Добрый день!
У меня есть такой код:
common.h
#pragma once
// Далее код
main.cpp
#include "common.h"
// Далее код
Опции сборки: -Wall -Wextra -Wcpp, т.е. отображение предупреждений включено помаксимуму.
Компилятор gcc ругается так: common.h:14: предупреждение: #pragma once in main file [enabled by default]
Это единственный ворнинг. Вообще, ничего ведь ужасного в том, что я использую once в главном файле нет, однако компилятор ругается. Я перерыл весь ман, но ничего толкового не нашёл (возможно, что я просто пропутил по невнимательности). Смотрел в исходниках gcc. Потратил час, но ничего не нашёл. Времени крайне мало - проект надо заканчивать, а вот что с ворнингом делать ума не приложу. В окончательном релизе будет использоваться -Werror, так что ворнинг победить надо.
Если кто знает, подскажите как. Притом, я хочу включить практически все ворнинги, кроме тех, в которых я уверен, например, в deprecated - их я тоже отключаю. А вот как отключить вот этот ворнинг? Кто-то подскажет?
Вариант с убиранием #pragma once считается крайне нежелательным (я знаю что он устарел и не используется, но всё же должен же быть способ). Если не смогу заглушить, то понятное дело, его скорее всего уберу.