Skip to content

Conversation

@hzeller
Copy link
Contributor

@hzeller hzeller commented Sep 23, 2025

The Delay header is meant to provide the Delay implementation to whoever is including it; it chooses the right implementation via an include which this PR marks as providing a symbol that is to be exported.

Without that annotation, tools such as clang-tidy or the clangd language server (as well as many other tools) will complain about headers not directly providing a symbol if users just include Delay.hh; With this annotation, they know.

Documentation about these IWYU pragmas:
https://clangd.llvm.org/design/include-cleaner#iwyu-pragmas https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-begin_exportsend_exports

The Delay header is meant to provide the Delay implementation
to whoever is including it; it chooses the right implementation
via an include which this PR marks as providing a symbol that is
to be exported.

Without that annotation, tools such as `clang-tidy` or the `clangd` language server (as well as many other tools) will complain about headers not directly providing a symbol if users just include Delay.hh; With this annotation, they know.

Documentation about these IWYU pragmas:
https://clangd.llvm.org/design/include-cleaner#iwyu-pragmas
https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-begin_exportsend_exports

Signed-off-by: Henner Zeller <h.zeller@acm.org>
@hzeller
Copy link
Contributor Author

hzeller commented Sep 26, 2025

Looks good ?

@jjcherry56
Copy link
Collaborator

It is innocuous enough, but I think you are over selling it. "Include Cleaner is available in “preview” mode with an incomplete set of capabilities". That hardly sounds like a standard used by "many other tools".

@hzeller
Copy link
Contributor Author

hzeller commented Sep 30, 2025

The most important thing is that it is supported by clang-tidy and clangd what most IDEs use as their backend to assist users.
I myself have also used the existence of tags in lots of ad-hoc scripts (which in itself are many).

Anyway, ready to merge ?

@jjcherry56 jjcherry56 merged commit 745ee60 into parallaxsw:master Oct 4, 2025
1 check passed
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