libretro / beetle-bsnes-libretro

Standalone port of Mednafen bSNES to libretro, itself a fork of bsnes 0.59.
GNU General Public License v2.0
7 stars 14 forks source link

Silence a -Waggressive-loop-optimizations warning #16

Closed orbea closed 7 years ago

orbea commented 7 years ago

Silences a -Waggressive-loop-optimizations warning.

libretro.cpp: In function ‘void update_input()’:
libretro.cpp:264:39: warning: iteration 12u invokes undefined behavior [-Waggressive-loop-optimizations]
          input_state |= input_state_cb(j, RETRO_DEVICE_JOYPAD, 0, map[i]) ? (1 << i) : 0;
                                       ^
libretro.cpp:263:21: note: containing loop
       for (i = 0; i < MAX_BUTTONS; i++)
                     ^

As I understand, beetle-bsnes-libretro should have 12 MAX_BUTTONS, not 14.

   static unsigned map[] = {
      RETRO_DEVICE_ID_JOYPAD_B,
      RETRO_DEVICE_ID_JOYPAD_Y,
      RETRO_DEVICE_ID_JOYPAD_SELECT,                                          
      RETRO_DEVICE_ID_JOYPAD_START,
      RETRO_DEVICE_ID_JOYPAD_UP,   
      RETRO_DEVICE_ID_JOYPAD_DOWN,
      RETRO_DEVICE_ID_JOYPAD_LEFT,
      RETRO_DEVICE_ID_JOYPAD_RIGHT,
      RETRO_DEVICE_ID_JOYPAD_A,
      RETRO_DEVICE_ID_JOYPAD_X,
      RETRO_DEVICE_ID_JOYPAD_L,
      RETRO_DEVICE_ID_JOYPAD_R,
   };