Re: #pragma once (was Re: incoming)

From: Linus Torvalds
Date: Fri Feb 26 2021 - 16:54:51 EST


On Fri, Feb 26, 2021 at 12:17 PM Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>
> I want to sent treewide "#pragma once" conversion:

Are there *any* advantages to it?

It's non-standard, and the historical argument for it ("it can reduce
compile times because the preprocessor doesn't open the file twice" is
pure and utter hogwash. Any preprocessor worth its salt does the same
thing for the standard and traditional #ifndef/#define guard sequence.

Honestly, "#pragma once" was always a hack for bad preprocessors that
weren't smart enough to just figure it out from the regular guarding
macros.

I can't imagine that any preprocessor that incompetent exists any
more, and if i does, we sure shouldn't be using it.

So #pragma once seems to have no actual advantages.

Linus