Warnings: Difference between revisions

From vice-emu
Jump to navigation Jump to search
(Add section "Other diagnostics tools" and "IWYU" section under that)
(28 intermediate revisions by 2 users not shown)
Line 3: Line 3:
== GCC ==
== GCC ==


* strobe MSYS2 x64 GTK3 build, trunk Revision 36371, upstream bugs only
* Strobe, MSYS2 x64 Gtk3, r38482
 
<pre>
<pre>
Making all in gtk3
magicvoice.c: In function 'magicvoice_mmu_translate':
Making all in data
magicvoice.c:1269:27: warning: array subscript -49152 is outside array bounds of 'uint8_t[16384]' {aka 'unsigned char[16384]'} [-Warray-bounds]
Making all in novte
  1269 |                    *base = (uint8_t *)(mv_rom - (uint8_t *)0xc000);
In file included from C:/msys64/mingw64/lib/glib-2.0/include/glibconfig.h:9,
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                from C:/msys64/mingw64/include/glib-2.0/glib/gtypes.h:32,
magicvoice.c:132:16: note: while referencing 'mv_rom'
                from C:/msys64/mingw64/include/glib-2.0/glib/galloca.h:32,
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
                from C:/msys64/mingw64/include/glib-2.0/glib.h:30,
      |                ^~~~~~
                from vtegtk.cc:42:
magicvoice.c:1289:27: warning: array subscript -40960 is outside array bounds of 'uint8_t[16384]' {aka 'unsigned char[16384]'} [-Warray-bounds]
vtegtk.cc: In function 'void vte_terminal_set_color_background(NoVteTerminal*, const GdkRGBA*)':
  1289 |                    *base = (uint8_t *)(mv_rom - (uint8_t *)0xa000);
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:446:4: warning: nonnull argument 'background' compared to NULL [-Wnonnull-compare]
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    if (expr)                                    \
magicvoice.c:132:16: note: while referencing 'mv_rom'
    ^~
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:452:43: note: in expansion of macro '_G_BOOLEAN_EXPR'
      |                ^~~~~~
  #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
                                          ^~~~~~~~~~~~~~~
C:/msys64/mingw64/include/glib-2.0/glib/gmessages.h:586:9: note: in expansion of macro 'G_LIKELY'
    if (G_LIKELY (expr)) \
        ^~~~~~~~
vtegtk.cc:2333:5: note: in expansion of macro 'g_return_if_fail'
    g_return_if_fail(background != NULL);
    ^~~~~~~~~~~~~~~~
vtegtk.cc: In function 'void vte_terminal_set_color_foreground(NoVteTerminal*, const GdkRGBA*)':
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:446:4: warning: nonnull argument 'foreground' compared to NULL [-Wnonnull-compare]
    if (expr)                                    \
    ^~
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:452:43: note: in expansion of macro '_G_BOOLEAN_EXPR'
  #define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
                                          ^~~~~~~~~~~~~~~
C:/msys64/mingw64/include/glib-2.0/glib/gmessages.h:586:9: note: in expansion of macro 'G_LIKELY'
    if (G_LIKELY (expr)) \
        ^~~~~~~~
vtegtk.cc:2421:5: note: in expansion of macro 'g_return_if_fail'
    g_return_if_fail(foreground != nullptr);
    ^~~~~~~~~~~~~~~~
vtegtk.cc: In function 'void vte_terminal_get_geometry_hints(NoVteTerminal*, GdkGeometry*, int, int)':
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:446:4: warning: nonnull argument 'hints' compared to NULL [-Wnonnull-compare]
    if (expr)                                    \
    ^~
C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:452:43: note: in expansion of macro '_G_BOOLEAN_EXPR'
#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR(expr), 1))
                                          ^~~~~~~~~~~~~~~
C:/msys64/mingw64/include/glib-2.0/glib/gmessages.h:586:9: note: in expansion of macro 'G_LIKELY'
    if (G_LIKELY (expr)) \
        ^~~~~~~~
