Changes
Started by upstream project gerrit-osmo-trx #487
Started 9 hr 11 min ago
Queued 8.4 sec
Took 2 min 29 sec
on build5-deb12build-ansible
checkpatch.conf: lint more code
The current linter configuration misses to find lots of formatting
errors as we've seen here:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comments/f8f1b5a2_3c7e1389
This is caused by the following exclude rules in .checkpatch.conf, which
were added there to avoid that some of the checkpatch rules don't work
correctly with C++ code:
---exclude .*h
---exclude Transceiver52M/grgsm_vitac/.*
---exclude utils/va-test/.*
Fix this by splitting the .checkpatch.conf into two files,
.checkpatch.c.conf and .checkpatch.c++.conf. Let the C version use the
default rules. Let the C++ version ignore the rules that don't work with
C++ code:
* SPACING
Fails on:
std::vector<std::string>
With:
ERROR:SPACING: spaces required around that '<' (ctx:VxV)
ERROR:SPACING: spaces required around that '>' (ctx:VxW)
* FUNCTION_ARGUMENTS
Fails on:
ScopedLock lock(mLock);
With:
WARNING:FUNCTION_ARGUMENTS: function definition argument 'mLock' should also have an identifier name
* INDENTED_LABEL
Fails on:
private:
protected:
With:
WARNING:INDENTED_LABEL: labels should not be indented
* NEW_TYPEDEFS
Fails on:
typedef std::map<K,D*> Map;
With:
WARNING:NEW_TYPEDEFS: do not add new typedefs
With the new config, the linter only complains about the following
things across the existing C++ code, which seem to be legitimate linting
problems (and if not, can be ignored as well):
BRACES_NOT_NECESSARY, CODE_INDENT, LEADING_SPACE,
MULTISTATEMENT_MACRO_USE_DO_WHILE, OPEN_BRACE, POINTER_LOCATION,
PRINTF_I_OSMO, SINGLE_STATEMENT_DO_WHILE_MACRO, SPACE_BEFORE_TAB,
STATIC_CONST_CHAR_ARRAY, TABSTOP, TRAILING_WHITESPACE
Depends: osmo-ci Ia2e75d9783382cefc3900a4ab51a5a919a2cbbbc
Change-Id: I0df5b6f2f0bf1469a80a1f5859809c30f523f683
The current linter configuration misses to find lots of formatting
errors as we've seen here:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comments/f8f1b5a2_3c7e1389
This is caused by the following exclude rules in .checkpatch.conf, which
were added there to avoid that some of the checkpatch rules don't work
correctly with C++ code:
---exclude .*h
---exclude Transceiver52M/grgsm_vitac/.*
---exclude utils/va-test/.*
Fix this by splitting the .checkpatch.conf into two files,
.checkpatch.c.conf and .checkpatch.c++.conf. Let the C version use the
default rules. Let the C++ version ignore the rules that don't work with
C++ code:
* SPACING
Fails on:
std::vector<std::string>
With:
ERROR:SPACING: spaces required around that '<' (ctx:VxV)
ERROR:SPACING: spaces required around that '>' (ctx:VxW)
* FUNCTION_ARGUMENTS
Fails on:
ScopedLock lock(mLock);
With:
WARNING:FUNCTION_ARGUMENTS: function definition argument 'mLock' should also have an identifier name
* INDENTED_LABEL
Fails on:
private:
protected:
With:
WARNING:INDENTED_LABEL: labels should not be indented
* NEW_TYPEDEFS
Fails on:
typedef std::map<K,D*> Map;
With:
WARNING:NEW_TYPEDEFS: do not add new typedefs
With the new config, the linter only complains about the following
things across the existing C++ code, which seem to be legitimate linting
problems (and if not, can be ignored as well):
BRACES_NOT_NECESSARY, CODE_INDENT, LEADING_SPACE,
MULTISTATEMENT_MACRO_USE_DO_WHILE, OPEN_BRACE, POINTER_LOCATION,
PRINTF_I_OSMO, SINGLE_STATEMENT_DO_WHILE_MACRO, SPACE_BEFORE_TAB,
STATIC_CONST_CHAR_ARRAY, TABSTOP, TRAILING_WHITESPACE
Depends: osmo-ci Ia2e75d9783382cefc3900a4ab51a5a919a2cbbbc
Change-Id: I0df5b6f2f0bf1469a80a1f5859809c30f523f683
Oliver Smith
at