Moving the kernel to modern C
Moving the kernel to modern C
Posted Feb 25, 2022 22:20 UTC (Fri) by NYKevin (subscriber, #129325)In reply to: Moving the kernel to modern C by iabervon
Parent article: Moving the kernel to modern C
> The entire program may have zero or one external definition of every identifier with external linkage.
>
> If an identifier with external linkage is used in any expression other than a non-VLA, (since C99) sizeof, or _Alignof (since C11), there must be one and only one external definition for that identifier somewhere in the entire program.
There's no exception for short-circuit operators. If you use it at compile time, for anything other than sizeof, then it has to exist (have storage allocated somewhere).