vtegtk.cc:2902:5: note: in expansion of macro 'g_return_if_fail'
    g_return_if_fail(hints != NULL);
    ^~~~~~~~~~~~~~~~
Making all in widgets
Making all in base
</pre>
 
== clang ==
 
* gpz (x86, Linux/Gentoo, 64bit, clang 5.0.1, GTK3) (3.2 tarball)


CC=clang CXX=clang LD=clang ./configure --enable-native-tools --enable-arch=native --prefix=/usr/games/ --enable-parsid --with-midas --with-resid --with-xaw3d --with-arts --with-x --enable-native-gtk3ui --enable-ethernet --with-pulse --with-sdlsound --enable-fullscreen --enable-cpuhistory --enable-static-ffmpeg
....


note: here compiling using clang breaks in either ffmpeg or resid
vsidmem.c: In function 'mem_initialize_memory':
vsidmem.c:532:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  532 |        mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:533:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  533 |        mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:534:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  534 |        mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:535:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  535 |        mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:536:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  536 |        mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:537:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  537 |        mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:538:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  538 |        mem_read_base_tab[25][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:539:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  539 |        mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
vsidmem.c:540:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  540 |        mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~


<pre>
....
Making all in gfxoutputdrv
ffmpegdrv.c:126:36: warning: missing field 'next_pts' initializer [-Wmissing-field-initializers]
static OutputStream audio_st = { 0 };
                                  ^
ffmpegdrv.c:139:36: warning: missing field 'next_pts' initializer [-Wmissing-field-initializers]
static OutputStream video_st = { 0 };
                                  ^
ffmpegdrv.c:512:24: warning: missing field 'pts' initializer [-Wmissing-field-initializers]
    AVPacket pkt = { 0 };
                      ^
ffmpegdrv.c:981:28: warning: missing field 'pts' initializer [-Wmissing-field-initializers]
        AVPacket pkt = { 0 };
                          ^


Making all in base
c64mem.c: In function 'mem_initialize_memory':
keysetdialog.c:98:44: warning: suggest braces around initialization of subobject [-Wmissing-braces]
c64mem.c:769:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
static GtkWidget *keyset_buttons[3][3] = { NULL };
  769 |        mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                                          ^~~~
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                          }                                                                                                                                                   
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
/usr/lib64/llvm/5/bin/../../../../lib/clang/5.0.1/include/stddef.h:105:16: note: expanded from macro 'NULL'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
#  define NULL ((void*)0)
      |        ^~~~~~~~~~~~~~~
              ^~~~~~~~~~
c64mem.c:770:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
1 warning generated.
  770 |        mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
videopalettewidget.c:90:9: warning: unused variable 'index' [-Wunused-variable]
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    int index = gtk_combo_box_get_active(combo);
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
         ^
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
1 warning generated.
      |        ^~~~~~~~~~~~~~~
ui.c:427:24: warning: unused variable 'tmp' [-Wunused-variable]
c64mem.c:771:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
                gchar *tmp = g_filename_from_uri(files[i], NULL, NULL);
   771 |        mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                      ^
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
uinetplay_new.c:88:9: warning: unused variable 'state' [-Wunused-variable]
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
    int state = gtk_switch_get_active(widget);
      |        ^~~~~~~~~~~~~~~
         ^
c64mem.c:772:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  772 |        mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64mem.c:773:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  773 |        mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64mem.c:774:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  774 |        mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64mem.c:775:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  775 |        mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64mem.c:776:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  776 |        mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~


Making all in ffmpeg
....
In file included from info.c:34:
./infocontrib.h:293:8: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>\n"
      ^~~~
./infocontrib.h:343:12: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Paul Dub<E9> \n"
          ^~~~
./infocontrib.h:444:8: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Istv<E1>n F<E1>bi<E1>n\n"
      ^~~~  ~~~~  ~~~~
