On 20.03.2018 13:05, Michael S. Tsirkin wrote: > On Tue, Mar 20, 2018 at 09:58:23AM +0100, Laurent Vivier wrote: >> Le 20/03/2018 à 02:54, Michael S. Tsirkin a écrit : >>> QEMU coding style at the moment asks for all non-system >>> include files to be used with #include "foo.h". >>> However this rule actually does not make sense and >>> creates issues for when the included file is generated. >> >> If you change that, we can have issue when a system include has the same >> name as our local include. With "<FILE>", system header are taken first. > > Are you sure? I just tested and that is not the case with > either gcc or clang. > >>> In C, include "file" means look in current directory, >>> then on include search path. Current directory here >>> means the source file directory. >>> By comparison include <file> means look on include search path. >> >> Not exactly, there is the notion of "system header" too. >> >> https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html >> >> #include <file> >> This variant is used for system header files. It searches for a file >> named file in a standard list of system directories. You can prepend >> directories to this list with the -I option (see Invocation). > > This is exactly what we do. > >> #include "file" >> This variant is used for header files of your own program. It searches >> for a file named file first in the directory containing the current >> file, then in the quote directories and then the same directories used >> for <file>. You can prepend directories to the list of quote directories >> with the -iquote option. > > Since we do not use -iquote, "" just adds the current directory.
So why don't we simply switch to use -iquote instead of -I for adding search paths for our own headers? We then would get a clean separation of QEMU headers from system headers. Thomas _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel