Skip to content

Silence Apple Accelerate header warnings via system_header pragma#106

Merged
dance858 merged 1 commit into
mainfrom
fix/accelerate-nullability-warnings
Jul 12, 2026
Merged

Silence Apple Accelerate header warnings via system_header pragma#106
dance858 merged 1 commit into
mainfrom
fix/accelerate-nullability-warnings

Conversation

@dance858

Copy link
Copy Markdown
Collaborator

remove warnings that are caused by library we use

Apple's Accelerate/LAPACK/Sparse headers (pulled in through
ACCELERATE_NEW_LAPACK) trip a large, SDK-version-dependent set of
-Wpedantic/GNU-extension warnings: _Nullable/_Nonnull nullability
qualifiers, zero-arg variadic macros, extra semicolons, and more. On the
Xcode SDK this floods the build with tens of thousands of warnings from
headers we cannot fix.

Mark the Accelerate include as a system header with
`#pragma clang system_header` so all of its warnings are suppressed
regardless of which flag or SDK version produces them, while our own code
keeps full -Wpedantic strictness. cblas_wrapper.h contains nothing but
the include, so the marker is effectively scoped to Accelerate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@Transurgeon Transurgeon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice! let me know if I should merge this.
I don't really know what #pragma does or what the word even means haha.

@dance858
dance858 merged commit 631aece into main Jul 12, 2026
11 checks passed
@dance858

Copy link
Copy Markdown
Collaborator Author

merged :) This was just to disable some warnings outside our src code (inside lapack/blas) that showed when I compiled the code

Transurgeon pushed a commit that referenced this pull request Jul 13, 2026
Apple's Accelerate/LAPACK/Sparse headers (pulled in through
ACCELERATE_NEW_LAPACK) trip a large, SDK-version-dependent set of
-Wpedantic/GNU-extension warnings: _Nullable/_Nonnull nullability
qualifiers, zero-arg variadic macros, extra semicolons, and more. On the
Xcode SDK this floods the build with tens of thousands of warnings from
headers we cannot fix.

Mark the Accelerate include as a system header with
`#pragma clang system_header` so all of its warnings are suppressed
regardless of which flag or SDK version produces them, while our own code
keeps full -Wpedantic strictness. cblas_wrapper.h contains nothing but
the include, so the marker is effectively scoped to Accelerate.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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