Skip to content

make exported headers self contained

Paul Seyfert requested to merge lhcb/Gaudi:pseyfert_IWYU into master

Running IWYU over lhcb/LHCb, I ran into problems that in a few cases it mattered in which order header files were included. For the MR here, Ichecked if exported headers can be compiled on their own.

for `find InstallArea -name \*.h` ; do $CXX $CXXFLAGS -o /dev/null -c $v ; done

(except GaudiKernel/implements.h GaudiKernel/extends.h GaudiKernel/extend_interfaces.h GaudiKernel/RefTable.h)

It seems to me IWYU assumes the order of includes doesn't matter, so this is a prerequisite for using IWYU.

As a side effect one can in any file add #include <Gaudi.......> and the file will still compile, w/o the need to include another header along. (only talking about the single #include line. once using declared symbols from the header, it can still be necessary to add more includes, if the Gaudi header contains forward declarations).

Merge request reports