-
- Не, там не в volatile дело было. Там именно компилятор терял
информацию о типе и делал неверные предположения о выровненности
указателя. LightElf(141 знак., 31.07.2023 01:14)
- "...компилятор терял информацию о типе и делал неверные
предположения о выровненности указателя" - думаю, что именно из-за
того, что указатель был слишком изменчив (слишком волатилен), за
пределами контекста секции кода. Nikolay_Po(27 знак., 31.07.2023 07:47)
- volatile - это совсем не про это - SciFi(31.07.2023 07:50)
- Не удивлюсь, что про всё. Оптимизации случаются весьма и весьма изощрённые. Если, в контексте, обычный указатель меняется только с шагом двойного слова, то компилятор имеет право считать указатель выровненным. И, если программист, не объявив указатель volatile, вне контекста, прирастит эту переменную на байт - жди беды. - Nikolay_Po(31.07.2023 07:54)
- volatile - это совсем не про это - SciFi(31.07.2023 07:50)
- "...компилятор терял информацию о типе и делал неверные
предположения о выровненности указателя" - думаю, что именно из-за
того, что указатель был слишком изменчив (слишком волатилен), за
пределами контекста секции кода. Nikolay_Po(27 знак., 31.07.2023 07:47)
- Не, там не в volatile дело было. Там именно компилятор терял
информацию о типе и делал неверные предположения о выровненности
указателя. LightElf(141 знак., 31.07.2023 01:14)