./infocontrib.h:532:11: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Frank K<F6>nig <frank_koenig@t-online.de>\n"
          ^~~~
./infocontrib.h:571:11: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Marko M<E4>kel<E4> <msmakela@gmail.com>\n"
          ^~~~  ~~~~
./infocontrib.h:622:10: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Lasse <D6><F6>rni <loorni@mail.student.oulu.fi>\n"
        ^~~~~~~~
./infocontrib.h:655:14: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Pablo Rold<E1>n <pdroldan@yahoo.com>\n"
            ^~~~
./infocontrib.h:799:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Peternel, Per H<E5>kan Sundell and David Horrocks for writing\n"
                  ^~~~
./infocontrib.h:841:25: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "1996-2001", "Andr<E9> Fachat", "Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>" },
                        ^~~~
./infocontrib.h:841:41: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "1996-2001", "Andr<E9> Fachat", "Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>" },
                                          ^~~~
./infocontrib.h:862:29: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "2004-2017", "Paul Dub<E9>", "French", "Paul Dub<E9> " },
                            ^~~~
./infocontrib.h:862:52: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "2004-2017", "Paul Dub<E9>", "French", "Paul Dub<E9> " },
                                                      ^~~~
12 warnings generated.


===== This was fixed in r35671 =====
c64memsc.c: In function 'mem_initialize_memory':
zfile.c:490:17: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
c64memsc.c:718:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
                !strcasecmp(tmp + l - len, search) != 0) {
  718 |        mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                ^                                 ~~
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zfile.c:490:17: note: add parentheses after the '!' to evaluate the comparison first
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
                !strcasecmp(tmp + l - len, search) != 0) {
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
                ^
      |        ^~~~~~~~~~~~~~~
                (                                     )                                                                                                                                            
c64memsc.c:719:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
zfile.c:490:17: note: add parentheses around left hand side expression to silence this warning
  719 |        mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                !strcasecmp(tmp + l - len, search) != 0) {
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                ^
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
                (                                 )                                                                                                                                                
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
1 warning generated.
      |        ^~~~~~~~~~~~~~~
===== End =====
c64memsc.c:720:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  720 |        mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64memsc.c:721:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  721 |        mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64memsc.c:722:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  722 |        mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64memsc.c:723:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  723 |        mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64memsc.c:724:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  724 |        mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
c64memsc.c:725:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  725 |        mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
</pre>
</pre>
NOTE remaining warnings are expected as Compyx describes below
<pre>
c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
  537 | #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
      |  ^~~~~~~


c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
  123 | #warning "CPUMEMHISTORY implementation for x128 is incomplete"
      |  ^~~~~~~


* compyx (x86_64, Linux/Ubuntu 18.10, 64bit, clang 7.0.0, GTK3) (current trunk: r35671)
petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
  69 | #warning "CPUMEMHISTORY implementation for xpet is incomplete"
      |  ^~~~~~~


  $ ../vice/configure --enable-native-gtk3ui --enable-debug-gtk3ui --with-alsa --with-pulse --with-png --with-jpeg --with-gif --enable-ethernet --enable-realdevice --enable-debug
plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
  40 | #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
      |  ^~~~~~~


<pre>
cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
Making all in novte
   68 | #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.cc:24:
      | ^~~~~~~
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.h:29:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
16 warnings generated.
../../../../../vice/src/arch/gtk3/novte/table.cc:290:29: warning: array subscript is of type 'char' [-Wchar-subscripts]
                table->table['%'] = subtable;
                            ^~~~
../../../../../vice/src/arch/gtk3/novte/table.cc:292:29: warning: array subscript is of type 'char' [-Wchar-subscripts]
            if (table->table['%'] == NULL) {
                            ^~~~
../../../../../vice/src/arch/gtk3/novte/table.cc:294:29: warning: array subscript is of type 'char' [-Wchar-subscripts]
                table->table['%'] = subtable;
                            ^~~~
../../../../../vice/src/arch/gtk3/novte/table.cc:296:40: warning: array subscript is of type 'char' [-Wchar-subscripts]
                subtable = table->table['%'];
                                      ^~~~
4 warnings generated.
In file included from ../../../../../vice/src/arch/gtk3/novte/vte.cc:36:
In file included from ../../../../../vice/src/arch/gtk3/novte/vteinternal.hh:26:
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.h:29:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vte.cc:1245:24: warning: comparison of array 'this->m_screen->row_data' not equal to a null pointer is always true [-Wtautological-pointer-compare]
    g_assert(m_screen->row_data != nullptr);
            ~~~~~~~~~~^~~~~~~~    ~~~~~~~
/usr/include/glib-2.0/glib/gtestutils.h:125:59: note: expanded from macro 'g_assert'
                                            if G_LIKELY (expr) ; else \
                                                          ^~~~
/usr/include/glib-2.0/glib/gmacros.h:424:60: note: expanded from macro 'G_LIKELY'
#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR((expr)), 1))
                                                          ^~~~
/usr/include/glib-2.0/glib/gmacros.h:418:8: note: expanded from macro '_G_BOOLEAN_EXPR'
  if (expr)                                    \
      ^~~~
17 warnings generated.
In file included from ../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:38:
In file included from ../../../../../vice/src/arch/gtk3/novte/vteinternal.hh:26:
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.h:29:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
16 warnings generated.
In file included from ../../../../../vice/src/arch/gtk3/novte/vtegtk.cc:53:
In file included from ../../../../../vice/src/arch/gtk3/novte/vteinternal.hh:26:
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.h:29:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vtegtk.cc:2421:22: warning: comparison of nonnull parameter 'foreground' not equal to a null pointer is 'true' on first encounter [-Wtautological-pointer-compare]
    g_return_if_fail(foreground != nullptr);
                    ^~~~~~~~~~    ~~~~~~~
/usr/include/glib-2.0/glib/gmessages.h:585:18: note: expanded from macro 'g_return_if_fail'
    if G_LIKELY(expr) { } else                                        \
                ^~~~
/usr/include/glib-2.0/glib/gmacros.h:424:60: note: expanded from macro 'G_LIKELY'
#define G_LIKELY(expr) (__builtin_expect (_G_BOOLEAN_EXPR((expr)), 1))
                                                          ^~~~
/usr/include/glib-2.0/glib/gmacros.h:418:8: note: expanded from macro '_G_BOOLEAN_EXPR'
   if (expr)                                    \
      ^~~~
../../../../../vice/src/arch/gtk3/novte/vteterminal.h:221:88: note: declared 'nonnull' here
                                      const GdkRGBA *foreground) _VTE_GNUC_NONNULL(1) _VTE_GNUC_NONNULL(2);
                                                                                      ^
../../../../../vice/src/arch/gtk3/novte/vtemacros.h:32:52: note: expanded from macro '_VTE_GNUC_NONNULL'
#define _VTE_GNUC_NONNULL(position) __attribute__((__nonnull__(position)))
                                                  ^
17 warnings generated.
In file included from ../../../../../vice/src/arch/gtk3/novte/vterowdata.cc:24:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
16 warnings generated.
In file included from ../../../../../vice/src/arch/gtk3/novte/vteseq.cc:34:
In file included from ../../../../../vice/src/arch/gtk3/novte/vteinternal.hh:26:
In file included from ../../../../../vice/src/arch/gtk3/novte/ring.h:29:
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:104:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(fore)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:105:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(back)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:106:5: warning: taking address of packed member 'm_colors' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_COLOR(deco)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:96:46: note: expanded from macro 'CELL_ATTR_COLOR'
                vte_color_triple_set_##name(&m_colors, value); \
                                            ^~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:129:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:130:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:131:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(bold, BOLD)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:132:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(italic, ITALIC)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:133:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(underline, UNDERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:134:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(strikethrough, STRIKETHROUGH)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:135:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(overline, OVERLINE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:136:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(reverse, REVERSE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:137:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(blink, BLINK)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:138:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(dim, DIM)
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:139:5: warning: taking address of packed member 'attr' of class or structure 'VteCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(invisible, INVISIBLE)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:164:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_UINT(columns, COLUMNS)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:61:37: note: expanded from macro 'CELL_ATTR_UINT'
                vte_attr_set_value(&attr, VTE_ATTR_##uname##_MASK, VTE_ATTR_##uname##_SHIFT, value); \
                                    ^~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:165:5: warning: taking address of packed member 'attr' of class or structure '_VteStreamCellAttr' may result in an unaligned pointer value [-Waddress-of-packed-member]
    CELL_ATTR_BOOL(fragment, FRAGMENT)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/novte/vterowdata.h:50:36: note: expanded from macro 'CELL_ATTR_BOOL'
                vte_attr_set_bool(&attr, VTE_ATTR_##uname##_MASK, value); \
                                  ^~~~
16 warnings generated.
Making all in widgets
Making all in base
../../../../vice/src/arch/gtk3/uimachinewindow.c:445:25: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
                    if (!gdk_seat_grab (pointerseat, window,
                        ^
../../../../vice/src/arch/gtk3/uimachinewindow.c:445:25: note: add parentheses after the '!' to evaluate the comparison first
                    if (!gdk_seat_grab (pointerseat, window,
                        ^
                        (
../../../../vice/src/arch/gtk3/uimachinewindow.c:445:25: note: add parentheses around left hand side expression to silence this warning
                    if (!gdk_seat_grab (pointerseat, window,
                        ^
                        (
1 warning generated.
Making all in shared
Making all in lib
Making all in p64
Making all in hvsc
In file included from ../../vice/src/info.c:34:
./infocontrib.h:293:8: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>\n"
      ^~~~
./infocontrib.h:343:12: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Paul Dub<E9> \n"
          ^~~~
./infocontrib.h:444:8: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
" Istv<E1>n F<E1>bi<E1>n\n"
      ^~~~  ~~~~  ~~~~
./infocontrib.h:532:11: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Frank K<F6>nig <frank_koenig@t-online.de>\n"
          ^~~~
./infocontrib.h:571:11: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Marko M<E4>kel<E4> <msmakela@gmail.com>\n"
          ^~~~  ~~~~
./infocontrib.h:622:10: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Lasse <D6><F6>rni <loorni@mail.student.oulu.fi>\n"
        ^~~~~~~~
./infocontrib.h:655:14: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Pablo Rold<E1>n <pdroldan@yahoo.com>\n"
            ^~~~
./infocontrib.h:802:19: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
"  Peternel, Per H<E5>kan Sundell, David Horrocks, Benjamin Rosseaux and William McCabe\n"
                  ^~~~
./infocontrib.h:844:25: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "1996-2001", "Andr<E9> Fachat", "Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>" },
                        ^~~~
./infocontrib.h:844:41: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "1996-2001", "Andr<E9> Fachat", "Andr<E9> Fachat <fachat@physik.tu-chemnitz.de>" },
                                          ^~~~
./infocontrib.h:865:29: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "2004-2017", "Paul Dub<E9>", "French", "Paul Dub<E9> " },
                            ^~~~
./infocontrib.h:865:52: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
    { "2004-2017", "Paul Dub<E9>", "French", "Paul Dub<E9> " },
                                                      ^~~~
12 warnings generated.
</pre>
</pre>


This is normal behaviour when configuring with --enable-cpuhistory, serves as a reminder to us that CPU history recording hasn't been properly implemented for those machines. (Compyx, 2019-11-19)
== clang ==


== Other diagnostic tools ==
== Other diagnostic tools ==

Revision as of 19:53, 26 September 2020

GCC

  • Strobe, MSYS2 x64 Gtk3, r38482
magicvoice.c: In function 'magicvoice_mmu_translate':
magicvoice.c:1269:27: warning: array subscript -49152 is outside array bounds of 'uint8_t[16384]' {aka 'unsigned char[16384]'} [-Warray-bounds]
 1269 |                     *base = (uint8_t *)(mv_rom - (uint8_t *)0xc000);
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~
magicvoice.c:1289:27: warning: array subscript -40960 is outside array bounds of 'uint8_t[16384]' {aka 'unsigned char[16384]'} [-Warray-bounds]
 1289 |                     *base = (uint8_t *)(mv_rom - (uint8_t *)0xa000);
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~

....

vsidmem.c: In function 'mem_initialize_memory':
vsidmem.c:532:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  532 |         mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:533:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  533 |         mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:534:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  534 |         mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:535:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  535 |         mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:536:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  536 |         mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:537:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  537 |         mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:538:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  538 |         mem_read_base_tab[25][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:539:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  539 |         mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
vsidmem.c:540:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  540 |         mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~

....

c64mem.c: In function 'mem_initialize_memory':
c64mem.c:769:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  769 |         mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:770:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  770 |         mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:771:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  771 |         mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:772:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  772 |         mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:773:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  773 |         mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:774:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  774 |         mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:775:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  775 |         mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64mem.c:776:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  776 |         mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~

....

c64memsc.c: In function 'mem_initialize_memory':
c64memsc.c:718:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  718 |         mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:719:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  719 |         mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:720:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  720 |         mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:721:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  721 |         mem_read_base_tab[9][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:722:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  722 |         mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:723:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  723 |         mem_read_base_tab[11][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:724:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  724 |         mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
c64memsc.c:725:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
  725 |         mem_read_base_tab[27][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~

NOTE remaining warnings are expected as Compyx describes below

c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
  537 | #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
      |  ^~~~~~~

c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
  123 | #warning "CPUMEMHISTORY implementation for x128 is incomplete"
      |  ^~~~~~~

petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
   69 | #warning "CPUMEMHISTORY implementation for xpet is incomplete"
      |  ^~~~~~~

plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
   40 | #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
      |  ^~~~~~~

cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
   68 | #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
      |  ^~~~~~~

This is normal behaviour when configuring with --enable-cpuhistory, serves as a reminder to us that CPU history recording hasn't been properly implemented for those machines. (Compyx, 2019-11-19)

clang

Other diagnostic tools

IWYU - include-what-you-use

IWYU (https://github.com/include-what-you-use/include-what-you-use) is a tool that scans a codebase and reports on #include's that are used, might be missing and may not be needed. It should also report on forward declarations and maybe suggest using those (haven't figured that out yet).

It requires clang/llvm and building the actual tool from source using CMake. The instructions could be better and some stuff doesn't work quite right when following the instructions, but it can built and used (TODO: add instructions on how to properly build and use it (the instructions on copying clang's include/ are wrong and few deps on Debian are missing)).

Currently it has some false positives when using it on Gtk3-VICE: especially when it scans any Gtk3 code, it outputs a lot of extra #include's that aren't required, just #include'ing <gtk/gtk.h> will pull in all of the Glib, GIO, GObject, Atk, Pango, Cairo headers our Gtk3 UI requires.

As an example, here's a run on Gtk3-VICE on Linux which was configured with:

$ ../vice/configure --enable-native-gtk3ui --enable-debug-gtk3ui --enable-debug --enable-ethernet --with-pulse --with-alsa --with-jpeg --with-png --with-gif --enable-x64

The resulting report is 1.7MB of plain text, so I put it on my DropBox: https://www.dropbox.com/s/rr0v8nz3xyx8dn7/iwyu-clang6-vice-r36405.log?dl=0