Building with static checking

Note: This documentation describes features which are only available in the mozilla-central code repository.  They are not present any released version of Firefox.

In addition to the normal errors and warnings provided by C++ compiler, there are often code patterns in Mozilla which are legal C++ but are nevertheless incorrect in various ways. Mozilla can now use a tool called Dehydra GCC to detect incorrect code and provide authors with instant feedback during the compile process.

Using Static Checking

Follow these steps to use static checking:

  • Build GCC with plugin support (see instructions on the Dehydra GCC page)
  • Build Dehydra GCC
  • Add the following line to your .mozconfig file:
ac_add_options --with-static-checking=/path/to/

As each C++ file in Mozilla is built, g++ will pass compilation information to config/static-checking.js. This script will perform Mozilla-specific code checking.

To change the analyses that are run, edit config/


The following macros are currently used to annotate classes:

The following macros are currently used to annotate methods: