Hi Lars,
I do not really object exclusive use of pragma once, without header
guards ( I use it myself), I just want to tell about my experience on
Debian Stretch with gcc 6.3
1. Using precompiled header, you can run into trouble, if you use
forward header , like qt does, and these do not contain pragma once too.
I got double definition errors then, because pragam once was ignored
somehow.
2. There is a , still unfixed, gcc bug since gcc 4.6.3 , where pragma
once is ignored for files which start with a Utf8 BOM, when using
precompiled headers. see
https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=56549
3. #pragma once makes gcc much slower according to Bug 58770 - GCC very
slow compiling with #pragma once
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58770
Regards,
Gunnar Roth
------ Original Message ------
From: "Lars Knoll" <[email protected]>
To: "Qt development mailing list" <[email protected]>
Sent: 07/10/2018 10:56:47
Subject: [Development] Using #pragma once
Hi,
Just a quick question: Does anybody have any good arguments against us
starting to use #pragma once instead of header guards throughout our
code base?
I’ve started using it implicitly when updating 3rd party code (the
macro assembler) in qtdeclarative without any problems (so I’d
supported by all our compilers). IMO #pragma once is both safer and
nicer to use than classic header guards.
Cheers,
Lars
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development