On 15 January 2018 at 20:29, Jakub Jermář <[email protected]> wrote: > On 01/15/2018 08:12 PM, Jiří Zárevúcky wrote: >> On 15 January 2018 at 19:35, Jiri Svoboda <[email protected]> wrote: >>> We've had discussion on #pragma once in june last year and agreed to stay >>> with classic header guards instead. And we didn't even take into >>> consideration the discussion in: >>> >>> http://open-std.org/JTC1/SC22/WG21/docs/papers/2017/p0538r0.html >>> >>> which is another point against using #pragma once. >>> >> >> I'm familiar with that paper, and the issues don't matter in current HelenOS. >> I'd be more interested in the old discussion. Where can I find it? > > See this thread: > > http://lists.modry.cz/private/helenos-devel/2017-June/007983.html > > "Agreed" in this context means I was the only one who was in favor. But > we have the majority now? :-) >
Ah, yes, I read that one before. So to sum up the drawbacks: - It's not standard. True, but meaningless. We use plenty of nonstandard extensions. It's literally impossible to implement libc without using some. - Some archaic/toy compiler may not support it. Also true, but as JJ said, such a compiler wouldn't build HelenOS anyway. #pragma once is supported by any half-serious C compiler (see https://en.wikipedia.org/wiki/Pragma_once). - `#pragma once` is in trouble if the same header is accessed via multiple paths. Not an issue for us. Multipath headers are a bug, not a feature. -- jzr _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/listinfo/helenos-devel
