The "#pragma once" directive can cause spurious "Multiple include guards may be useful for:" messages.
$ cat bar.h #pragma once $ cat foo.c #include "bar.h" $ gcc -S -H foo.c . bar.h Multiple include guards may be useful for: bar.h -- Summary: #pragma once and -H Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: d dot g dot gorbachev at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43195