pi@phoenix-pi-x64:~/test/atari++ $ make make -f makefile atari++ \ ADDFLAGS="-O3 -DDEBUG_LEVEL=0 -DCHECK_LEVEL=0 -funroll-loops -fstrict-aliasing -Wno-redundant-decls -fexpensive-optimizations -fstrength-reduce -fgcse -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop -frerun-loop-opt -fforce-addr" ADDLIBS="" make[1]: Entering directory '/home/pi/test/atari++' Compiling new.cpp Compiling list.cpp Compiling adrspace.cpp Compiling debugadrspace.cpp Compiling monitor.cpp monitor.cpp: In member function ‘int Monitor::Command::ReadDataLine(UBYTE*, const char*, char, bool)’: monitor.cpp:1274:10: warning: this statement may fall through [-Wimplicit-fallthrough=] base = 10; ~~~~~^~~~ monitor.cpp:1276:3: note: here case 'X': ^~~~ monitor.cpp: In member function ‘virtual void Monitor::Stat::Apply(char)’: monitor.cpp:2346:15: warning: this statement may fall through [-Wimplicit-fallthrough=] MissingArg(); ~~~~~~~~~~^~ monitor.cpp:2347:3: note: here default: ^~~~~~~ monitor.cpp: In member function ‘virtual void Monitor::Edit::Apply(char)’: monitor.cpp:2389:19: warning: ‘sprintf’ writing a terminating nul past the end of the destination [-Wformat-overflow=] sprintf(adbuffer,"$%04x : ",here); ^~~~~~~~~~ monitor.cpp:2389:9: note: ‘sprintf’ output 9 bytes into a destination of size 8 sprintf(adbuffer,"$%04x : ",here); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ monitor.cpp: In member function ‘virtual void Monitor::Dlst::Apply(char)’: monitor.cpp:2818:18: warning: ‘%s’ directive writing up to 39 bytes into a region of size between 33 and 71 [-Wformat-overflow=] sprintf(line,"%s %s @$%04x %s",prehex,cmdname,adr->ReadWord(where+1),options); ^~~~~~~~~~~~~~~~~ ~~~~~~~ monitor.cpp:2818:12: note: ‘sprintf’ output between 10 and 87 bytes into a destination of size 80 sprintf(line,"%s %s @$%04x %s",prehex,cmdname,adr->ReadWord(where+1),options); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling instruction.cpp Compiling serialdevice.cpp Compiling diskdrive.cpp diskdrive.cpp: In member function ‘virtual UBYTE DiskDrive::ReadBuffer(const UBYTE*, UBYTE*, int&, UWORD&, UWORD&)’: diskdrive.cpp:980:11: warning: this statement may fall through [-Wimplicit-fallthrough=] speed = SpeedControl + 7; ~~~~~~^~~~~~~~~~~~~~~~~~ diskdrive.cpp:981:3: note: here case 0x52: // Read (read command) ^~~~ diskdrive.cpp:994:11: warning: this statement may fall through [-Wimplicit-fallthrough=] speed = SpeedControl + 7; ~~~~~~^~~~~~~~~~~~~~~~~~ diskdrive.cpp:995:3: note: here case 0x53: // Status (read command) ^~~~ diskdrive.cpp:998:11: warning: this statement may fall through [-Wimplicit-fallthrough=] speed = SpeedControl + 7; ~~~~~~^~~~~~~~~~~~~~~~~~ diskdrive.cpp:999:3: note: here case 0x21 : // single density format ^~~~ diskdrive.cpp:1009:11: warning: this statement may fall through [-Wimplicit-fallthrough=] speed = SpeedControl + 7; ~~~~~~^~~~~~~~~~~~~~~~~~ diskdrive.cpp:1010:3: note: here case 0x22: ^~~~ Compiling imagestream.cpp Compiling filestream.cpp Compiling zstream.cpp Compiling casstream.cpp Compiling tapeimage.cpp Compiling casfile.cpp Compiling wavfile.cpp Compiling wavdecoder.cpp Compiling diskimage.cpp Compiling xfdimage.cpp Compiling atrimage.cpp Compiling atximage.cpp Compiling binaryimage.cpp binaryimage.cpp: In member function ‘virtual void BinaryImage::RunPatch(AdrSpace*, CPU*, UBYTE)’: binaryimage.cpp:517:5: warning: this statement may fall through [-Wimplicit-fallthrough=] if (BootStage != Loader) ^~ binaryimage.cpp:520:3: note: here case Loader: // bytes are ready in the buffer, run the binary loader. ^~~~ binaryimage.cpp:534:5: warning: this statement may fall through [-Wimplicit-fallthrough=] if (BootStage != JumpRun) ^~ binaryimage.cpp:536:3: note: here case JumpRun: ^~~~ binaryimage.cpp:540:24: warning: this statement may fall through [-Wimplicit-fallthrough=] JumpInitReturnStage(adr,cpu); ~~~~~~~~~~~~~~~~~~~^~~~~~~~~ binaryimage.cpp:542:3: note: here case WaitVBI: ^~~~ Compiling dcmimage.cpp Compiling streamimage.cpp Compiling analogjoystick.cpp Compiling digitaljoystick.cpp Compiling sdlanalog.cpp Compiling sdldigital.cpp Compiling display.cpp Compiling osrom.cpp Compiling osdist.cpp Compiling ram.cpp Compiling sio.cpp Compiling atarisioport.cpp Compiling atarisio.cpp Compiling antic.cpp Compiling exceptions.cpp Compiling siopatch.cpp Compiling audiobuffer.cpp Compiling sound.cpp Compiling osssound.cpp Compiling osshqsound.cpp Compiling wavsound.cpp Compiling sdlsound.cpp Compiling alsasound.cpp Compiling dxsoundfront.cpp Compiling directxsound.cpp Compiling argparser.cpp Compiling gamecontrollernode.cpp Compiling gamecontroller.cpp Compiling page.cpp Compiling yconnector.cpp Compiling atari.cpp Compiling gameport.cpp Compiling patch.cpp Compiling timer.cpp Compiling basicrom.cpp Compiling basicmathpatch.cpp Compiling basdist.cpp Compiling gtia.cpp gtia.cpp: In member function ‘UBYTE GTIA::PixelColor(int, int, int)’: gtia.cpp:733:12: warning: this statement may fall through [-Wimplicit-fallthrough=] pfcol = ColorLookup[Playfield_2]; ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ gtia.cpp:735:3: note: here case Playfield_2: ^~~~ gtia.cpp: In member function ‘UBYTE GTIA::TrigRead(int)’: gtia.cpp:2045:5: warning: this statement may fall through [-Wimplicit-fallthrough=] switch(n) { ^~~~~~ gtia.cpp:2060:3: note: here default: ^~~~~~~ Compiling pdevice.cpp Compiling rdevice.cpp Compiling types.cpp Compiling cartctrl.cpp cartctrl.cpp: In member function ‘virtual void CartCtrl::State(SnapShot*)’: cartctrl.cpp:120:24: warning: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 6 [-Wformat-truncation=] snprintf(buffer,15,"CartCtrl.%d",i); ^~~~~~~~~~~~~ cartctrl.cpp:120:24: note: directive argument in the range [0, 2147483647] cartctrl.cpp:120:13: note: ‘snprintf’ output between 11 and 20 bytes into a destination of size 15 snprintf(buffer,15,"CartCtrl.%d",i); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ cartctrl.cpp: In member function ‘virtual void CartCtrl::_ZThn88_N8CartCtrl5StateEP8SnapShot(SnapShot*)’: cartctrl.cpp:120:24: warning: ‘%d’ directive output may be truncated writing between 1 and 10 bytes into a region of size 6 [-Wformat-truncation=] snprintf(buffer,15,"CartCtrl.%d",i); ^~~~~~~~~~~~~ cartctrl.cpp:120:24: note: directive argument in the range [0, 2147483647] cartctrl.cpp:120:13: note: ‘snprintf’ output between 11 and 20 bytes into a destination of size 15 snprintf(buffer,15,"CartCtrl.%d",i); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling hdevice.cpp hdevice.cpp: In function ‘UBYTE HDevice::Delete(HDevice::HandlerChannel*, char*)’: hdevice.cpp:1189:25: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ^~~~~~~ hdevice.cpp:1189:13: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdevice.cpp: In function ‘UBYTE HDevice::Protect(HDevice::HandlerChannel*, char*)’: hdevice.cpp:1280:25: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ^~~~~~~ hdevice.cpp:1280:13: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdevice.cpp: In function ‘UBYTE HDevice::Unprotect(HDevice::HandlerChannel*, char*)’: hdevice.cpp:1310:25: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ^~~~~~~ hdevice.cpp:1310:13: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(target,255,"%s/%s",ch->basedir,de_name(ch->fib)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdevice.cpp: In member function ‘UBYTE HDevice::HandlerChannel::ToDirEntry()’: hdevice.cpp:608:25: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(fullname,255,"%s/%s",basedir,name); ^~~~~~~ hdevice.cpp:608:11: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(fullname,255,"%s/%s",basedir,name); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdevice.cpp: In member function ‘UBYTE HDevice::Rename(HDevice::HandlerChannel*, char*)’: hdevice.cpp:1165:29: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(sourcepath,255,"%s/%s",ch->basedir,de_name(ch->fib)); ^~~~~~~ hdevice.cpp:1165:13: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(sourcepath,255,"%s/%s",ch->basedir,de_name(ch->fib)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hdevice.cpp: In member function ‘virtual UBYTE HDevice::Special(UBYTE, UBYTE, AdrSpace*, UBYTE, ADR, UWORD, UBYTE*)’: hdevice.cpp:1165:29: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 254 [-Wformat-truncation=] snprintf(sourcepath,255,"%s/%s",ch->basedir,de_name(ch->fib)); ^~~~~~~ hdevice.cpp:1165:13: note: ‘snprintf’ output 2 or more bytes (assuming 257) into a destination of size 255 snprintf(sourcepath,255,"%s/%s",ch->basedir,de_name(ch->fib)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Compiling edevice.cpp Compiling pia.cpp Compiling vbiaction.cpp Compiling hbiaction.cpp Compiling cycleaction.cpp Compiling cartrom.cpp cartrom.cpp: In member function ‘LONG CartROM::BuildSelectionVector(bool, LONG, LONG)’: cartrom.cpp:335:23: warning: this statement may fall through [-Wimplicit-fallthrough=] AddSelectionVector(cnt,withheader,size,type,CartRight8K::CartSizes,vec,Cartridge::Cart_8K, "Right8K"); ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cartrom.cpp:337:3: note: here default: ^~~~~~~ Compiling cartridge.cpp Compiling cart8k.cpp Compiling cart16k.cpp Compiling cart32k.cpp Compiling cartoss.cpp Compiling cartossb.cpp Compiling cartoss8k.cpp Compiling cartsdx.cpp Compiling cartxegs.cpp Compiling cartrt8.cpp Compiling cartbbob.cpp Compiling cartflash.cpp Compiling cartmega.cpp Compiling cartatrax.cpp Compiling cartwill.cpp Compiling cartdb32.cpp Compiling cartright8k.cpp Compiling cart32kee16.cpp Compiling cartphoenix.cpp Compiling cartatmax.cpp Compiling amdchip.cpp Compiling flashpage.cpp Compiling keyboard.cpp keyboard.cpp: In member function ‘void Keyboard::HandleSpecial(bool, Keyboard::SpecialKey, bool, bool)’: keyboard.cpp:554:19: warning: this statement may fall through [-Wimplicit-fallthrough=] BreakIRQPending = true; // this happens synchroniously. ~~~~~~~~~~~~~~~~~^~~~~~ keyboard.cpp:556:7: note: here case Start: ^~~~ Compiling pokey.cpp Compiling colorentry.cpp Compiling postprocessor.cpp Compiling palcolorblurer.cpp Compiling flickerfixer.cpp Compiling palflickerfixer.cpp Compiling x11_mappedbuffer.cpp Compiling x11_truecolorbuffer.cpp Compiling x11_xvideobuffer.cpp Compiling x11_displaybuffer.cpp Compiling chip.cpp Compiling machine.cpp Compiling printer.cpp Compiling interfacebox.cpp Compiling tape.cpp Compiling x11_frontend.cpp Compiling dpms.cpp Compiling configurable.cpp Compiling main.cpp Compiling rampage.cpp Compiling xfront.cpp Compiling cpu.cpp Compiling memcontroller.cpp Compiling rompage.cpp Compiling deviceadapter.cpp Compiling device.cpp Compiling mmu.cpp Compiling ramextension.cpp Compiling xeextension.cpp Compiling axlonextension.cpp Compiling romxlchecksum.cpp Compiling mathsupport.cpp Compiling mathpackpatch.cpp Compiling patchprovider.cpp Compiling sighandler.cpp Compiling irqsource.cpp Compiling keyboardstick.cpp Compiling sdlport.cpp Compiling sdlclient.cpp Compiling sdl_frontend.cpp sdl_frontend.cpp: In member function ‘void SDL_FrontEnd::RefreshPaletteLine(UBYTE*, UBYTE*, LONG, LONG, LONG)’: sdl_frontend.cpp:556:17: warning: this statement may fall through [-Wimplicit-fallthrough=] hwd += 4; ~~~~~~~~~~~~~~~^~~~ sdl_frontend.cpp:557:7: note: here case 4: ^~~~ sdl_frontend.cpp:575:9: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~^~~~~~ sdl_frontend.cpp:576:7: note: here case 5: ^~~~ sdl_frontend.cpp:578:9: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~^~~~~~ sdl_frontend.cpp:579:7: note: here case 3: ^~~~ sdl_frontend.cpp: In member function ‘void SDL_FrontEnd::RefreshTruecolorLine(SDL_FrontEnd::PackedRGB*, SDL_FrontEnd::PackedRGB*, LONG, LONG, LONG)’: sdl_frontend.cpp:625:18: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:626:7: note: here case 7: ^~~~ sdl_frontend.cpp:627:18: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:628:7: note: here case 6: ^~~~ sdl_frontend.cpp:629:19: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:630:7: note: here case 5: ^~~~ sdl_frontend.cpp:631:19: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:632:7: note: here case 4: ^~~~ sdl_frontend.cpp:633:19: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:634:7: note: here case 3: ^~~~ sdl_frontend.cpp:635:19: warning: this statement may fall through [-Wimplicit-fallthrough=] *hwd++ = *sws; ~~~~~~~~~~~~~~~~^~~~~~ sdl_frontend.cpp:636:7: note: here case 2: ^~~~ Compiling screendump.cpp Compiling cmdlineparser.cpp Compiling curses_frontend.cpp curses_frontend.cpp: In member function ‘void Curses_FrontEnd::AnalyzeDisplay()’: curses_frontend.cpp:167:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 6; // plus eight with the +2 below. ~~~~~~^~~~ curses_frontend.cpp:168:7: note: here case 3: ^~~~ curses_frontend.cpp:169:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 2; ~~~~~~^~~~ curses_frontend.cpp:170:7: note: here case 2: ^~~~ curses_frontend.cpp:223:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 8; ~~~~~~^~~~ curses_frontend.cpp:224:7: note: here case 6: ^~~~ curses_frontend.cpp:275:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 4; ~~~~~~^~~~ curses_frontend.cpp:276:7: note: here case 9: ^~~~ curses_frontend.cpp:285:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 2; ~~~~~~^~~~ curses_frontend.cpp:286:7: note: here case 11: ^~~~ curses_frontend.cpp:287:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 1; ~~~~~~^~~~ curses_frontend.cpp:288:7: note: here case 12: ^~~~ curses_frontend.cpp:297:8: warning: this statement may fall through [-Wimplicit-fallthrough=] lines += 1; ~~~~~~^~~~ curses_frontend.cpp:298:7: note: here case 14: ^~~~ Compiling no_frontend.cpp Compiling optioncollector.cpp Compiling menuoption.cpp Compiling menutopic.cpp Compiling menu.cpp menu.cpp: In member function ‘void Menu::EnterMenu()’: menu.cpp:453:27: warning: this statement may fall through [-Wimplicit-fallthrough=] Machine->LaunchMonitor() = true; ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ menu.cpp:455:7: note: here case ErrorRequester::ERQ_Menu: ^~~~ Compiling renderport.cpp Compiling bufferport.cpp Compiling requester.cpp Compiling warningrequester.cpp Compiling errorrequester.cpp Compiling choicerequester.cpp Compiling filerequester.cpp Compiling saveable.cpp Compiling snapshot.cpp Compiling snapshotwriter.cpp Compiling snapshotreader.cpp Compiling event.cpp Compiling gadget.cpp Compiling gadgetgroup.cpp Compiling verticalgroup.cpp Compiling buttongadget.cpp buttongadget.cpp: In member function ‘virtual bool ButtonGadget::HitTest(Event&)’: buttongadget.cpp:58:12: warning: this statement may fall through [-Wimplicit-fallthrough=] } else if (ev.Button == false && Active) { ^~ buttongadget.cpp:69:3: note: here default: ^~~~~~~ Compiling booleangadget.cpp Compiling slidergadget.cpp slidergadget.cpp: In member function ‘virtual bool SliderGadget::HitTest(Event&)’: slidergadget.cpp:216:5: warning: this statement may fall through [-Wimplicit-fallthrough=] } ^ slidergadget.cpp:217:3: note: here default: ^~~~~~~ Compiling stringgadget.cpp Compiling filebuttongadget.cpp filebuttongadget.cpp: In member function ‘virtual bool FileButtonGadget::HitTest(Event&)’: filebuttongadget.cpp:47:12: warning: this statement may fall through [-Wimplicit-fallthrough=] } else if (ev.Button == false && Active) { ^~ filebuttongadget.cpp:58:3: note: here default: ^~~~~~~ Compiling filegadget.cpp filegadget.cpp: In member function ‘virtual bool FileGadget::HitTest(Event&)’: filegadget.cpp:49:7: warning: this statement may fall through [-Wimplicit-fallthrough=] if (ev.Object == Text) { ^~ filegadget.cpp:64:5: note: here default: ^~~~~~~ Compiling filelist.cpp Compiling requesterentry.cpp Compiling textgadget.cpp Compiling separatorgadget.cpp Compiling radiogadget.cpp Compiling rangegadget.cpp Compiling topicgadget.cpp topicgadget.cpp: In member function ‘virtual bool TopicGadget::HitTest(Event&)’: topicgadget.cpp:113:15: warning: this statement may fall through [-Wimplicit-fallthrough=] ActiveGadget = NULL; ^ topicgadget.cpp:115:7: note: here default: ^~~~~~~ Compiling listbrowsergadget.cpp Compiling titlemenu.cpp titlemenu.cpp: In member function ‘int TitleMenu::FeedEvent(Event&)’: titlemenu.cpp:288:4: warning: this statement may fall through [-Wimplicit-fallthrough=] } ^ titlemenu.cpp:291:7: note: here case Event::MenuAbort: ^~~~ Compiling menuitem.cpp Compiling menuseparatoritem.cpp Compiling menuactionitem.cpp Compiling menuboolitem.cpp Compiling menuselectionitem.cpp Compiling menufileitem.cpp Compiling menusuperitem.cpp Compiling menurootitem.cpp Compiling menuvertitem.cpp Compiling charmap.cpp Compiling licence.cpp Compiling serialstream.cpp Compiling xepbuffer.cpp Compiling directory.cpp Compiling stdlib.cpp Compiling string.cpp Compiling unistd.cpp Compiling stdio.cpp Compiling time.cpp Compiling termios.cpp Compiling curses.cpp make[1]: Leaving directory '/home/pi/test/atari++'