ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
1021107 Топик полностью
fk0, легенда (26.07.2020 15:27, просмотров: 507) ответил LightElf на Опять за рыбу деньги. Расширение в виде #pragma pack в GCC есть? Есть. memcpy в GCC есть? Есть. Где-нибудь в доке GCC написано, что к элементам пакованной структуры применять memcpy нельзя? Нигде. Бага GCC очевидна. Чего спорить-то? Хоть бы warning выдавал, как тот же IAR делает (Used the address of unaligned structure member).
Именно в gcc бага нет, как и в clang последних версий. Они применяют атрибут меняющий alignof на 1 автоматически. И там получаются инструкции ldrb при обращении и медленная версия memcpy. Но ты _доказать_ что это баг в keil или ранних версиях clang -- не сможешь. Баг в чём? Я выше привёл доказательство, что это UB, a следовательно не баг. 
[ZX]