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

[PLAT-6395] Increase warning strictness #1074

Merged
merged 16 commits into from
Apr 20, 2021
Merged

[PLAT-6395] Increase warning strictness #1074

merged 16 commits into from
Apr 20, 2021

Conversation

nickdowell
Copy link
Contributor

Goal

Increase the level of compiler diagnostics in the main Xcode project in order to detect warnings and potential bugs.

Changeset

Extra warning flags are configured in Bugsnag.xcconfig and apply at the project level. GCC_TREAT_WARNINGS_AS_ERRORS is disabled for unit test targets because they contain code that intentionally breaks the rules.

The warnings that required the most changes:

  • -Wimplicit-atomic-properties required being explicit about atomicity of properties. Since most Bugsnag objects are not accessed from multiple threads simultaneously, properties that were previously implicitly atomic are now explicitly nonatomic.
  • -Wnullable-to-nonnull-conversion required a large number of changes related to deserializing objects from JSON in particular. Previously there were cases where properties that were declared as nonnull could in fact be null and could have caused crashes when accessed from Swift. The nullability of properties has been kept the same to avoid breaking any client source code that depends on values being non-optional.
  • Warnings related to signed/unsigned comparisons and implicit conversions between types required minor changes.

Testing

Tested via unit tests and full E2E test runs.

@github-actions
Copy link

github-actions bot commented Apr 20, 2021

Infer: No issues found 🎉

OCLint: No issues found 🎉

Bugsnag.framework binary size increased by 4,376 bytes from 1,119,520 to 1,123,896

Generated by 🚫 Danger

@nickdowell nickdowell force-pushed the nickdowell/warnings branch from 958522c to 42ad97b Compare April 20, 2021 07:59
@nickdowell nickdowell merged commit cecef10 into next Apr 20, 2021
@nickdowell nickdowell deleted the nickdowell/warnings branch April 20, 2021 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants