Improve the error message for when #ifndef guards don't match the #define.

Patch from <csharp@google.com>
This commit is contained in:
erg@google.com
2012-01-26 20:30:03 +00:00
parent 3dc7426aed
commit dc28970e18
2 changed files with 15 additions and 3 deletions
+13 -1
View File
@@ -1071,12 +1071,18 @@ def CheckForHeaderGuard(filename, lines, error):
endif = line
endif_linenum = linenum
if not ifndef or not define or ifndef != define:
if not ifndef:
error(filename, 0, 'build/header_guard', 5,
'No #ifndef header guard found, suggested CPP variable is: %s' %
cppvar)
return
if not define:
error(filename, 0, 'build/header_guard', 5,
'No #define header guard found, suggested CPP variable is: %s' %
cppvar)
return
# The guard should be PATH_FILE_H_, but we also allow PATH_FILE_H__
# for backward compatibility.
if ifndef != cppvar:
@@ -1089,6 +1095,12 @@ def CheckForHeaderGuard(filename, lines, error):
error(filename, ifndef_linenum, 'build/header_guard', error_level,
'#ifndef header guard has wrong style, please use: %s' % cppvar)
if define != ifndef:
error(filename, 0, 'build/header_guard', 5,
'#ifndef and #define don\'t match, suggested CPP variable is: %s' %
cppvar)
return
if endif != ('#endif // %s' % cppvar):
error_level = 0
if endif != ('#endif // %s' % (cppvar + '_')):