c++: allow removing inline comments from devicetree_generated.h
#86758
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.
Preprocessor macros that paste together a number with a suffix, like
UINT32_C
, do not currently work properly in C++ code for some types of device tree data, such as thereg
property. This is becausegen_defines.py
adds inline comments to those entries in thedevicetree_generated.h
files, and this confuses the C++ preprocessor during macro expansion, resulting in errors like the following:or, in the synthetic test case added in this PR:
This may be verified by running
twister -T tests/lib/cpp/cxx
on just the first commit of this PR, as done in this CI run. Also, an actual example in a downstream project: arduino/ArduinoCore-zephyr#80 (comment) .This PR fixes the issue by adding an option to the
gen_defines.py
, using it in the C++ test and mentioning it in the C++ documentation page for downstream users.