L'operatore di concatenazione '##' nelle macro produce un errore quando i due token uniti non formano un token C lessicalmente valido (es. un identificatore valido o un operatore composito).
TOKEN_PASTING_ERROR
→
Una costante o macro '#define' viene definita una seconda volta con un valore o parametri differenti nello stesso file senza essere stata preventivamente annullata con '#undef'.
MACRO_REDEFINITION
→
La direttiva '#pragma once' è intesa per i soli file di intestazione (.h); inserirla all'inizio di un file sorgente principale (.c) è ridondante e genera un avviso di compilazione.
PRAGMA_ONCE_WARNING
→
La direttiva '#include' non riesce a trovare il file specificato né tra le cartelle di include di sistema né tra i percorsi aggiunti con il flag '-I/percorso'.
PREPROC_FILE_NOT_FOUND
→
La mancanza delle guardie di inclusione (#ifndef MY_HEADER_H / #define MY_HEADER_H ... #endif) causa la duplicazione delle dichiarazioni quando lo stesso header viene incluso da file diversi dell'albero di dipendenze.
MISSING_INCLUDE_GUARDS
→