| --- support/cpplint.py.orig 2014-07-16 15:35:35.000000000 -0700 |
| +++ support/cpplint.py 2014-07-16 15:57:34.000000000 -0700 |
| @@ -28,6 +28,8 @@ |
| # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| +# Modified by Adam B (adam@mesosphere.io) to handle hpp files. |
| + |
| """Does google-lint on c++ files. |
| |
| The goal of this script is to identify places in the code that *may* |
| @@ -71,7 +73,7 @@ |
| suppresses errors of all categories on that line. |
| |
| The files passed in will be linted; at least one file must be provided. |
| - Default linted extensions are .cc, .cpp, .cu, .cuh and .h. Change the |
| + Default linted extensions are .cc, .cpp, .cu, .cuh, .hpp and .h. Change the |
| extensions with the --extensions flag. |
| |
| Flags: |
| @@ -449,7 +451,7 @@ |
| |
| # The allowed extensions for file names |
| # This is set by --extensions flag. |
| -_valid_extensions = set(['cc', 'h', 'cpp', 'cu', 'cuh']) |
| +_valid_extensions = set(['cc', 'h', 'cpp', 'cu', 'cuh', 'hpp']) |
| |
| def ParseNolintSuppressions(filename, raw_line, linenum, error): |
| """Updates the global list of error-suppressions. |
| @@ -1775,16 +1777,16 @@ |
| if self.name: |
| # Named namespace |
| if not Match((r'};*\s*(//|/\*).*\bnamespace\s+' + re.escape(self.name) + |
| - r'[\*/\.\\\s]*$'), |
| + r'[\*/\.\\\s]* {$'), |
| line): |
| error(filename, linenum, 'readability/namespace', 5, |
| - 'Namespace should be terminated with "// namespace %s"' % |
| + 'Namespace should be terminated with "// namespace %s {"' % |
| self.name) |
| else: |
| # Anonymous namespace |
| - if not Match(r'};*\s*(//|/\*).*\bnamespace[\*/\.\\\s]*$', line): |
| + if not Match(r'};*\s*(//|/\*).*\bnamespace[\*/\.\\\s]* {$', line): |
| error(filename, linenum, 'readability/namespace', 5, |
| - 'Namespace should be terminated with "// namespace"') |
| + 'Namespace should be terminated with "// namespace {"') |
| |
| |
| class _PreprocessorInfo(object): |
| @@ -1993,11 +1995,9 @@ |
| if access_match: |
| classinfo.access = access_match.group(2) |
| |
| - # Check that access keywords are indented +1 space. Skip this |
| - # check if the keywords are not preceded by whitespaces. |
| + # Check that access keywords are not indented. |
| indent = access_match.group(1) |
| - if (len(indent) != classinfo.class_indent + 1 and |
| - Match(r'^\s*$', indent)): |
| + if (len(indent) != classinfo.class_indent): |
| if classinfo.is_struct: |
| parent = 'struct ' + classinfo.name |
| else: |
| @@ -2006,7 +2006,7 @@ |
| if access_match.group(3): |
| slots = access_match.group(3) |
| error(filename, linenum, 'whitespace/indent', 3, |
| - '%s%s: should be indented +1 space inside %s' % ( |
| + '%s%s: should not be indented inside %s' % ( |
| access_match.group(2), slots, parent)) |
| |
| # Consume braces or semicolons from what's left of the line |
| @@ -3400,7 +3400,7 @@ |
| |
| # Check if the line is a header guard. |
| is_header_guard = False |
| - if file_extension == 'h': |
| + if (file_extension == 'h' or file_extension == 'hpp'): |
| cppvar = GetHeaderGuardCPPVariable(filename) |
| if (line.startswith('#ifndef %s' % cppvar) or |
| line.startswith('#define %s' % cppvar) or |
| @@ -3867,7 +3867,7 @@ |
| error(filename, linenum, 'runtime/init', 4, |
| 'You seem to be initializing a member variable with itself.') |
| |
| - if file_extension == 'h': |
| + if (file_extension == 'h' or file_extension == 'hpp'): |
| # TODO(unknown): check that 1-arg constructors are explicit. |
| # How to tell it's a constructor? |
| # (handled in CheckForNonStandardConstructs for now) |
| @@ -4011,7 +4011,7 @@ |
| # Check for use of unnamed namespaces in header files. Registration |
| # macros are typically OK, so we allow use of "namespace {" on lines |
| # that end with backslashes. |
| - if (file_extension == 'h' |
| + if ((file_extension == 'h' or file_extension == 'hpp') |
| and Search(r'\bnamespace\s*{', line) |
| and line[-1] != '\\'): |
| error(filename, linenum, 'build/namespaces', 4, |
| @@ -4552,7 +4552,7 @@ |
| |
| CheckForCopyright(filename, lines, error) |
| |
| - if file_extension == 'h': |
| + if (file_extension == 'h' or file_extension == 'hpp'): |
| CheckForHeaderGuard(filename, lines, error) |
| |
| RemoveMultiLineComments(filename, lines, error) |