Help CLion IDE evaluate PYBIND11_NUMPY_DTYPE #899
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm a bit hesitant to propose this PR since it's really a problem which should be taken care of by the IDE. The issue is that CLion slows to a crawl when its static analysis hits the intricate
PYBIND11_NUMPY_DTYPE
macro -- making it unresponsive while it churns through the recursive preprocessor replacements. I've raised the issue in their bug tracker but it doesn't look like it's getting fixed anytime soon, so I'm proposing a quick workaround here.This PR adds a special
#ifdef
for the IDE to replace the macro cascade with a simple(void)0
to ease evaluation. This doesn't affect any actual code compilation, just the IDE's static analysis (butPYBIND11_NUMPY_DTYPE
doesn't have any static side effects anyway).Adding workarounds to the code is always ugly so I don't want to push this if it's deemed too much of a nuisance, but the macro performance hiccups have gotten bad enough that I had to at least propose it.