On 24 May 2017 at 15:21, Ian Abbott <abbotti@xxxxxxxxx> wrote:
If "include/linux/kernel.h" includes <linux/bug.h>, a circular
dependency is introduced
Then don't. Can't we just create linux/build_bug.h and have that
contain the BUILD_BUG related macros - they're really completely
unrelated to all the asm-cruft bug.h needs to know about. build_bug.h
can then include compiler.h and not much else to figure out how it may
implement its macros. Then kernel.h can include build_bug.h, and we
don't force each and every translation unit to include bug.h and
everything that then pulls in. We just got rid of a lot of header
bloat, let's try to keep it that way.