[devel] странная проблема с gcc?

Vladislav Zavjalov slazav на altlinux.org
Пн Май 20 23:37:50 MSK 2024


Всем привет!

Локализовал какую-то странную проблему в C коде,
не понимаю, это проблема с моим пониманием С или с компилятором.

Код ниже: число печатается кусочками по два байта.
Это перестает работать при компиляции с -O2 или -O3.

Воспроизводится с
gcc version 13.2.1 20240128 (ALT Sisyphus 13.2.1-alt3)

---

#include <stdint.h>
#include <stdio.h>

int
main(){
  uint32_t v1 = 0x12345678;
  uint32_t v2 = 0;

  for (int i=0; i<2; ++i)
    printf("%x\n", ((uint16_t*)&v1)[i]);

  return 0;
}



Подробная информация о списке рассылки Devel