Saat ini GCC tidak memiliki cara untuk menekan peringatan ini. Dan flycheck tidak memiliki cara untuk mengabaikan kesalahan tanpa menyentuh bagian dalamnya.
Berikut ini hack yang berfungsi untuk gcc:
; ignore gcc "#pragma once" warning
(with-eval-after-load "flycheck"
(eval-when-compile (require 'flycheck)) ; for flycheck-error struct
(defun my-filter-pragma-once-in-main (orig-fun errors)
(dolist (err errors)
(-when-let (msg (flycheck-error-message err))
(setf (flycheck-error-message err)
(if (string-match-p "#pragma once in main file" msg) nil msg))))
(funcall orig-fun errors))
(advice-add 'flycheck-sanitize-errors :around #'my-filter-pragma-once-in-main))
Untuk kelengkapan, jawaban @ grepcake untuk dentang:
; ignore clang "#pragma once" warning
(with-eval-after-load "flycheck"
(setq flycheck-clang-warnings `(,@flycheck-clang-warnings
"no-pragma-once-outside-header")))