Let's see what people who know much more about compiler features than any of us think about "#pragma once". Let's check what GCC and Clang do for their C++ library headers:

$ grep -r pragma.*once /usr/include/clang/5.0.0/include /usr/include/c++/7.2.0/
  $

...and this is about headers that target exactly one compiler and are known to be locally installed.

Hope this helps,
Mathias

Am 24.01.2018 um 13:19 schrieb Mitch Curtis:


-----Original Message-----
From: Ville Voutilainen [mailto:ville.voutilai...@gmail.com]
Sent: Wednesday, 24 January 2018 1:11 PM
To: Mitch Curtis <mitch.cur...@qt.io>
Cc: Alexander Nassian <nass...@bitshift-dynamics.com>; development@qt-
project.org
Subject: Re: [Development] #pragma once

On 24 January 2018 at 12:34, Mitch Curtis <mitch.cur...@qt.io> wrote:


-----Original Message-----
From: Ville Voutilainen [mailto:ville.voutilai...@gmail.com]
Sent: Wednesday, 24 January 2018 11:25 AM
To: Alexander Nassian <nass...@bitshift-dynamics.com>
Cc: Mitch Curtis <mitch.cur...@qt.io>; development@qt-project.org
Subject: Re: [Development] #pragma once

On 24 January 2018 at 12:22, Alexander Nassian <nassian@bitshift-
dynamics.com> wrote:
Maybe because it’s not part of the C++ standard?

#pragma once is not a replacement for include guards.

Why not?

It's not part of the C++ standard because it doesn't always work

In which ways? My quick search gave me these:

https://stackoverflow.com/a/1946730/904422
https://en.wikipedia.org/wiki/Pragma_once#Caveats

That wikipedia link seems to describe the problems fairly accurately.

Do we have that issue in Qt?

and modules are a superior solution anyway.
How so?

Because you can import the same module multiple times without concerns
about re-definitions, and that import is much faster than parsing a header
file.
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to