[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


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.

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

void foo()
   auto bahn = nullptr;


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.


Best regards, Marco

More information about the Qt-creator mailing list