procxx | Unsorted

Telegram-канал procxx - pro.cxx

7838

C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. No Ads, offtop, flood 2. Полные правила тут https://t.me/ProCxx/259155 Объявления о вакансиях,эвентах - в лс @AlexFails или @MasterZiV канал вакансий https://t.me/ProCxxJobs

Subscribe to a channel

pro.cxx

Какие санитайзеры можно использовать одновременно, чтобы за меньшее количество шагов проверить код? Вот так правильно будет:

1. address,leak
2. thread,undefined

?

Читать полностью…

pro.cxx

да, без call_cast интереснее
заведите тикет, туда можно будет призвать пару мейнтейнеров x86 бэка. я смотрю, один из них был последний, кто вносил изменения в x86-64 psABI

Читать полностью…

pro.cxx

cast же может быть вызван из другого ТУ, тут нельзя делать выводы по вызову с -1

Читать полностью…

pro.cxx

В исходном примере результат вызова cast будет разным: в одном случае есть sign-extend, в другом - нет

Читать полностью…

pro.cxx

caller не знает что будет дальше и вынужден делать это всегда. calle знает что он будет делать и может занулить, а может и не занулять. И думается, более чем в половине случаев это зануление никому не нужно: набор инструкций CPU позволяет работать с половинками (равными int), иначе int был бы 64-битный.

Читать полностью…

pro.cxx

ну вот в аби нет требования о таком занулении

Читать полностью…

pro.cxx

ICC видимо исправили, как я выше написал, но вообще забавно такое читать конечно)

Читать полностью…

pro.cxx

может быть мусора или не может быть зависит от аби, там могло бы быть явно написано про обнуление/расширение при передаче каких-то мелких типов, типа char, но там такого нет)

Читать полностью…

pro.cxx

WinDbg. Проблема может быть ещё в том, что на виндовых компах обычно устанавливается вагон всякой малвари которая любит загружать свои DLL в чужих процессах и пускать там свои треды. Я однажды чуть не рехнулся так отлаживать, а потом список загруженных DLLок посмотрел и сразу всё понял.

Читать полностью…

pro.cxx

вопрос вроде не про это был, а про sys V cc, которое не гарантирует, что в верхней части регистра не будет мусора какого-то

Читать полностью…

pro.cxx

Стопроцентов, вначале до ширины слова расширять должно, потом к беззнаковому приводить. Иначе б в миллионе мест не работало, где ядерщики играются с масками, только случайно их кладут в int, а потом применяют в unsigned long. И оно работает только потому, что int делает знаковое расширение до long, а потом приводится к unsigned long и выполняется AND/OR/etc.

Читать полностью…

pro.cxx

Блин, я в обеих - вечно путаю)))

Читать полностью…

pro.cxx

мне кажется наоборот, вам рано сюда

Читать полностью…

pro.cxx

В книжках по С++ )
Вектор вот так (только непонятно нафига):

auto ptr =new std::vector<...>;


Функцию в куче разместить нельзя (насколько я знаю) и не нужно.

Ну и да, Вам в супапро.

Читать полностью…

pro.cxx

даже нет, не в папку проекта, а по пути папка проекта/td/vcpkg

Читать полностью…

pro.cxx

@GammaGamespredstavitel, Ваш вопрос перемещён в чат @supapro. Там Вам с радостью помогут решить проблему :)

Читать полностью…

pro.cxx

Мой исходный вопрос - именно к "справедливо решил": кто ему позволил так решать?
SysV ABI явно не позволяет. Собственная кодогенерация - шаткий аргумент...
call_cast из примера можно убрать

Читать полностью…

pro.cxx

все правы, в том числе оптимизатор кланга

в вашем примере он справедливо решил, что раз ваша константа -1 будет zero/sign extend во время генерации машинного кода, то можно обойтись простым mov: https://gcc.godbolt.org/z/EY3hh3r18

а если его победить, то кланг делает то же самое, что и остальные: https://gcc.godbolt.org/z/dqanee9vG

(у этого ответа была длинная версия, которую я писал в процессе. там я выяснил, что sext/zext становится mov после x86 instruction selection)

Читать полностью…

pro.cxx

Вот расширять до int всегда есть смысл.

Читать полностью…

pro.cxx

в целом не вижу особой разницы, кому-то всё равно придётся сделать это, либо callee, либо caller

Читать полностью…

pro.cxx

Это было бы слишком дорого, занулять всё подряд лишний раз, как мне кажется. Код который собирается интерпретировать int как long (а он же знает, что ему дали int) пусть и зануляет.

Читать полностью…

pro.cxx

Actual behaviour which is not (yet) documented in the standard:


Narrow function arguments, even _Bool/bool, are sign or zero-extended to 32 bits. clang even makes code that depends on this behaviour (since 2007, apparently). ICC17 doesn't do it, so ICC and clang are not ABI-compatible, even for C. Don't call clang-compiled functions from ICC-compiled code for the x86-64 SysV ABI, if any of the first 6 integer args are narrower than 32-bit.

Читать полностью…

pro.cxx

Так clang делает mov из 32разрядного edi, icx и gcc — из 8разрядного dil.

Читать полностью…

pro.cxx

Но ведь там не требования int32 до int64 расширять. Значит может быть мусор.

Читать полностью…

pro.cxx

Это видимо потому, что результат толком никак не используется и функция не внешняя. И он знает что будет, потому и .

Читать полностью…

pro.cxx

Слушайте, а как будут вызываться ресиверы экзекуторов в случае когда операция завершается сразу по вызову start?

Читать полностью…

pro.cxx

функция и так в оперативной памяти находится, только в другой "секции"

Читать полностью…

pro.cxx

Тогда в эту Вам вообще не надо было заходить )))

Читать полностью…

pro.cxx

Слишком слаб я для той группы еще)))

Читать полностью…

pro.cxx

я пользовался предложенным build.html , который, по идее, должен рассказать как установить эту либу. но если посмотреть на предоставленный код, то , опять же, там просто идет установка vcpkg в папку проекта

Читать полностью…
Subscribe to a channel