[Qt-creator] Use #pragma once as default instead of header guards

Bubke Marco Marco.Bubke at theqtcompany.com
Wed Jan 13 11:55:22 CET 2016


Hello

With the clang code model there is a problem to generate a preamble file with header guards. Imaging a preamble file is like a automatically pre compiled header for the include block at the top. But there are limitations. One is that every ifndef has to match is #endif inside of the preamble but this not the case for header guards.

#ifndef HEADER_GUARD
#define HEADER_GUARD
#include <QtGui> // this would be compiled in the preamble once

void foo()
{
   auto bahn = nullptr;
}


#endif

We don't generate a preamble for this case because the opening ifndefs is not matching the endif. In that case the clang model will be very slow!

So I propose we change our wizards to utilize #pragma once and use it for every new file. We can change header files where we need code completion on demand too.

https://en.wikipedia.org/wiki/Pragma_once

Best regards, Marco





More information about the Qt-creator mailing list