Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Treat compiler warnings as errors. #1174

Merged
merged 2 commits into from
Jun 7, 2020
Merged

Treat compiler warnings as errors. #1174

merged 2 commits into from
Jun 7, 2020

Conversation

crankyoldgit
Copy link
Owner

@crankyoldgit crankyoldgit commented Jun 6, 2020

  • Add -Werror to various places to catch compiler warnings in various environments.
    • test/Makefile (Unit test env)
    • various example/*/platformio.ini
      o IRrecvDumpV2 - full range of protocol decoding covered.
      o SmartIRRepeater - full range of protocol sending covered.
      o CommonAcControl - Common A/C api coveraged.
  • Add compile tests for when all the protocols are disabled.
    • IRrecvDumpV2: should provide 100% of decode coverage cases
    • SmartIRRepeater: should provide 100% of send coverage cases
  • Above measures will be checked/tested on every Travis/CI build.
  • Fix a few -Wunused-variables warnings.
    • Note: #pragma GCC diagnostic ignored "-Wunused-variable" approach did not work. Known compiler issue it seems
  • Protect SmartIRRepeater from SEND_RAW being false

For #1172

* Add `-Werror` to various places to catch compiler warnings in various environments.
  - test/Makefile (Unit test env)
  - various example/*/platformio.ini
    o IRrecvDumpV2 - full range of protocol decoding covered.
    o SmartIRRepeater - full range of protocol sending covered.
    o CommonAcControl - Common A/C api coveraged.
* Add compile tests for when all the protocols are disabled.
  - IRrecvDumpV2: should provide 100% of decode coverage cases
  - SmartIRRepeater: should provide 100% of send coverage cases
* Fix a few "-Wunused-variables" warnings.
  - Note: `#pragma GCC diagnostic ignored "-Wunused-variable"` approach did not work. Known compiler issue it seems
* Protect SmartIRRepeater from `SEND_RAW` being `false`

For #1172
@NiKiZe
Copy link
Collaborator

NiKiZe commented Jun 6, 2020

Note that gcc add new warnings, and make things impossible to keep clean, without adding checks to the makefile. We might regret this when Travis get a new gcc version.

@crankyoldgit
Copy link
Owner Author

Note that gcc add new warnings, and make things impossible to keep clean, without adding checks to the makefile. We might regret this when Travis get a new gcc version.

Good point & something to keep in mind, but we can disable/cross that bridge we get to it.

examples/CommonAcControl/platformio.ini Outdated Show resolved Hide resolved
examples/IRrecvDumpV2/platformio.ini Outdated Show resolved Hide resolved
* Use consistent env: names.
@crankyoldgit
Copy link
Owner Author

@NiKiZe Thanks for the great feedback (as usual)

@crankyoldgit crankyoldgit merged commit c824257 into master Jun 7, 2020
@crankyoldgit crankyoldgit deleted the fix_warnings branch June 7, 2020 12:20
crankyoldgit added a commit that referenced this pull request Jun 22, 2020
_v2.7.8 (20200622)_

