[freebsd] printf в clang

spell at itl.ua spell at itl.ua
Thu Dec 30 23:15:36 EET 2021


Приветствую сообщество.

Подскажите, а это тянет на баг, или никто ничего в таком случае не обещал?

Есть код:

int64_t bv;
long cid;
bv = ( (int64_t) 1 << 33) + 3;
cid = 111;
printf("%ld %ldn", bv, cid);

clang резонно выдает варнинг о несоответствии типа первого аргумента (%ld вместо правильного %lld).
А вот вывод этой программы менее ожидаем:

3 2

Первое число ожидаемо - младшие 4 байта от bv.
А второе, вместо значения cid - старшие 4 байта от bv.

clang version 10.0.1.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uafug.org.ua/pipermail/freebsd/attachments/20211230/75dc84cd/attachment.html>


More information about the freebsd mailing list