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

Reply via email to