**[BREAKING CHANGES]**
- Fix Manchester code handling; Increase Airwell to `34` bits. (#1200)

**[Bug Fixes]**
- Carrier40: Use correct gap value. (#1193)

**[Features]**
- CarrierAc64: Add detailed support. (#1133)
- Add experimental support for Hitachi A/C 344 bit protocol (#1139)
- Automatic & full library code/API documentation via Doxygen (#1150 #1154 #1155 #1156 #1158 #1165 #1167 #1169 #1180 #1184 #1189 #1191 #1194 #1195 #1197 #1198)
- Hitachi344: Add detailed support and change bit ordering. (#1147)
- Add Corona AC Protocol (#1152)
- Hitachi344: Add Swing(H) and improve Swing(V) (#1148)
- Update auto_analyse_raw_data.py with better code comment sections (#1164)
- Add support for Midea24 protocol. (#1171)
- Add basic Zepeal protocol support (#1178)

**[Misc]**
- scrape_supported_devices.py: avoid changes to SupportedProtocols.md (#1140)
- auto_analyze nice exit on empty rawdata input (#1141)
- Comments update + cleanup (#1143)
- Update D_STR_IRRECVDUMP_STARTUP text and comments. (#1144)
- Minor code cleanups (#1149)
- Update `README.md`'s to point to new API docs. (#1151)
- Update "Supports" sections (#1160)
- Add a `doxygen` check to CI/Travis. (#1161)
- scrape_supported_devices: warn about misplaced or legacy supports sections (#1159)
- Add Supports sections to some files (#1163 #1166)
- Fix compile error when `DEBUG` is enabled.
- Add no-output option and return code on error to scrape_supported_devices
- Travis: Add scrape_supported_devices error check
- Update auto_analyse_raw_data.py to have a default Supports: section
- Treat compiler warnings as errors. (#1174)
- Remove `calcLGChecksum()` and use new generic `sumNibbles()` (#1175)
- Suppress more potential compiler warnings. (#1179)
- Load balance travis tasks to reduce wall clock time. (#1183)
- Set PlatformIO's default baudrate to 115200 (#1188)
- Some fixes to Doshisha protocol handler
- Minor cleanups of Corona and Zepeal
- Enable Doxygen warning when the parameters for a function/method/procedure are wrong/missing. (#1196)
crankyoldgit added a commit that referenced this pull request Jun 22, 2020
_v2.7.8 (20200622)_

**[BREAKING CHANGES]**
- Fix Manchester code handling; Increase Airwell to `34` bits. (#1200)

**[Bug Fixes]**
- Carrier40: Use correct gap value. (#1193)

**[Features]**
- CarrierAc64: Add detailed support. (#1133)
- Add experimental support for Hitachi A/C 344 bit protocol (#1139)
- Automatic & full library code/API documentation via Doxygen (#1150 #1154 #1155 #1156 #1158 #1165 #1167 #1169 #1180 #1184 #1189 #1191 #1194 #1195 #1197 #1198)
- Hitachi344: Add detailed support and change bit ordering. (#1147)
- Add Corona AC Protocol (#1152)
- Hitachi344: Add Swing(H) and improve Swing(V) (#1148)
- Update auto_analyse_raw_data.py with better code comment sections (#1164)
- Add support for Midea24 protocol. (#1171)
- Add basic Zepeal protocol support (#1178)

**[Misc]**
- scrape_supported_devices.py: avoid changes to SupportedProtocols.md (#1140)
- auto_analyze nice exit on empty rawdata input (#1141)
- Comments update + cleanup (#1143)
- Update D_STR_IRRECVDUMP_STARTUP text and comments. (#1144)
- Minor code cleanups (#1149)
- Update `README.md`'s to point to new API docs. (#1151)
- Update "Supports" sections (#1160)
- Add a `doxygen` check to CI/Travis. (#1161)
- scrape_supported_devices: warn about misplaced or legacy supports sections (#1159)
- Add Supports sections to some files (#1163 #1166)
- Fix compile error when `DEBUG` is enabled.
- Add no-output option and return code on error to scrape_supported_devices
- Travis: Add scrape_supported_devices error check
- Update auto_analyse_raw_data.py to have a default Supports: section
- Treat compiler warnings as errors. (#1174)
- Remove `calcLGChecksum()` and use new generic `sumNibbles()` (#1175)
- Suppress more potential compiler warnings. (#1179)
- Load balance travis tasks to reduce wall clock time. (#1183)
- Set PlatformIO's default baudrate to 115200 (#1188)
- Some fixes to Doshisha protocol handler
- Minor cleanups of Corona and Zepeal
- Enable Doxygen warning when the parameters for a function/method/procedure are wrong/missing. (#1196)
@crankyoldgit crankyoldgit mentioned this pull request Jun 22, 2020
crankyoldgit added a commit that referenced this pull request Jun 23, 2020
## _v2.7.8 (20200622)_

**[BREAKING CHANGES]**
- Fix Manchester code handling; Increase Airwell to `34` bits. (#1200)

**[Bug Fixes]**
- Carrier40: Use correct gap value. (#1193)

**[Features]**
- CarrierAc64: Add detailed support. (#1133)
- Add experimental support for Hitachi A/C 344 bit protocol (#1139)
- Automatic & full library code/API documentation via Doxygen (#1150 #1154 #1155 #1156 #1158 #1165 #1167 #1169 #1180 #1184 #1189 #1191 #1194 #1195 #1197 #1198)
- Hitachi344: Add detailed support and change bit ordering. (#1147)
- Add Corona AC Protocol (#1152)
- Hitachi344: Add Swing(H) and improve Swing(V) (#1148)
- Update auto_analyse_raw_data.py with better code comment sections (#1164)
- Add support for Midea24 protocol. (#1171)
- Add basic Zepeal protocol support (#1178)

**[Misc]**
- scrape_supported_devices.py: avoid changes to SupportedProtocols.md (#1140)
- auto_analyze nice exit on empty rawdata input (#1141)
- Comments update + cleanup (#1143)
- Update D_STR_IRRECVDUMP_STARTUP text and comments. (#1144)
- Minor code cleanups (#1149)
- Update `README.md`'s to point to new API docs. (#1151)
- Update "Supports" sections (#1160)
- Add a `doxygen` check to CI/Travis. (#1161)
- scrape_supported_devices: warn about misplaced or legacy supports sections (#1159)
- Add Supports sections to some files (#1163 #1166)
- Fix compile error when `DEBUG` is enabled.
- Add no-output option and return code on error to scrape_supported_devices
- Travis: Add scrape_supported_devices error check
- Update auto_analyse_raw_data.py to have a default Supports: section
- Treat compiler warnings as errors. (#1174)
- Remove `calcLGChecksum()` and use new generic `sumNibbles()` (#1175)
- Suppress more potential compiler warnings. (#1179)
- Load balance travis tasks to reduce wall clock time. (#1183)
- Set PlatformIO's default baudrate to 115200 (#1188)
- Some fixes to Doshisha protocol handler
- Minor cleanups of Corona and Zepeal
- Enable Doxygen warning when the parameters for a function/method/procedure are wrong/missing. (#1196)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants