Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compilation warnings. #396

Closed
wants to merge 8 commits into from

Conversation

@denisfa
Copy link
Collaborator

denisfa commented Mar 27, 2019

@rkitover Hey! I have been busy lately, but I will try to contribute some more!

This is a bunch of code changes regarding getting rid of compilation warnings. This was also an excuse for me to browse the code in the last few days and see how some stuff work. I am not sure if you are interested or not on this, but nevertheless I have a few doubts about where should I go next.

So these were the commands ran.

$ cmake .. -DENABLE_SDL=ON -DENABLE_LIRC=ON -DENABLE_LTO=ON -DENABLE_OPENAL=ON -DENABLE_SSP=ON -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON
$ make -j`nproc` &> warnings.txt

Next is the output warnings.txt. I will ask some questions.

Scanning dependencies of target fex
[  0%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zAlloc.c.o
[  1%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zBuf.c.o
[  1%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zCrc.c.o
[  2%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zCrcOpt.c.o
[  2%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zDec.c.o
[  3%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zIn.c.o
[  3%] Building C object fex/CMakeFiles/fex.dir/7z_C/7zStream.c.o
[  4%] Building C object fex/CMakeFiles/fex.dir/7z_C/Bcj2.c.o
[  4%] Building C object fex/CMakeFiles/fex.dir/7z_C/Bra86.c.o
[  5%] Building C object fex/CMakeFiles/fex.dir/7z_C/Bra.c.o
[  5%] Building C object fex/CMakeFiles/fex.dir/7z_C/CpuArch.c.o
[  6%] Building C object fex/CMakeFiles/fex.dir/7z_C/Lzma2Dec.c.o
[  6%] Building C object fex/CMakeFiles/fex.dir/7z_C/LzmaDec.c.o
[  7%] Building C object fex/CMakeFiles/fex.dir/7z_C/Ppmd7.c.o
[  7%] Building C object fex/CMakeFiles/fex.dir/7z_C/Ppmd7Dec.c.o
[  8%] Building CXX object fex/CMakeFiles/fex.dir/fex/Binary_Extractor.cpp.o
[  8%] Building CXX object fex/CMakeFiles/fex.dir/fex/blargg_common.cpp.o
[  9%] Building CXX object fex/CMakeFiles/fex.dir/fex/blargg_errors.cpp.o
[  9%] Building CXX object fex/CMakeFiles/fex.dir/fex/Data_Reader.cpp.o
[ 10%] Building CXX object fex/CMakeFiles/fex.dir/fex/fex.cpp.o
[ 10%] Building CXX object fex/CMakeFiles/fex.dir/fex/File_Extractor.cpp.o
[ 11%] Building CXX object fex/CMakeFiles/fex.dir/fex/Gzip_Extractor.cpp.o
[ 11%] Building CXX object fex/CMakeFiles/fex.dir/fex/Gzip_Reader.cpp.o
[ 12%] Building CXX object fex/CMakeFiles/fex.dir/fex/Rar_Extractor.cpp.o
[ 12%] Building CXX object fex/CMakeFiles/fex.dir/fex/Zip7_Extractor.cpp.o
[ 13%] Building CXX object fex/CMakeFiles/fex.dir/fex/Zip_Extractor.cpp.o
[ 13%] Building CXX object fex/CMakeFiles/fex.dir/fex/Zlib_Inflater.cpp.o
[ 14%] Linking CXX static library libfex.a
[ 14%] Built target fex
Scanning dependencies of target vbamcore
[ 15%] Building CXX object CMakeFiles/vbamcore.dir/src/Util.cpp.o
[ 15%] Building CXX object CMakeFiles/vbamcore.dir/src/common/ConfigManager.cpp.o
[ 16%] Building C object CMakeFiles/vbamcore.dir/src/common/dictionary.c.o
[ 16%] Building C object CMakeFiles/vbamcore.dir/src/common/iniparser.c.o
[ 17%] Building CXX object CMakeFiles/vbamcore.dir/src/common/Patch.cpp.o
[ 17%] Building C object CMakeFiles/vbamcore.dir/src/common/memgzio.c.o
[ 18%] Building CXX object CMakeFiles/vbamcore.dir/src/common/SoundSDL.cpp.o
[ 18%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/agbprint.cpp.o
[ 19%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/bios.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp: In function ‘int32_t BIOS_SndDriver_3e4(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1210:19: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
         v5 += (r0 >= (uint32_t)r2) + v5;
                ~~~^~~~~~~~~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1211:16: warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare]
         if (r0 >= (uint32_t)r2)
             ~~~^~~~~~~~~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1218:15: warning: ‘<<’ in boolean context, did you mean ‘<’ ? [-Wint-in-bool-context]
     if (!(r12 << 1))
          ~~~~~^~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp: In function ‘void BIOS_SndDriverMain()’:
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1591:23: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
             while (r7 >= 4 * r9) {
                    ~~~^~~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1598:20: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
             if (r7 >= 2 * r9) {
                 ~~~^~~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1605:20: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
             if (r7 < r9)
                 ~~~^~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1622:25: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
             } while (r7 >= r9);
                      ~~~^~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:1647:24: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
                 if (r7 >= r9)
                     ~~~^~~~~
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/bios.cpp:6:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint32_t CPUReadHalfWord(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:286:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (cpuFlashEnabled | cpuSramEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:291:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint8_t CPUReadByte(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:406:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         switch (address & 0x00008f00) {
         ^~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:417:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteByte(uint32_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:784:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((saveType != 5) && ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:791:5: note: here
     default:
     ^~~~~~~

I coded only very basic stuff from the src/gb/* and src/gba/*. The reason for this is because I don't know enough to understand if my changes are going to break the app (worst case in a silent way). You can see where the warnings are, and some of these operations I believe they are intended. This looks very assembly-ish to me, so I don't even want to create vars for the single purpose of dealing with these.

For example: v5 += (r0 >= (uint32_t)r2) + v5;. For int32_t r2; and int32_t r0. This is very likely a smarter (and more efficient) rewrite of an if for r2 values. Since I am not sure what the if is, I kept this untouched.

[ 19%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/BreakpointStructures.cpp.o
[ 20%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Cheats.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp: In function ‘int cheatsCheckKeys(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp:1089:58: warning: bitwise comparison always evaluates to true [-Wtautological-compare]
                     if (((cheatsList[i].address & 0x3FC) != 0x6) && ((cheatsList[i].address & 0x3FC) != 0x130))
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp:10:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteByte(uint32_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:784:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((saveType != 5) && ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:791:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint8_t CPUReadByte(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:406:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         switch (address & 0x00008f00) {
         ^~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:417:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint32_t CPUReadHalfWord(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:286:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (cpuFlashEnabled | cpuSramEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:291:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp: In function ‘void cheatsDelete(int, bool)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp:1350:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 if ((cheatsList[x].address >> 24) >= 0x08) {
                 ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/Cheats.cpp:1355:13: note: here
             case GSA_16_BIT_ROM_PATCH:
             ^~~~
[ 20%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/CheatSearch.cpp.o
[ 21%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/debugger-expr-lex.cpp.o
debugger-expr-lex.cpp:1263:13: warning: ‘void yyunput(int, char*)’ defined but not used [-Wunused-function]
[ 21%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/debugger-expr-yacc.cpp.o
src/sdl/debugger-expr.y: In function ‘int dexp_error(char*)’:
src/sdl/debugger-expr.y:106:22: warning: unused parameter ‘s’ [-Wunused-parameter]
[ 22%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/EEprom.cpp.o
[ 22%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/ereader.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/ereader.cpp: In function ‘void BIOS_EReader_ScanCard(int)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/ereader.cpp:459:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
         if ((reg[0].I >= 0) && (reg[0].I <= 0x10)) {
              ~~~~~~~~~^~~~
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/ereader.cpp:7:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteByte(uint32_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:784:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((saveType != 5) && ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:791:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint8_t CPUReadByte(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:406:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         switch (address & 0x00008f00) {
         ^~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:417:5: note: here
     default:
     ^~~~~~~
[ 23%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Flash.cpp.o
[ 23%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBA.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA.cpp: In function ‘void CPUSoftwareInterrupt(int)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA.cpp:2253:35: warning: this statement may fall through [-Wimplicit-fallthrough=]
         BIOS_SndDriverJmpTableCopy();
         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA.cpp:2255:5: note: here
     default:
     ^~~~~~~
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/GBA.cpp:22:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint32_t CPUReadHalfWord(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:286:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (cpuFlashEnabled | cpuSramEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:291:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
[ 24%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBAGfx.cpp.o
[ 24%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBALink.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp: In function ‘void StartRFUSocket(uint16_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:1961:52: warning: this statement may fall through [-Wimplicit-fallthrough=]
                             rfu_data.rfu_q[linkid] = 0; //to prevent leftover data from previous session received immediately in the new session
                             ~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:1962:25: note: here
                         case 0x1d: // no visible difference
                         ^~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2084:52: warning: this statement may fall through [-Wimplicit-fallthrough=]
                             rfu_data.rfu_q[linkid] = 0; //to prevent leftover data from previous session received immediately in the new session
                             ~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2085:25: note: here
                         case 0x1b: //host, might reset some data? may be used in the middle of host<->client communication w/o causing clients to dc?
                         ^~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2114:45: warning: this statement may fall through [-Wimplicit-fallthrough=]
                             rfu_initialized = false;
                             ~~~~~~~~~~~~~~~~^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2115:25: note: here
                         case 0x10: // init/reset rfu data
                         ^~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2251:29: warning: this statement may fall through [-Wimplicit-fallthrough=]
                             }
                             ^
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2254:25: note: here
                         case 0x27: // wait for data ?
                         ^~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2411:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (rfu_polarity)
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:2413:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp: At global scope:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:521:12: warning: ‘mmf’ defined but not used [-Wunused-variable]
 static int mmf = -1;
            ^~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:515:15: warning: ‘linksync’ defined but not used [-Wunused-variable]
 static sem_t* linksync[4];
               ^~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:478:15: warning: ‘j’ defined but not used [-Wunused-variable]
 static int i, j;
               ^
/home/denisfa/Git/visualboyadvance-m/src/gba/GBALink.cpp:331:18: warning: ‘linkmem’ defined but not used [-Wunused-variable]
 static LINKDATA* linkmem = NULL;
                  ^~~~~~~
[ 25%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBASockClient.cpp.o
[ 25%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBA-thumb.cpp.o
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/GBA-thumb.cpp:19:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint32_t CPUReadHalfWord(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:286:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (cpuFlashEnabled | cpuSramEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:291:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint8_t CPUReadByte(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:406:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         switch (address & 0x00008f00) {
         ^~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:417:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteByte(uint32_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:784:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((saveType != 5) && ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:791:5: note: here
     default:
     ^~~~~~~
[ 26%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/GBA-arm.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp: In function ‘void arm009(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp:1237:9: warning: unused variable ‘acc’ [-Wunused-variable]
     int acc = (opcode >> 12) & 0x0F; /* or destLo */                   \
         ^~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp:1283:52: note: in expansion of macro ‘MUL_INSN’
 static INSN_REGPARM void arm009(uint32_t opcode) { MUL_INSN(OP_MUL, SETCOND_NONE, 1); }
                                                    ^~~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp: In function ‘void arm019(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp:1237:9: warning: unused variable ‘acc’ [-Wunused-variable]
     int acc = (opcode >> 12) & 0x0F; /* or destLo */                   \
         ^~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp:1285:52: note: in expansion of macro ‘MUL_INSN’
 static INSN_REGPARM void arm019(uint32_t opcode) { MUL_INSN(OP_MUL, SETCOND_MUL, 1); }
                                                    ^~~~~~~~
In file included from /home/denisfa/Git/visualboyadvance-m/src/gba/GBA-arm.cpp:16:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteMemory(uint32_t, uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:525:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:530:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint8_t CPUReadByte(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:406:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         switch (address & 0x00008f00) {
         ^~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:417:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘void CPUWriteByte(uint32_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:784:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if ((saveType != 5) && ((!eepromInUse) | cpuSramEnabled | cpuFlashEnabled)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:791:5: note: here
     default:
     ^~~~~~~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h: In function ‘uint32_t CPUReadHalfWord(uint32_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:286:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (cpuFlashEnabled | cpuSramEnabled) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/GBAinline.h:291:5: note: here
     default:
     ^~~~~~~
[ 27%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/gbafilter.cpp.o
[ 27%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Globals.cpp.o
[ 28%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode0.cpp.o
[ 28%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode1.cpp.o
[ 29%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode2.cpp.o
[ 29%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode3.cpp.o
[ 30%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode4.cpp.o
[ 30%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Mode5.cpp.o
[ 31%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/RTC.cpp.o
[ 31%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Sound.cpp.o
[ 32%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/Sram.cpp.o
[ 32%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/GB.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gb/GB.cpp: In function ‘void gbWriteMemory(uint16_t, uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gb/GB.cpp:1499:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (inBios && (value & 1)) {
         ^~
/home/denisfa/Git/visualboyadvance-m/src/gb/GB.cpp:1509:5: note: here
     case 0x51: {
     ^~~~
/home/denisfa/Git/visualboyadvance-m/src/gb/GB.cpp:1701:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
         }
         ^
/home/denisfa/Git/visualboyadvance-m/src/gb/GB.cpp:1704:5: note: here
     case 0x75: {
     ^~~~
[ 33%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbCheats.cpp.o
[ 33%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbDis.cpp.o
[ 34%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbGfx.cpp.o
[ 34%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbGlobals.cpp.o
[ 35%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbMemory.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRAMValue’ [-Wmissing-field-initializers]
 };
 ^
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister1’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister2’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister3’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister4’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister5’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister6’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister7’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/gb/gbMemory.cpp:996:1: warning: missing initializer for member ‘mapperHuC3::mapperRegister8’ [-Wmissing-field-initializers]
[ 35%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbPrinter.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gb/gbPrinter.cpp: In function ‘uint8_t gbPrinterSend(uint8_t)’:
/home/denisfa/Git/visualboyadvance-m/src/gb/gbPrinter.cpp:182:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
         gbPrinterState++;
         ~~~~~~~~~~~~~~^~
/home/denisfa/Git/visualboyadvance-m/src/gb/gbPrinter.cpp:184:5: note: here
     case 4:
     ^~~~
[ 36%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbSGB.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gb/gbSGB.cpp: In function ‘void gbSgbReset()’:
/home/denisfa/Git/visualboyadvance-m/src/gb/gbSGB.cpp:70:39: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size]
     memset(gbSgbSCPPalette, 0, 512 * 4);
                                       ^

This is quite curious. Why zero a struct? Shouldn't we have an new gbSgbSCPPalette() instead?

[ 36%] Building CXX object CMakeFiles/vbamcore.dir/src/gb/gbSound.cpp.o
[ 37%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Blip_Buffer.cpp.o
[ 37%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Effects_Buffer.cpp.o
[ 38%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Gb_Apu.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/apu/Gb_Apu.cpp: In member function ‘void Gb_Apu::run_until_(blip_time_t)’:
/home/denisfa/Git/visualboyadvance-m/src/apu/Gb_Apu.cpp:220:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
    square1.clock_sweep();
    ~~~~~~~~~~~~~~~~~~~^~
/home/denisfa/Git/visualboyadvance-m/src/apu/Gb_Apu.cpp:221:3: note: here
   case 0:
   ^~~~
[ 38%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Gb_Apu_State.cpp.o
[ 39%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Gb_Oscs.cpp.o
[ 39%] Building CXX object CMakeFiles/vbamcore.dir/src/apu/Multi_Buffer.cpp.o
[ 40%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/2xSaI.cpp.o
[ 40%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/admame.cpp.o
[ 41%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/bilinear.cpp.o
[ 41%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/hq2x.cpp.o
[ 42%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/interframe.cpp.o
[ 42%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/pixel.cpp.o
[ 43%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/scanline.cpp.o
[ 44%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/simpleFilter.cpp.o
[ 44%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/xbrzfilter.cpp.o
[ 45%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/xBRZ/xbrz.cpp.o
[ 45%] Building CXX object CMakeFiles/vbamcore.dir/src/filters/hq/c/hq_implementation.cpp.o
[ 46%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/armdis.cpp.o
[ 46%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/elf.cpp.o
[ 47%] Building CXX object CMakeFiles/vbamcore.dir/src/gba/remote.cpp.o
/home/denisfa/Git/visualboyadvance-m/src/gba/remote.cpp: In function ‘void debuggerDoSearch()’:
/home/denisfa/Git/visualboyadvance-m/src/gba/remote.cpp:863:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
             if (final <= 0x09FFFFFF) {
             ^~
/home/denisfa/Git/visualboyadvance-m/src/gba/remote.cpp:868:9: note: here
         default: {
         ^~~~~~~

I believe these -Wimplicit-fallthrough are intended. But then again, more bit operations.

[ 47%] Linking CXX static library libvbamcore.a
[ 47%] Built target vbamcore
Scanning dependencies of target vbam
[ 48%] Building CXX object CMakeFiles/vbam.dir/src/sdl/SDL.cpp.o
[ 48%] Building CXX object CMakeFiles/vbam.dir/src/sdl/filters.cpp.o
[ 49%] Building CXX object CMakeFiles/vbam.dir/src/sdl/text.cpp.o
[ 49%] Building CXX object CMakeFiles/vbam.dir/src/sdl/inputSDL.cpp.o
[ 50%] Building CXX object CMakeFiles/vbam.dir/src/sdl/expr.cpp.o
[ 50%] Building CXX object CMakeFiles/vbam.dir/src/sdl/exprNode.cpp.o
[ 51%] Building CXX object CMakeFiles/vbam.dir/src/sdl/expr-lex.cpp.o
[ 51%] Linking CXX executable vbam
[ 51%] Built target vbam
Scanning dependencies of target translations_1
[ 51%] Generating ar.gmo
[ 52%] Generating br.gmo
[ 52%] Generating bs.gmo
[ 53%] Generating ca.gmo
[ 54%] Generating ca_ES.gmo
[ 54%] Generating cs.gmo
[ 55%] Generating da.gmo
[ 55%] Generating da_DK.gmo
[ 56%] Generating de.gmo
[ 56%] Generating de_DE.gmo
[ 57%] Generating el.gmo
[ 57%] Generating el_GR.gmo
[ 58%] Generating en.gmo
[ 58%] Generating en_GB.gmo
[ 59%] Generating en_US.gmo
[ 59%] Generating es.gmo
[ 60%] Generating es_419.gmo
[ 60%] Generating es_AR.gmo
[ 61%] Generating es_CL.gmo
[ 61%] Generating es_CO.gmo
[ 62%] Generating es_ES.gmo
[ 62%] Generating es_MX.gmo
[ 63%] Generating es_PR.gmo
[ 63%] Generating es_US.gmo
[ 64%] Generating fil.gmo
[ 64%] Generating fr.gmo
[ 65%] Generating fr_CA.gmo
[ 65%] Generating fr_FR.gmo
[ 66%] Generating gl.gmo
[ 66%] Generating haw.gmo
[ 67%] Generating he.gmo
[ 67%] Generating he_IL.gmo
[ 68%] Generating hr.gmo
[ 68%] Generating hu.gmo
[ 69%] Generating hu_HU.gmo
[ 69%] Generating id.gmo
[ 70%] Generating id_ID.gmo
[ 71%] Generating it.gmo
[ 71%] Generating it_IT.gmo
[ 72%] Generating ja.gmo
[ 72%] Generating ja_JP.gmo
[ 73%] Generating jv.gmo
[ 73%] Generating ko.gmo
[ 74%] Generating ko_KR.gmo
[ 74%] Generating ms_MY.gmo
[ 75%] Generating nb.gmo
[ 75%] Generating nl.gmo
[ 76%] Generating nl_NL.gmo
[ 76%] Generating no.gmo
[ 77%] Generating pl.gmo
[ 77%] Generating pl_PL.gmo
[ 78%] Generating pt.gmo
[ 78%] Generating pt_BR.gmo
[ 79%] Generating pt_PT.gmo
[ 79%] Generating ru.gmo
[ 80%] Generating ru_RU.gmo
[ 80%] Generating sk.gmo
[ 81%] Generating sk_SK.gmo
[ 81%] Generating sr.gmo
[ 82%] Generating su.gmo
[ 82%] Generating sv.gmo
[ 83%] Generating tk.gmo
[ 83%] Generating tr.gmo
[ 84%] Generating zh-Hans.gmo
[ 84%] Generating zh.gmo
[ 85%] Generating zh_CN.GB2312.gmo
[ 85%] Generating zh_CN.gmo
[ 86%] Generating zh_HK.gmo
[ 87%] Generating zh_TW.Big5.gmo
[ 87%] Generating zh_TW.gmo
[ 87%] Built target translations_1
Scanning dependencies of target translations
[ 87%] Built target translations
[ 87%] Generating wxvbam.xrs
[ 88%] Generating cmdtab.cpp, cmdhandlers.h, cmd-evtable.h
[ 88%] Generating builtin-xrc.h
[ 89%] Generating builtin-over.h
Scanning dependencies of target visualboyadvance-m
[ 90%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/wxvbam.cpp.o
[ 90%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/guiinit.cpp.o
[ 91%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/viewers.cpp.o
[ 91%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/gfxviewers.cpp.o
[ 92%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/cmdevents.cpp.o
[ 92%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/opts.cpp.o
[ 93%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/sys.cpp.o
[ 93%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/panel.cpp.o
[ 94%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/viewsupt.cpp.o
[ 94%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/wayland.cpp.o
[ 95%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/strutils.cpp.o
[ 95%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/widgets/keyedit.cpp.o
[ 96%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/widgets/joyedit.cpp.o
[ 96%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/widgets/sdljoy.cpp.o
[ 97%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/widgets/wxmisc.cpp.o
[ 97%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/__/sdl/text.cpp.o
[ 98%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/widgets/checkedlistctrl.cpp.o
[ 98%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/cmdtab.cpp.o
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
 };
 ^

Here we have a special file that is generated by cmake: build/src/wx/cmdtab.cpp. The idea here is to grab options from other file and keep them synced. This is also only generated for debug builds. I want to try the cmake way before actually going to the source code and doing something there.
Any special reason for this file? What it is about? Where do we use it?

/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mask_flags’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/build/src/wx/cmdtab.cpp:167:1: warning: missing initializer for member ‘cmditem::mi’ [-Wmissing-field-initializers]
[ 99%] Building CXX object src/wx/CMakeFiles/visualboyadvance-m.dir/openal.cpp.o
[100%] Linking CXX executable ../../visualboyadvance-m
[100%] Built target visualboyadvance-m

As far as my changes go, let's use the following example (it is not the only case):

void wxKeyTextCtrl::OnKeyUp(wxKeyEvent& event)
{
    (void)event; // without this, we get a warning for unused variable "event"
    ...
}

I know I could have done a __attribute__((unused)) for event. This works on both gcc and clang. I was worried for the MacOS and Windows builds. What do they use? Is it portable enough?

I would like to confirm that with you. I have a commit that uses __attribute__((unused)) instead of the approach I coded here. I can easily fix this, if, of course, you want to push and use this attribute instead.

Moreover, I left out the -DENABLE_FFMPEG=ON option. I believe this is broken atm (or at least the video recording). Is this a feature that you want to keep? I am very interested about working on this. It will be slow, but I believe I can do it. Also, there are a million warnings about version issues (stable stable version 3.4 against stable release version 4.1. We always want the debian stable one, right?

Feel free to comment anything you want.

@denisfa denisfa self-assigned this Mar 27, 2019
@denisfa denisfa requested a review from rkitover Mar 27, 2019
@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 27, 2019

Awesome! I will look a bit later today, right now trying to get this shit to build on centos/rhel which is something people have been complaining about for a year.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 30, 2019

Will look at this now, sorry for the delay.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 30, 2019

Since I am not sure what the if is, I kept this untouched.

Yeah when fixing warnings it's best to leave things alone as much as possible, if we do more refactoring we can rewrite things more.

/home/denisfa/Git/visualboyadvance-m/src/gb/gbSGB.cpp:70:39: warning: ‘memset’ used with length equal to number of elements without multiplication by element size [-Wmemset-elt-size] memset(gbSgbSCPPalette, 0, 512 * 4);
This is quite curious. Why zero a struct? Shouldn't we have an new gbSgbSCPPalette() instead?

So what that warning is saying, is that the code should be:

memset(gbSgbSCPPalette, 0, 512 * 4 * sizeof(uint16_t));

because length is in number of bytes.

However, we can just remove that line because global data is initialized to zero anyway according the the C++ standard.

I believe these -Wimplicit-fallthrough are intended. But then again, more bit operations.

Yes that looks like it was intended, if you think it's a good idea I can add -Wno-implicit-fallthrough to gcc and clang options.

Here we have a special file that is generated by cmake: build/src/wx/cmdtab.cpp. The idea here is to grab options from other file and keep them synced. This is also only generated for debug builds. I want to try the cmake way before actually going to the source code and doing something there. Any special reason for this file? What it is about? Where do we use it?

this is copy-events.cmake and it makes entries for menus and menu commands so that they can be assigned to user-defined accelerator hotkeys in opts.cpp.

I highly recommend the "silver searcher" ag command to quickly scan codebases for things you are interested in btw..

I know I could have done a attribute((unused)) for event. This works on both gcc and clang. I was worried for the MacOS and Windows builds. What do they use? Is it portable enough?

We currently only need to support 3 compilers: gcc, clang and visual studio (msvc). clang generally supports gcc features, msvc does not. I will try to set up an appveyor config to test on visual studio. I only got visual studio to more or less work very recently.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 30, 2019

Moreover, I left out the -DENABLE_FFMPEG=ON option. I believe this is broken atm (or at least the video recording). Is this a feature that you want to keep? I am very interested about working on this. It will be slow, but I believe I can do it.

Yes that would be absolutely AWESOME please feel free to work on it. Yes it's very broken right now.

fex/7z_C/7zAlloc.c Outdated Show resolved Hide resolved
src/common/SoundSDL.cpp Outdated Show resolved Hide resolved
src/filters/interframe.cpp Outdated Show resolved Hide resolved
src/wx/gfxviewers.cpp Outdated Show resolved Hide resolved
src/wx/openal.cpp Outdated Show resolved Hide resolved
@@ -16,27 +16,27 @@
/* not sure how well other compilers support field-init syntax */
#define STROPT(c, n, d, v) \
{ \
wxT(c), (n), d, &v \
wxT(c), (n), d, &v, NULL, wxT(""), 0, 0, NULL, NULL, NULL, wxT(""), 0, 0, 0 \

This comment has been minimized.

Copy link
@rkitover

rkitover Mar 30, 2019

Collaborator

Would be better to set default values in the struct instead of this.

This comment has been minimized.

Copy link
@denisfa

denisfa Mar 30, 2019

Author Collaborator

The values are set I think. The issue is when initializing with missing fields. It gives this warning:

/home/denisfa/Git/visualboyadvance-m/src/wx/opts.cpp: At global scope:
/home/denisfa/Git/visualboyadvance-m/src/wx/opts.cpp:151:1: warning: missing initializer for member ‘wxJoyKeyBinding::mod’ [-Wmissing-field-initializers]
 };
 ^
/home/denisfa/Git/visualboyadvance-m/src/wx/opts.cpp:151:1: warning: missing initializer for member ‘wxJoyKeyBinding::joy’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/wx/opts.cpp:151:1: warning: missing initializer for member ‘wxJoyKeyBinding::mod’ [-Wmissing-field-initializers]
/home/denisfa/Git/visualboyadvance-m/src/wx/opts.cpp:151:1: warning: missing initializer for member ‘wxJoyKeyBinding::joy’ [-Wmissing-field-initializers]
...

This comment has been minimized.

Copy link
@rkitover

rkitover Mar 31, 2019

Collaborator

I mean set default initializers for struct opt_desc in opts.h, see here:

https://stackoverflow.com/a/16783513/262458

e.g.

struct foo {
  bool good = true;
  char* str = "something";
}

This comment has been minimized.

Copy link
@denisfa

denisfa Apr 1, 2019

Author Collaborator

This did not work. I had a lot of compilation issues when trying to initialize values from inside the struct. The link above has an example that did not help me on this code. I have an alternative, though. I can also expand on some of the issues, in case you feel we can get this working this way.

This comment has been minimized.

Copy link
@rkitover

rkitover Apr 1, 2019

Collaborator

It probably didn't work because all values except the first ones have to have initializers in order to not specify them, but otherwise it should work fine.

src/wx/opts.cpp Outdated Show resolved Hide resolved
src/wx/opts.cpp Outdated Show resolved Hide resolved
src/gba/remote.cpp Outdated Show resolved Hide resolved
@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 30, 2019

In general, I like the use of size_t for unsigned values instead of int where we can.

I don't like pointless code just to fix a warning, as I noted, we can fix this in another way.

I left some comments on some things, other things look fine to me.

Also try on newer gcc versions.

I'd suggest squashing all your commits with rebase -i into one commit to make them easier to work with, and rebasing your branch on top of master when you continue to work on this.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 30, 2019

Actually since you did all this work marking unused parameters, we can just leave them, just change the code that looks like:

p = p;

to something like

(void)p; // unused parameter
@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Mar 30, 2019

@rkitover Thanks for checking the code! No worries about work done to merge this or not. I did this so that I could check pieces of the code. Some of these warnings are indeed really stupid. I will comment on places that I think are weird, just so we can double check about what is happening and if it is intended or not.

I'd suggest squashing all your commits with rebase -i into one commit to make them easier to work with, and rebasing your branch on top of master when you continue to work on this.

Yes, I was planning to do it. I saw somewhere comments per file, but now I am unable to do it. Maybe I saw at gitlab? Not sure, but it does not matter now.

Can you append/disable compiler options per directory? Somewhere in CMakeLists.txt? This could be useful overall.

src/gb/GB.cpp Outdated Show resolved Hide resolved
src/sdl/filters.cpp Outdated Show resolved Hide resolved
@ghost

This comment has been minimized.

Copy link

ghost commented Mar 30, 2019

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Mar 31, 2019

I left some more comments on your comments (some are marked resolved so you have to expand them) and I agree with retro-wertz that the:

(void)p; // unused param

construction is better.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 1, 2019

Can you append/disable compiler options per directory? Somewhere in CMakeLists.txt? This could be useful overall.

Yes I think this should be as simple as moving relevant code to the CMakeLists.txt in that directory, cmake starts a new scope of sorts with compiler options and things of this sort affecting only that directory and those below.

rkitover added a commit that referenced this pull request Apr 1, 2019
@denisfa found this due to a warning, this should improve the
functionality of the SDL sound driver.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 1, 2019

ive always seen variable assigned to itself as another form of warning, so
dunno why this is used here. variable = variable dont look appealing. i
often see (void)variable use for some that are not used. i once wanted to
clean up these warnings especially on the wx side without having to set
them to be ignored.

for the libretro compile error thing, you can just add the missing throttle
function in the libretro so that common/SoundDriver.h can look uniform

@retro-wertz Thanks for the feedback. I implemented using (void) param; // unused params and the function for libretro as pointed out. Please feel free to comment whatever you want about the code. There is always room for improvement!

@rkitover My idea was to rebase this, but my current master is also behind the master from here. We can still squash if we merge this. Not sure if there will be problems ahead.

I decided to use some init functions for our structs. The reason was that the suggested link solution did not work at all. I had several problems when trying it. Some of the follow up to make it working was to assume compilers used and their versions. This did not feel good to me.

Yes I think this should be as simple as moving relevant code to the CMakeLists.txt in that directory, cmake starts a new scope of sorts with compiler options and things of this sort affecting only that directory and those below.

Actually, I changed my mind about this, I think we should let them enabled everywhere. Even if there are stupid warnings, we were able to get that SDL audio fix from it. Now there are less than 512 (total) lines of output here (from the below command).

$ cmake .. -DENABLE_SDL=ON -DENABLE_LIRC=ON -DENABLE_LTO=ON -DENABLE_OPENAL=ON -DENABLE_SSP=ON -DCMAKE_BUILD_TYPE=Debug -DENABLE_ASAN=ON && make -j`nproc` &> warnings.txt

I might need to see the logs from the test builds, but I believe there will be no surprises.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 2, 2019

I'm not ignoring anything, I'm just doing the things I have time and interest for.

@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 2, 2019

Alright, everything is ready from my side. I will wait for your feedback in case we need extra work.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 2, 2019

This happens to me all the time too, what I think is a few hours work for a PR becomes two weeks, but I think this one we will finish soon don't worry.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

Also the CI keeps erroring and I'm going to need to switch all these jobs to docker.

src/wx/openal.cpp Outdated Show resolved Hide resolved
src/wx/openal.cpp Outdated Show resolved Hide resolved
src/wx/opts.cpp Show resolved Hide resolved
src/wx/opts.cpp Outdated Show resolved Hide resolved
src/wx/widgets/wx/keyedit.h Outdated Show resolved Hide resolved
@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

I left a couple comments on the initial commit and everything else looks good.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

According to the docs, we should not be using this wxT("") macro for wxWidgets >= 2.9.0. Is this worthy checking the current WX version? I believe it is not, but wanted to confirm.

I want to support 2.8 for a while longer, I will add a travis job to do 2.8 compiles.

debugger-expr-lex.cpp:722:5: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
register yy_state_type yy_current_state;

we can just #define it to something on clang

/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3564:13: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
            delete buffer;
            ^
                  []
/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3542:20: note: allocated with 'new[]' here
    char* buffer = new char[count + 5];
                   ^
/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3570:5: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
    delete buffer;
    ^
          []
/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3542:20: note: allocated with 'new[]' here
    char* buffer = new char[count + 5];
                   ^
/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3715:5: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
    delete buffer;
    ^
          []
/Users/travis/build/visualboyadvance-m/visualboyadvance-m/src/gba/remote.cpp:3703:20: note: allocated with 'new[]' here
    char* buffer = new char[(count*2)+1];
                   ^
3 warnings generated.

these are actually memory leaks. new[] allocates an array, and it has to be deleted with delete[], if it's deleted with delete then only one element is freed.

@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 3, 2019

I left a couple comments on the initial commit and everything else looks good.

Thanks for the tips. That was a leftover that had to be fixed.

these are actually memory leaks. new[] allocates an array, and it has to be deleted with delete[], if it's deleted with delete then only one element is freed.

Should we handle these here? We found them here, but they are memory leaks. It looks like just a line of code for each one to fix it. These were from the MacOS build... Is this also a leak for other ones?

@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 3, 2019

we can just #define it to something on clang

Something like this?

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

Should we handle these here? We found them here, but they are memory leaks. It looks like just a line of code for each one to fix it. These were from the MacOS build... Is this also a leak for other ones?

we should do these separately, if you want to take a look, you can just compile with clang on linux too, because mac just uses clang. And yes they are memory leaks regardless of the compiler.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

we can just #define it to something on clang

Something like this?

Sure, I like this solution in particular:

https://stackoverflow.com/a/31899029/262458

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

Ok I'm going to pull your branch and do a full diff locally and see if this can be merged.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

By the way you can make pull requests from branches in this repository as well, that also makes it easier if we want to collaborate on something.

@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 3, 2019

By the way you can make pull requests from branches in this repository as well, that also makes it easier if we want to collaborate on something.

The only reason for me to keep a fork for myself is to clean tags and other branches that I don't want to use or see. I thought this was going to be a repetitive simple job, but turns out that became what we see here hahaha

Next time I will create my own branch here.

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

Ok everything looks good, I can merge it manually now if you are ready.

@denisfa

This comment has been minimized.

Copy link
Collaborator Author

denisfa commented Apr 3, 2019

Ok everything looks good, I can merge it manually now if you are ready.

Yes, we can deal with the other stuff in a follow up work.

rkitover added a commit that referenced this pull request Apr 3, 2019
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Merge #396
rkitover added a commit that referenced this pull request Apr 3, 2019
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Merged #396
@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

Merged #396

@rkitover

This comment has been minimized.

Copy link
Collaborator

rkitover commented Apr 3, 2019

No idea how to mark it merged, but anyway it's merged.

@rkitover rkitover added fixed UI labels Apr 3, 2019
@rkitover rkitover closed this Apr 3, 2019
@denisfa denisfa deleted the denisfa:fix-compilation-warnings branch Apr 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.