On 02.08.2020 15:57, Taylor R Campbell wrote: > But it sounds like the original motivation is that it triggered > -Wvla...which frankly strikes me as a compiler bug since there's > obviously no actual VLA created in sizeof; as far as I can tell > there's no semantic difference between sizeof(device_t[n]) and > sizeof(device_t) * n. > This is not true: #include <stdio.h> int main(int argc, char **argv) { printf("sizeof = %zu\n", sizeof(int[argc])); return 0; } $ ./a.out sizeof = 4 $ ./a.out 12 3 sizeof = 12 $ ./a.out 12 3 45 6 sizeof = 20
Attachment:
signature.asc
Description: OpenPGP digital signature