[Mesa-dev] Mesa include guard style. (Was: [PATCH] i965/cfg: Remove redundant #pragma once.)
Iago Toral
itoral at igalia.com
Thu Mar 10 07:40:48 UTC 2016
On Wed, 2016-03-09 at 19:04 -0800, Francisco Jerez wrote:
> Matt Turner <mattst88 at gmail.com> writes:
>
> > On Wed, Mar 9, 2016 at 1:37 PM, Francisco Jerez <currojerez at riseup.net> wrote:
> >> Iago Toral <itoral at igalia.com> writes:
> >>
> >>> On Tue, 2016-03-08 at 17:42 -0800, Francisco Jerez wrote:
> >>>> brw_cfg.h already has include guards, remove the "#pragma once" which
> >>>> is redundant and non-standard.
> >>>
> >>> FWIW, I think using both #pragma once and include guards is a way to
> >>> keep portability while still getting the performance advantage of
> >>> #pragma once where it is supported.
> >>>
> >> It's highly unlikely to make any significant difference on any
> >> reasonably modern compiler. I cannot measure any change in compilation
> >> time locally from my cleanup.
> >>
> >>> Also it seems that we do the same thing in many other files...
> >>>
> >> Really? I'm not aware of any other file where we use both.
> >
> > There are quite a few in glsl/
>
> Heh, apparently you're right. Anyway it seems rather pointless to use
> '#pragma once' in a bunch of scattered header files with the expectation
> to gain some speed, the improvement from a single header file is so
> minuscule (if it will make any difference at all on a modern compiler
> and compilation workload, which I doubt) that we would have to use it
> universally in order to have the chance to measure any improvement.
>
> Can we please just decide for one of the include guard styles and use it
> consistently? Given that the majority of header files in the Mesa
> codebase use old-school define guards, that it's the only standard
> option, that it has well-defined semantics in presence of file copies
> and hardlinks, and that the performance argument against it is rather
> dubious (although I definitely find '#pragma once' prettier and more
> concise), I'd vote for using preprocessor define guards universally.
>
> What do other people think?
I think we have to use define guards necessarily since #pragma once is
not standard even it it has wide support. So the question is whether we
want to use only define guards or define guards plus #pragma once. I am
fine with doing only define guards as you propose.
Iago
More information about the mesa-dev
mailing list