Although asan/ubsan aren't supported for embedded targets,
there do appear to be more extensive compile-time checks which are useful.
Just be nice at the end and don't try to link anything.
Remove Windows esp32 dist directory after installing tools
Saves 750+MB from cache (per image; 2 images).
Build with additional warnings in STRICT, and fix most of them
Switch statements may fall through: use [[falthrough]] for C++.
There isn't yet a standard for C, though /* fallthrough */ comments seem to work for some compilers (not all).
Unused parameters. Happens for some code when debug isn't enabled - apply [[maybe_unused]] in C++.
For others remove parameter name (C++ only), unless it's useful/descriptive.
For C there is no standard, so just using (void) cast statement.
Leave those which might mask other issues, such as code which isn't yet implemented.
esp-idf has lots of unused parameter warnings; quench those.
Base class X should be explicitly initialized in the copy constructor
Fix 'type qualifiers ignored on function return type'
Fix use of signed/unsigned types
Remove unused code from Wire library
I2Cdev has similar crud but needs far more work. Leave it.
Fix Graphics library bugs
Unused parameter warnings highlighted bugs in Region and SolidBrush classes.
Make Region constructor explicit.
muldivMaxValue parameter 1 never used, not required
Update scanlog.py
There are lots of duplicate warnings in logs, so update this tool to de-duplicate and categorise them by source line.
Support scanning logs obtained via github CLI
Integrate GH fetch
Add Job information
Scan warnings, deduplicate and support filtering
Add README
Move sanitizers to main build, add BUILD_VARS
Although asan/ubsan aren't supported for embedded targets, there do appear to be more extensive compile-time checks which are useful. Just be nice at the end and don't try to link anything.
Remove Windows esp32
dist
directory after installing toolsSaves 750+MB from cache (per image; 2 images).
Build with additional warnings in STRICT, and fix most of them
Switch statements may fall through: use [[falthrough]] for C++. There isn't yet a standard for C, though
/* fallthrough */
comments seem to work for some compilers (not all).Unused parameters. Happens for some code when debug isn't enabled - apply [[maybe_unused]] in C++. For others remove parameter name (C++ only), unless it's useful/descriptive. For C there is no standard, so just using
(void)
cast statement. Leave those which might mask other issues, such as code which isn't yet implemented. esp-idf has lots of unused parameter warnings; quench those.Base class X should be explicitly initialized in the copy constructor
Fix 'type qualifiers ignored on function return type'
Fix use of signed/unsigned types
Remove unused code from
Wire
libraryI2Cdev
has similar crud but needs far more work. Leave it.Fix Graphics library bugs
Unused parameter warnings highlighted bugs in
Region
andSolidBrush
classes. Make Region constructor explicit.muldivMaxValue parameter 1 never used, not required
Update scanlog.py
There are lots of duplicate warnings in logs, so update this tool to de-duplicate and categorise them by source line.
Support scanning logs obtained via github CLI Integrate GH fetch Add Job information Scan warnings, deduplicate and support filtering Add README