Header Guards

This linter checks for missing header guards in C, C++ and objective C headers. This enforces the principle edict in our coding style.

Principle

If a header file (.h or .hpp extension) purged from comment does not begin with #pragma once, #ifndef SOME_GUARD or #if !defined(SOME_GUARD), it is considered an error.

Run Locally

The mozlint integration of this linter can be run using mach:

$ mach lint --linter header-guards <file paths>

Autofix

The header-guards linter provides a --fix option.

Builders

Serge Guelton (sergesanspaille) owns the builders. Questions can also be asked on #static-analysis:mozilla.org on Matrix.

cpp(guards)

This is a tier-1 task. For test failures the patch causing the issue should be backed out or the issue fixed.

Most failures can be fixed with ./mach lint -lheader-guards --fix path/to/file.

For test harness issues, file bugs in Developer Infrastructure :: Lint and Formatting.

Sources