On 11.12.2023 11:30, Nicola Vetrini wrote: > The string literal inside the expansion of BUILD_BUG_ON is considered > unreachable code; however, such statement can be moved earlier > with no functional change.
First: Why is this deemed dead code in its present position, but okay when moved? Second: While moving is indeed no functional change (really BUILD_BUG_ON() can be moved about anywhere, for not producing any code in the final binary), it removes the connection between it and the respective asm() (where %z would have been nice to use). Jan