docs/devel: make a statement about includes
While not explicitly disallowing header macro abuse (because that would make us hypocrites) lets at least address some things to think about. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <20230424092249.58552-17-alex.bennee@linaro.org>
This commit is contained in:
parent
d035fb106f
commit
6a0057aa22
@ -300,6 +300,20 @@ putting those into qemu/typedefs.h instead of including the header.
|
||||
|
||||
Cyclic inclusion is forbidden.
|
||||
|
||||
Generative Includes
|
||||
-------------------
|
||||
|
||||
QEMU makes fairly extensive use of the macro pre-processor to
|
||||
instantiate multiple similar functions. While such abuse of the macro
|
||||
processor isn't discouraged it can make debugging and code navigation
|
||||
harder. You should consider carefully if the same effect can be
|
||||
achieved by making it easy for the compiler to constant fold or using
|
||||
python scripting to generate grep friendly code.
|
||||
|
||||
If you do use template header files they should be named with the
|
||||
``.c.inc`` or ``.h.inc`` suffix to make it clear they are being
|
||||
included for expansion.
|
||||
|
||||
C types
|
||||
=======
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user