Petro Karashchenko
3ccb657dc2
nuttx: remove space befone newline in logs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-27 21:01:19 -06:00
Petro Karashchenko
298c372afa
tools/nxstyle: fix nxstyle check for pointer to function types
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-11-26 14:55:34 -03:00
chenwei23
39cdd99d77
mm: Support the kernel address sanitizer
...
Signed-off-by: chenwei23 <chenwei23@xiaomi.com>
2021-11-02 13:32:47 -03:00
liucheng5
d1ebdf6e65
fix: nxstyle: fix a bug after "'\'"
...
When nxstyle.c detects a "\'", it seeks the other "\'", records the index as "endndx", then skip the "'x'". But it makes the index "n" as "endndx+1".Then it comes to the "n++" in "for()". So the character after "'x'" will be skipped, causing some errors.
For example, "{"devid", no_argument, NULL, 'i'},", the "}" will be skipped, causing a lot of error reports.
Now it's fixed.
Signed-off-by: liucheng5 <liucheng5@xiaomi.com>
2021-10-28 09:59:36 -05:00
liucheng5
b42d2a7284
fix: nxstyle: detect --,->,++ not next to operand
...
The nxstyle check tool can't recongnize the style error that --, -> or ++ is not next to the operand. For example, "idx ++;", "p ->member" or "(-- idx)", which is in incorrect style, is not recongnized. This patch add detection for these cases.
Signed-off-by: liucheng5 <liucheng5@xiaomi.com>
2021-09-19 11:06:05 -04:00
yangjiukui
014d6d026c
tools/nxstyle: Fix the check tool incorrectly reported no alignment.
...
The nxstyle check tool recognizes the division operator as
a comment. Check the following content to determine whether
it is a comment.
Change-Id: Id07c6668489895b45a1042794bc3acca66cd3c47
Signed-off-by: yangjiukui <yangjiukui@xiaomi.com>
2021-09-08 09:45:06 +08:00
Gustavo Henrique Nihei
f547883747
tools/nxstyle: Extend check to any URI scheme
2021-05-07 19:38:10 -07:00
Gustavo Henrique Nihei
886009f15f
tools/nxstyle: Add _Atomic keyword to whitelisted words
2021-05-06 06:48:59 -07:00
chao.an
692856a626
tools/nxstyle: rename exception _Unwind_Ptr to _Unwind to support fuzzy match
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-04-19 04:45:04 -07:00
Alin Jerpelea
f878390c6d
tools: nxstyle: add exception for X11 keysymdef
...
Add exception for XK_* Mixed Case defined by X11 keysymdef.h
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 11:56:35 -05:00
Alin Jerpelea
c7c3683845
tools: nxstyle: add Mixed case exceptions for nfs
...
add exceptions for nfs to avoid future false warnings
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 09:37:06 -05:00
Abdelatif Guettouche
aaedc99612
nxstyle: Fix typos in reported errors.
...
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-01 07:06:49 -05:00
Alin Jerpelea
2a03582541
nxstyle: add Mixed Case exceptions
...
Add _Far and _Erom to the mixed case exceptions
Ref:
nuttx/compiler.h
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-31 09:17:54 -07:00
Alin Jerpelea
122f59b761
tools; nxstyle: add exception for ascii.h definitions
...
The following definitions are added as exceptions
ASCII_a -> ASCII_z
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-20 19:22:58 -07:00
Gustavo Henrique Nihei
95c8c99a3f
tools/nxstyle: Verify relative path in the file header
2021-03-06 20:17:23 -08:00
Alin Jerpelea
796ef13b20
tools: nxstyle: add L_tmpnam/P_tmpdir exceptions
...
Those exceptions are defined in
https://pubs.opengroup.org/onlinepubs/9699919799/functions/tempnam.html
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-03 18:52:53 -08:00
YAMAMOTO Takashi
954115e097
nxstyle: Add more inttypes.h stuff to the whitelist
2020-11-05 15:19:31 +01:00
Xiang Xiao
cfc58d1913
nxstyle: Add some unwind name to the white list
...
we can't change the case because it is defined by ARM
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-07-11 10:34:22 -07:00
Xiang Xiao
b2f3a4b5f9
tools/nxstyle: Support the white list
...
and add _Exit to the white list
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-06-28 21:07:57 +01:00
Xiang Xiao
dde25b0f80
tools/nxstyle: Fix AddressSanitizer error
...
=================================================================
==2474==ERROR: AddressSanitizer: stack-buffer-underflow on address 0x7fffb7e59b5f at pc 0x561fffec79f6 bp 0x7fffb7e59ac0 sp 0x7fffb7e59ab0
READ of size 1 at 0x7fffb7e59b5f thread T0
#0 0x561fffec79f5 in block_comment_width /home/xiaoxiang/mirtos/nuttx/tools/nxstyle.c:355
Address 0x7fffb7e59b5f is located in stack of thread T0 at offset 31 in frame
#0 0x561fffec7b90 in get_line_width /home/xiaoxiang/mirtos/nuttx/tools/nxstyle.c:419
This frame has 1 object(s):
[32, 544) 'line' (line 420) <== Memory access at offset 31 underflows this variable
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
(longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-buffer-underflow /home/xiaoxiang/mirtos/nuttx/tools/nxstyle.c:355 in block_comment_width
Shadow bytes around the buggy address:
0x100076fc3310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x100076fc3360: 00 00 00 00 00 00 00 00 f1 f1 f1[f1]00 00 00 00
0x100076fc3370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc3390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x100076fc33a0: 00 00 00 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3
0x100076fc33b0: f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
Shadow gap: cc
==2474==ABORTING
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ie7dee3cdfdbbd04ea9cdb58e227afef07073cecd
2020-06-16 09:56:22 -06:00
Gregory Nutt
3b62765edd
nxstyle: Fix distinction be source and header file for long lines.
...
For some unknow reason, long lines were reported as WARNING is header files, but as ERRORS in C source file. There are errors where ever they occur.
2020-05-19 20:09:57 -04:00
Nathan Hartman
3334b40aef
nxstyle: Allow Hz, KHz, GHz in identifiers
...
Per the coding standard, we allow MHz as one of the few allowed
exceptions to the identifier case rules.
However, because this exception specifically looked for "MHz" we
would generate undeserved nxstyle errors for Hz, KHz, GHz.
This change adds recognition of any Hz value by eliminating the
requirement for Hz to be preceded by M.
tools/nxstyle.c:
* main(): Eliminate requirement for Hz to be preceded by M to
match the rule for allowed mixed case identifier. Update
relevant comments.
See:
https://cwiki.apache.org/confluence/display/NUTTX/Coding+Standard#macros
Mailing list discussion archived at:
https://lists.apache.org/thread.html/r481b9d145f439c24c8d70992081bf670bc0e893167149e0017519439%40%3Cdev.nuttx.apache.org%3E
2020-05-18 18:00:10 -06:00
Gregory Nutt
58589db931
tools/nxstyle.c: Fix detection of long single line comments.
...
This resolves issue 718: nxstyle line width check was ignoring the line width check for single line comments.
This turned out to be an artifact in parsing. Usually when parsing character by character, the file character to be parsed was '/n'. Howefver, in the case of parsing single line comments, the final character was the NUL terminator. This means that the lenth check was not being performed in the case of single line comments.
NOTE: Currently, I have suppressed error reports for single line right-hand comments. My fear is that this will unmask more standard violations than we can cope with. It is easy to re-enable and perhaps we should do that in the future:
/* Check for long lines
*
* REVISIT: Long line checks suppressed on right hand comments
* for now. This just prevents a large number of difficult-to-
* fix complaints that we would have otherwise.
*/
if (m > g_maxline && !rhcomment) <-- remote the second condition
2020-04-06 19:47:57 +01:00
raiden00pl
15242a65b6
tools/nxstyle.c: handle scientific notation with a negative exponent (eg. 9e-10)
2020-04-03 10:47:32 -06:00
Gregory Nutt
65739a38fb
tools/nxstyle.c: Alloc MHz in pre-processor variable names.
...
The sub-string MHz is used frequently is pre-processor variable definitions. The section "Lowercase Exceptions" permits reasonable use of lowercase characters in pre-processor variable names and, given the frequency of the use of MHz (no pun intended), it certainly should qualify.
2020-04-02 20:29:26 +01:00
Gregory Nutt
a34e5fc043
tools/nxstyle.c: All Public Function Prototypes in C files
...
Allow "Public Function Prototypes" sections in .c files. Per the coding standard, all public function prototypes belong in .c files. However, there are some situations when the public function prototype is needed in a .c file and it shoudld, most correctly, be placed in a "Public Function Prototypes" section.
2020-04-01 22:57:51 +01:00
Gregory Nutt
7f510a61b4
tools/nxstyle.c: Add fixedmath.h defines to white-listed prefixes
...
Checking for white-listed prefixes is also simpler now because the check is table driver. New data structure: g_white_prefix[] and new function white_prefix().
2020-03-31 19:26:26 +01:00
Gregory Nutt
652e152d66
tools/nxstyle: Ignore stub names that begin with STUB_*
...
The names use for stub functions follows a non-standard convention: They begin with STUB_
2020-03-21 19:06:32 +01:00
Johannes Schock
898141300c
Don't check position of comments right of code when separated by preprocessor line without comment.
2020-03-19 09:36:57 -06:00
Johanne Schock
cdf615855a
Added assembly header detection.
2020-03-14 08:38:39 -06:00
Johanne Schock
645cf6d547
Handling of struct initializers changed.
...
Break conditionals with || at the end.
2020-03-13 07:58:52 -06:00
johannes-nivus
45196cad17
tools/nxstyle.c: Check for missing space before closing comment faulty ( #543 )
...
*Addresses Issue #540 , check for missing space before closing comment was faulty
2020-03-11 11:08:01 -06:00
liuhaitao
aa4052936c
tools/nxstyle: clean up the no and unknown file extension info
...
Clean up the no and unknown file extension info since only .h and .c
files supported. Just ignore them quietly.
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2020-03-10 08:43:23 -06:00
Johanne Schock
0b4ffa20a8
Checks for multiline comments right of #el..., changes message for a certain case of a comment following a right of code comment
2020-03-10 07:06:35 -06:00
Johanne Schock
f764947c73
Signal error for multiline comment right of #if
2020-03-09 10:00:26 -06:00
Johanne Schock
745e0a4ca9
Some more fine tuning
...
Handle #define different than other preprocessor lines
Ignore backslash at the end of a comment right of a preprocessor line
2020-03-09 10:00:26 -06:00
Johanne Schock
5e5b6c2069
Finetuning false positive
2020-03-09 10:00:26 -06:00
Johanne Schock
fbe65a2d7d
Restrict check of right of code comments to #define in case of preprocessor lines
2020-03-09 10:00:26 -06:00
Johanne Schock
46b8347217
Style
2020-03-09 10:00:26 -06:00
Johanne Schock
b324596bac
Formatting
2020-03-09 10:00:26 -06:00
Johanne Schock
574344c56e
Changes to nxstyle which address issue #120 and add checks for column position of right of code comments
2020-03-09 10:00:26 -06:00
Johanne Schock
62c2b4aac7
nxstyle fixes
...
fixed coloumn number of error messages PR #487
fixed lineno_min = lineno_min
2020-03-08 07:29:30 -06:00
Johanne Schock
77d02e98a0
Implemented comment processing for preprocessor lines
2020-03-08 06:36:54 -06:00
David Sidrane
c5b4d9b628
nxstyle:nxstyle should pass nxstyle checks!
2020-03-07 08:31:36 -06:00
David Sidrane
8b1dc2825f
Update nxstyle.c
2020-03-06 15:49:59 -06:00
YAMAMOTO Takashi
45a8edd227
nxstyle: Output line numbers when complaining on block comments length
2020-03-06 07:25:52 -06:00
YAMAMOTO Takashi
0715ab3132
Revert "tools/nxstyle: Back out part of last commit. Logic to avoid some false alarms was causing real style problems from being reported."
...
If we are going to use this tool for things like
git pre-commit hook or CI workflow, it's critical to
avoid false alarms.
This reverts commit de764af9aa
.
2020-03-06 07:25:11 -06:00
YAMAMOTO Takashi
4879f2225e
nxstyle: Don't complain on ELF things like Elf32_Hdr
2020-03-05 21:18:12 -06:00
YAMAMOTO Takashi
e5ea0ac32d
nxstyle: Don't parse a file if its type is unknown
2020-03-05 20:18:11 -06:00
Gregory Nutt
75e3af0985
tools/nxstyle: Allow mixed case system calls.
...
System calls have mixed case. They begin with SYS_ but then are followed by the system function name in lower case.
2020-02-14 17:22:18 +01:00