Warnings: Difference between revisions

From vice-emu
Jump to navigation Jump to search
mNo edit summary
 
(56 intermediate revisions by 3 users not shown)
Line 3: Line 3:
== GCC ==
== GCC ==


* Compyx, Linux x64 Gtk3, r41717, GCC 10.2.1 with LTO (-flto)


* gpz (x86, Linux/Gentoo, 64bit, GCC 7.3.0, GTK3) (r35613)
Running <tt>`./configure CFLAGS="-O3 -g -flto" CXXFLAGS="-O3 -g -flto ...`</tt> produces some interesting additional warnings over non-LTO builds:
<pre>
...
Making all in tools
Making all in cartconv
../../../../vice/src/tools/cartconv/c64-saver.c:20:22: warning: type of ‘input_filenames’ does not match original declaration [-Wlto-type-mismatch]
  20 | extern unsigned char input_filenames;
      |                      ^
../../../../vice/src/tools/cartconv/cartconv.c:76:5: note: type ‘int’ should match type ‘unsigned char’
  76 | int input_filenames = 0;
      |    ^
../../../../vice/src/tools/cartconv/cartconv.c:76:5: note: ‘input_filenames’ was previously declared here
../../../../vice/src/tools/cartconv/crt.c:18:14: warning: type of ‘output_filename’ does not match original declaration [-Wlto-type-mismatch]
  18 | extern char *output_filename;
      |              ^
../../../../vice/src/tools/cartconv/cartconv.c:73:7: note: ‘output_filename’ was previously declared here
  73 | char *output_filename[MAX_OUTPUT_FILES];
      |      ^
Making all in petcat
c64/../../../vice/src/c64/c64-snapshot.c: In function ‘c64_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
c64/../../../vice/src/c64/c64-snapshot.c: In function ‘c64_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
printerdrv/../../../vice/src/printerdrv/output-text.c: In function ‘output_text_open’:
printerdrv/../../../vice/src/printerdrv/output-text.c:169:16: warning: ‘fd_wr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  169 |        return fdopen(fd_wr, MODE_WRITE);
      |                ^
printerdrv/../../../vice/src/printerdrv/output-text.c:163:20: note: ‘fd_wr’ was declared here
  163 |        int fd_rd, fd_wr;
      |                    ^
printerdrv/../../../vice/src/printerdrv/output-text.c:168:9: warning: ‘fd_rd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  168 |        close(fd_rd);  /* We only want to write to the process */
      |        ^
printerdrv/../../../vice/src/printerdrv/output-text.c:163:13: note: ‘fd_rd’ was declared here
  163 |        int fd_rd, fd_wr;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
c128/../../../vice/src/c128/c128-snapshot.c: In function ‘c128_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
vic20/../../../vice/src/vic20/vic20-snapshot.c: In function ‘vic20_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
vic20/../../../vice/src/vic20/vic20memsnapshot.c:138:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  138 |    uint8_t config;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
plus4/../../../vice/src/plus4/plus4-snapshot.c: In function ‘plus4_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
cbm2/../../../vice/src/cbm2/cbm2-snapshot.c: In function ‘cbm2_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:372:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  372 |    uint8_t config;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:21: warning: ‘hwconfig’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |    uint8_t config, hwconfig;
      |                    ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |    uint8_t config, hwconfig;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:175:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  175 |    memsize = ((int)byte) & 0xff;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:157:13: note: ‘byte’ was declared here
  157 |    uint8_t byte, vmajor, vminor;
      |            ^
pet/../../../vice/src/pet/petmemsnapshot.c: In function ‘mem_read_ram_snapshot_module’:
pet/../../../vice/src/pet/petmemsnapshot.c:318:38: warning: ‘b’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  318 |        SMR_B(m, &b); dongle6702.val = b;
      |                                      ^
pet/../../../vice/src/pet/petmemsnapshot.c:314:17: note: ‘b’ was declared here
  314 |        uint8_t b;
      |                ^
pet/../../../vice/src/pet/petmemsnapshot.c:268:40: warning: ‘superpet’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  268 |            spetbank = (superpet >> 4) & 0x0f;
      |                                        ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:53: note: ‘superpet’ was declared here
  208 |    uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                                    ^
pet/../../../vice/src/pet/petmemsnapshot.c:283:20: warning: ‘conf8x96’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  283 |    petmem_map_reg = conf8x96;
      |                    ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:43: note: ‘conf8x96’ was declared here
  208 |    uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                          ^
pet/../../../vice/src/pet/petmemsnapshot.c:247:18: warning: ‘memsize’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  247 |    peti.ramSize = memsize;
      |                  ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:34: note: ‘memsize’ was declared here
  208 |    uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                  ^
pet/../../../vice/src/pet/petmemsnapshot.c:238:19: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  238 |    peti.kbd_type = byte;
      |                  ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:28: note: ‘byte’ was declared here
  208 |    uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                            ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  208 |    uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |            ^
pet/../../../vice/src/pet/pet-snapshot.c: In function ‘pet_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |    uint8_t byte;
      |            ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |    uint8_t byte;
      |            ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |    uint8_t byte;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
cbm2/../../../vice/src/cbm2/cbm5x0-snapshot.c: In function ‘cbm2_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |        tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |        ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |    int tmp_tapeport_device[2];
      |        ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:372:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  372 |    uint8_t config;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:21: warning: ‘hwconfig’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |    uint8_t config, hwconfig;
      |                    ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |    uint8_t config, hwconfig;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:175:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  175 |    memsize = ((int)byte) & 0xff;
      |            ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:157:13: note: ‘byte’ was declared here
  157 |    uint8_t byte, vmajor, vminor;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |        glUniform1i(last_frame_uniform, 0);
      |        ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |    GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |            ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |    long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |        if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |    long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5823 |    cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
5890 |            int cell_width, cell_height;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5824 |    cell_height = MAX(cell_height, 2);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
5890 |            int cell_width, cell_height;
      |                            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5825 |    char_ascent = MAX(char_ascent, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
5891 |            int char_ascent, char_descent;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
5826 |    char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
5891 |            int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |    frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |    char *fragment_shader;
      |          ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |    vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |    char *vertex_shader;
      |          ^
Making all in build
...
</pre>
* Compyx, Win7 x64 Gtk3, r40182, GCC 10.3.0
 
<pre>
...
Making all in joystickdrv
../../../vice/src/joystickdrv/joystick_win32_directinput.c: In function 'joystick_di5_update':
../../../vice/src/joystickdrv/joystick_win32_directinput.c:223:11: warning: unused variable 'apos' [-Wunused-variable]
  223 |    DWORD apos;
      |          ^~~~
../../../vice/src/joystickdrv/joystick_win32_directinput.c:222:10: warning: unused variable 'amax' [-Wunused-variable]
  222 |    UINT amax;
      |          ^~~~
../../../vice/src/joystickdrv/joystick_win32_directinput.c:221:10: warning: unused variable 'amin' [-Wunused-variable]
  221 |    UINT amin;
      |          ^~~~
Making all in sounddrv
Making all in mididrv
../../../vice/src/mididrv/midi-win32-drv.c: In function 'message_len':
../../../vice/src/mididrv/midi-win32-drv.c:173:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
  173 |            switch (msg) {
      |            ^~~~~~
../../../vice/src/mididrv/midi-win32-drv.c:198:9: note: here
  198 |        default: /* running status */
      |        ^~~~~~~
Making all in socketdrv
Making all in hwsiddrv
../../../vice/src/hwsiddrv/cw-win32-pci.c: In function 'cw_pci_open':
../../../vice/src/hwsiddrv/cw-win32-pci.c:334:19: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  334 |        inp32fp = (inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                  ^
../../../vice/src/hwsiddrv/cw-win32-pci.c:336:23: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  336 |            oup32fp = (oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                      ^
../../../vice/src/hwsiddrv/cw-win32-pci.c:338:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  338 |                init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c: In function 'init_interface':
../../../vice/src/hwsiddrv/hs-win32-dll.c:119:31: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BYTE (*)(void)' {aka 'unsigned char (*)(void)'} [-Wcast-function-type]
  119 |            GetHardSIDCount = (GetHardSIDCount_t)GetProcAddress(dll, "GetHardSIDCount");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:121:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BOOL)' {aka 'void (*)(int)'} [-Wcast-function-type]
  121 |            MuteHardSID_Line = (MuteHardSID_Line_t)GetProcAddress(dll, "MuteHardSID_Line");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:122:31: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BYTE (*)(BYTE,  BYTE)' {aka 'unsigned char (*)(unsigned char,  unsigned char)'} [-Wcast-function-type]
  122 |            ReadFromHardSID = (ReadFromHardSID_t)GetProcAddress(dll, "ReadFromHardSID");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:123:24: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BOOL)' {aka 'void (*)(int)'} [-Wcast-function-type]
  123 |            SetDebug = (SetDebug_t)GetProcAddress(dll, "SetDebug");
      |                        ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:124:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  BYTE,  BYTE)' {aka 'void (*)(unsigned char,  unsigned char,  unsigned char)'} [-Wcast-function-type]
  124 |            WriteToHardSID = (WriteToHardSID_t)GetProcAddress(dll, "WriteToHardSID");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:127:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  127 |            HardSID_Reset = (HardSID_Reset_t)GetProcAddress(dll, "HardSID_Reset");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:128:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(BYTE)' {aka 'int (*)(unsigned char)'} [-Wcast-function-type]
  128 |            HardSID_Lock = (HardSID_Lock_t)GetProcAddress(dll, "HardSID_Lock");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:129:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  129 |            HardSID_AbortPlay = (HardSID_AbortPlay_t)GetProcAddress(dll, "HardSID_Flush");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:130:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  130 |            HardSID_Flush = (HardSID_Flush_t)GetProcAddress(dll, "HardSID_SoftFlush");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:131:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  WORD,  BYTE,  BYTE)' {aka 'void (*)(unsigned char,  short unsigned int,  unsigned char,  unsigned char)'} [-Wcast-function-type]
  131 |            HardSID_Write = (HardSID_Write_t)GetProcAddress(dll, "HardSID_Write");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:132:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  WORD)' {aka 'void (*)(unsigned char,  short unsigned int)'} [-Wcast-function-type]
  132 |            HardSID_Delay = (HardSID_Delay_t)GetProcAddress(dll, "HardSID_Delay");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c: In function 'hs_dll_open':
../../../vice/src/hwsiddrv/hs-win32-dll.c:210:44: warning: cast between incompatible function types from 'void (*)(struct HWND__ *, UINT,  UINT,  DWORD)' {aka 'void (*)(struct HWND__ *, unsigned int,  unsigned int,  long unsigned int)'} to 'void (*)(struct HWND__ *, UINT,  UINT_PTR,  DWORD)' {aka 'void (*)(struct HWND__ *, unsigned int,  long long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  210 |        ftimer = SetTimer(NULL, ftimer, 1, (TIMERPROC) ftimerproc);
      |                                            ^
../../../vice/src/hwsiddrv/hs-win32-isa.c: In function 'hs_isa_open':
../../../vice/src/hwsiddrv/hs-win32-isa.c:318:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  318 |            inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:320:34: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  320 |                inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                                  ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:327:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  327 |            winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:329:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  329 |                winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:331:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  331 |                    init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-pci.c: In function 'hs_pci_open':
../../../vice/src/hwsiddrv/hs-win32-pci.c:369:23: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  369 |            inp32fp = (inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                      ^
../../../vice/src/hwsiddrv/hs-win32-pci.c:371:27: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  371 |                oup32fp = (oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                          ^
../../../vice/src/hwsiddrv/hs-win32-pci.c:373:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  373 |                    init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
../../../vice/src/hwsiddrv/ps-win32-dll.c: In function 'parsid_GetAddressLptPortInTheMemory':
../../../vice/src/hwsiddrv/ps-win32-dll.c:275:21: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(DWORD,  const void *, void *, DWORD,  DWORD *)' {aka 'int (*)(long unsigned int,  const void *, void *, long unsigned int,  long unsigned int *)'} [-Wcast-function-type]
  275 |    myProcPointer = (PROCTYPE_Toolhelp32ReadProcessMemory)GetProcAddress(hDLL, "Toolhelp32ReadProcessMemory");
      |                    ^
../../../vice/src/hwsiddrv/ps-win32-dll.c: In function 'ps_dll_open':
../../../vice/src/hwsiddrv/ps-win32-dll.c:481:26: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  481 |        inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                          ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:483:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  483 |            inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                              ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:495:25: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  495 |        winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                        ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:497:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  497 |            winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                            ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:499:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  499 |                init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                            ^
../../../vice/src/hwsiddrv/ps-win32-io.c: In function 'parsid_GetAddressLptPortInTheMemory':
../../../vice/src/hwsiddrv/ps-win32-io.c:230:21: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(DWORD,  const void *, void *, DWORD,  DWORD *)' {aka 'int (*)(long unsigned int,  const void *, void *, long unsigned int,  long unsigned int *)'} [-Wcast-function-type]
  230 |    myProcPointer = (PROCTYPE_Toolhelp32ReadProcessMemory)GetProcAddress(hDLL, "Toolhelp32ReadProcessMemory");
      |                    ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c: In function 'ssi2001_drv_open':
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:258:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  258 |            inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                              ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:260:34: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  260 |                inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                                  ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:267:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  267 |            winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                            ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:269:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  269 |                winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                                ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:271:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  271 |                    init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
Making all in iodrv
<snip>
Making all in cart
../../../../vice/src/c64/cart/magicvoice.c: In function 'magicvoice_mmu_translate':
../../../../vice/src/c64/cart/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);
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/c64/cart/magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~
../../../../vice/src/c64/cart/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);
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/c64/cart/magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~
../../../vice/src/c64/vsidmem.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
  81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
  87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |        ^~~~~~~~~~~~~~~
Making all in scpu64
Making all in c64dtv
../../../vice/src/c64dtv/c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
  537 | #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
      |  ^~~~~~~
Making all in c128
../../../vice/src/c128/c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
  123 | #warning "CPUMEMHISTORY implementation for x128 is incomplete"
      |  ^~~~~~~
Making all in vic20
Making all in cart
Making all in pet
../../../vice/src/pet/petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
  69 | #warning "CPUMEMHISTORY implementation for xpet is incomplete"
      |  ^~~~~~~
Making all in plus4
Making all in cart
../../../vice/src/plus4/plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
  40 | #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
      |  ^~~~~~~
Making all in cbm2
Making all in cart
../../../vice/src/cbm2/cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
  68 | #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
      |  ^~~~~~~
Making all in arch
Making all in shared
In file included from ../../../../vice/src/arch/shared/rawnetarch.c:68:
../../../../vice/src/arch/shared/rawnetarch_win32.c: In function 'EthernetPcapLoadLibrary':
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'pcap_t * (*)(const char *, int,  int,  int,  char *)' {aka 'struct pcap * (*)(const char *, int,  int,  int,  char *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:148:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  148 |        GET_PROC_ADDRESS_AND_TEST(pcap_open_live);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, int,  void (*)(u_char *, const struct pcap_pkthdr *, const u_char *), u_char *)' {aka 'int (*)(struct pcap *, int,  void (*)(unsigned char *, const struct pcap_pkthdr *, const unsigned char *), unsigned char *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:149:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  149 |        GET_PROC_ADDRESS_AND_TEST(pcap_dispatch);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, int,  char *)' {aka 'int (*)(struct pcap *, int,  char *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:150:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  150 |        GET_PROC_ADDRESS_AND_TEST(pcap_setnonblock);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_if_t **, char *)' {aka 'int (*)(struct pcap_if **, char *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:151:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  151 |        GET_PROC_ADDRESS_AND_TEST(pcap_findalldevs);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(pcap_if_t *)' {aka 'void (*)(struct pcap_if *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:152:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  152 |        GET_PROC_ADDRESS_AND_TEST(pcap_freealldevs);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, u_char *, int)' {aka 'int (*)(struct pcap *, unsigned char *, int)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:153:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  153 |        GET_PROC_ADDRESS_AND_TEST(pcap_sendpacket);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *)' {aka 'int (*)(struct pcap *)'} [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:154:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  154 |        GET_PROC_ADDRESS_AND_TEST(pcap_datalink);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'char * (*)(char *)' [-Wcast-function-type]
  131 |    p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);    \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:155:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  155 |        GET_PROC_ADDRESS_AND_TEST(pcap_lookupdev);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~
Making all in gtk3
...
</pre>
 
 
* Compyx, Debian x64 Gtk3, r39941 (after adding -Wmissing-prototypes)


<pre>
<pre>
Making all in src
Making all in resid
ar: `u' modifier ignored since `D' is the default (see `U')
Making all in resid-dtv
ar: `u' modifier ignored since `D' is the default (see `U')
Making all in samplerdrv
Making all in joyport
Making all in sounddrv
Making all in mididrv
Making all in socketdrv
Making all in hwsiddrv
Making all in iodrv
Making all in drive
Making all in iec
Making all in c64exp
Making all in plus4exp
../../../../vice/src/drive/iec/cmdhd.c:144:6: warning: no previous prototype for ‘my_debug_iec_drv_write’ [-Wmissing-prototypes]
void my_debug_iec_drv_write(unsigned int data)
      ^~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/drive/iec/cmdhd.c:162:6: warning: no previous prototype for ‘my_debug_iec_drv_read’ [-Wmissing-prototypes]
void my_debug_iec_drv_read(unsigned int data)
      ^~~~~~~~~~~~~~~~~~~~~
Making all in iec128dcr
Making all in iecieee
Making all in ieee
Making all in tcbm
Making all in vdrive
../../../vice/src/vdrive/vdrive-bam.c:349:5: warning: no previous prototype for ‘vdrive_bam_alloc_add_interleave’ [-Wmissing-prototypes]
int vdrive_bam_alloc_add_interleave(vdrive_t *vdrive,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in fsdevice
Making all in diskimage
Making all in iecbus
Making all in serial
Making all in serial
serial-iec-device.c: In function 'serial_iec_device_exec_main':
serial-iec-device.c:641:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
                if (clk_value >= iec->timeout) {
                    ^
serial-iec-device.c:649:13: note: here
            case P_READY:
            ^~~~
Making all in parallel
Making all in parallel
Making all in tape
Making all in tape
Line 31: Line 1,234:
Making all in sid
Making all in sid
Making all in monitor
Making all in monitor
../../../vice/src/monitor/monitor.c:818:11: warning: no previous prototype for ‘mon_get_current_bank_index’ [-Wmissing-prototypes]
const int mon_get_current_bank_index(MEMSPACE mem)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/monitor/monitor_binary.c:372:6: warning: no previous prototype for ‘monitor_binary_response_register_info’ [-Wmissing-prototypes]
void monitor_binary_response_register_info(uint32_t request_id, MEMSPACE memspace)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in core
Making all in core
viacore.c: In function 'viacore_read':
../../../vice/src/core/scsi.c:242:6: warning: no previous prototype for ‘scsi_format_sector0’ [-Wmissing-prototypes]
viacore.c:721:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
void scsi_format_sector0(struct scsi_context_s *context)
            if (via_context->ier & (VIA_IM_CA1 | VIA_IM_CA2)) {
      ^~~~~~~~~~~~~~~~~~~
                ^
viacore.c:725:9: note: here
        case VIA_PRA_NHS: /* port A, no handshake */
        ^~~~
Making all in rtc
Making all in rtc
ds12c887.c: In function 'ds12c887_store_data':
ds12c887.c:658:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
            if (context->set) {
                ^
ds12c887.c:664:9: note: here
        case DS12C887_REG_CTRL_A:
        ^~~~
Making all in userport
Making all in userport
Making all in tapeport
Making all in tapeport
Line 52: Line 1,250:
Making all in c64
Making all in c64
Making all in cart
Making all in cart
../../../vice/src/c64/vsidstubs.c:481:19: warning: no previous prototype for ‘diskcontents_block_read’ [-Wmissing-prototypes]
image_contents_t *diskcontents_block_read(struct vdrive_s *vdrive, int part)
                  ^~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidstubs.c:553:5: warning: no previous prototype for ‘fsdevice_limit_namelength’ [-Wmissing-prototypes]
int fsdevice_limit_namelength(vdrive_t *vdrive, uint8_t *name)
    ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:943:6: warning: no previous prototype for ‘poke_bank_io’ [-Wmissing-prototypes]
void poke_bank_io(uint16_t addr, uint8_t byte)
      ^~~~~~~~~~~~
Making all in scpu64
Making all in scpu64
Making all in c64dtv
Making all in c64dtv
c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
../../../vice/src/c64dtv/c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
  #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
  #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
   ^~~~~~~
   ^~~~~~~
Making all in c128
Making all in c128
c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
../../../vice/src/c128/c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
  #warning "CPUMEMHISTORY implementation for x128 is incomplete"
  #warning "CPUMEMHISTORY implementation for x128 is incomplete"
   ^~~~~~~
   ^~~~~~~
functionrom.c: In function 'set_external_function_rom_enabled':
functionrom.c:154:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
            rtc2_context = bq4830y_init("EFR");
            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
functionrom.c:155:9: note: here
        case EXT_FUNCTION_RAM:
        ^~~~
functionrom.c: In function 'set_internal_function_rom_enabled':
functionrom.c:103:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
            rtc1_context = bq4830y_init("IFR");
            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
functionrom.c:104:9: note: here
        case INT_FUNCTION_RAM:
        ^~~~
Making all in vic20
Making all in vic20
Making all in cart
Making all in cart
Making all in pet
Making all in pet
petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
../../../vice/src/pet/petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
  #warning "CPUMEMHISTORY implementation for xpet is incomplete"
  #warning "CPUMEMHISTORY implementation for xpet is incomplete"
   ^~~~~~~
   ^~~~~~~
petmem.c: In function 'read_io_e8':
petmem.c:770:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
            if (petres.crtc) {
                ^
petmem.c:773:9: note: here
        case 0x00:
        ^~~~
petmemsnapshot.c: In function 'mem_read_ram_snapshot_module':
petmemsnapshot.c:211:9: warning: declaration of 'spet_bank' shadows a global declaration [-Wshadow]
    int spet_bank = 0;
        ^~~~~~~~~
In file included from petmemsnapshot.c:43:0:
petmem.h:79:12: note: shadowed declaration is here
extern int spet_bank;
            ^~~~~~~~~
petprinter.c: In function 'machine_printer_setup_context':
petprinter.c:35:62: warning: declaration of 'machine_context' shadows a global declaration [-Wshadow]
void machine_printer_setup_context(struct machine_context_s *machine_context)
                                                              ^~~~~~~~~~~~~~~
In file included from petprinter.c:30:0:
pet.h:92:26: note: shadowed declaration is here
extern machine_context_t machine_context;
                          ^~~~~~~~~~~~~~~
petrom.c: In function 'mem_load':
petrom.c:850:13: warning: declaration of 'i' shadows a previous local [-Wshadow]
        int i;
            ^
petrom.c:797:9: note: shadowed declaration is here
    int i;
        ^
petvia.c: In function 'petvia_setup_context':
petvia.c:238:46: warning: declaration of 'machine_context' shadows a global declaration [-Wshadow]
void petvia_setup_context(machine_context_t *machine_context)
                                              ^~~~~~~~~~~~~~~
In file included from petvia.c:43:0:
pet.h:92:26: note: shadowed declaration is here
extern machine_context_t machine_context;
                          ^~~~~~~~~~~~~~~
Making all in plus4
Making all in plus4
plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
Making all in cart
../../../../vice/src/plus4/cart/plus4cart.c:534:5: warning: no previous prototype for ‘cart_bin_attach’ [-Wmissing-prototypes]
int cart_bin_attach(int type, const char *filename, uint8_t *rawcart)
    ^~~~~~~~~~~~~~~
../../../vice/src/plus4/plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
  #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
  #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
   ^~~~~~~
   ^~~~~~~
Making all in cbm2
Making all in cbm2
cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
../../../vice/src/cbm2/cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
  #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
  #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
   ^~~~~~~
   ^~~~~~~
cbm5x0cia1.c: In function 'cia1_setup_context':
cbm5x0cia1.c:220:44: warning: declaration of 'machine_context' shadows a global declaration [-Wshadow]
void cia1_setup_context(machine_context_t *machine_context)
                                            ^~~~~~~~~~~~~~~
In file included from cbm5x0cia1.c:39:0:
cbm2.h:98:26: note: shadowed declaration is here
extern machine_context_t machine_context;
                          ^~~~~~~~~~~~~~~
Making all in arch/shared
Making all in arch
Making all in arch
Making all in shared
../../../../vice/src/arch/shared/archdep_exit.c:68:6: warning: no previous prototype for ‘archdep_is_exiting’ [-Wmissing-prototypes]
bool archdep_is_exiting(void) {
      ^~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_haiku.c:54:5: warning: no previous prototype for ‘archdep_is_haiku’ [-Wmissing-prototypes]
int archdep_is_haiku(void)
    ^~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_windows_nt.c:60:5: warning: no previous prototype for ‘archdep_is_windows_nt’ [-Wmissing-prototypes]
int archdep_is_windows_nt(void)
    ^~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_macos_bindist.c:34:5: warning: no previous prototype for ‘archdep_is_macos_bindist’ [-Wmissing-prototypes]
int archdep_is_macos_bindist(void) {
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_rtc_get_centisecond.c:53:5: warning: no previous prototype for ‘archdep_rtc_get_centisecond’ [-Wmissing-prototypes]
int archdep_rtc_get_centisecond(void)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:114:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter_open’ [-Wmissing-prototypes]
int rawnet_arch_pcap_enumadapter_open(void)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:148:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter’ [-Wmissing-prototypes]
int rawnet_arch_pcap_enumadapter(char **ppname, char **ppdescription)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:176:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter_close’ [-Wmissing-prototypes]
int rawnet_arch_pcap_enumadapter_close(void)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:228:6: warning: no previous prototype for ‘rawnet_arch_pcap_pre_reset’ [-Wmissing-prototypes]
void rawnet_arch_pcap_pre_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:232:6: warning: no previous prototype for ‘rawnet_arch_pcap_post_reset’ [-Wmissing-prototypes]
void rawnet_arch_pcap_post_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:236:5: warning: no previous prototype for ‘rawnet_arch_pcap_activate’ [-Wmissing-prototypes]
int rawnet_arch_pcap_activate(const char *interface_name)
    ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:244:6: warning: no previous prototype for ‘rawnet_arch_pcap_deactivate’ [-Wmissing-prototypes]
void rawnet_arch_pcap_deactivate( void )
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:248:6: warning: no previous prototype for ‘rawnet_arch_pcap_set_mac’ [-Wmissing-prototypes]
void rawnet_arch_pcap_set_mac( const uint8_t mac[6] )
      ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:252:6: warning: no previous prototype for ‘rawnet_arch_pcap_set_hashfilter’ [-Wmissing-prototypes]
void rawnet_arch_pcap_set_hashfilter(const uint32_t hash_mask[2])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:263:6: warning: no previous prototype for ‘rawnet_arch_pcap_recv_ctl’ [-Wmissing-prototypes]
void rawnet_arch_pcap_recv_ctl(int bBroadcast, int bIA, int bMulticast, int bCorrect, int bPromiscuous, int bIAHash)
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:267:6: warning: no previous prototype for ‘rawnet_arch_pcap_line_ctl’ [-Wmissing-prototypes]
void rawnet_arch_pcap_line_ctl(int bEnableTransmitter, int bEnableReceiver )
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:443:6: warning: no previous prototype for ‘rawnet_arch_pcap_transmit’ [-Wmissing-prototypes]
void rawnet_arch_pcap_transmit(int force, int onecoll, int inhibit_crc,
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:489:5: warning: no previous prototype for ‘rawnet_arch_pcap_receive’ [-Wmissing-prototypes]
int rawnet_arch_pcap_receive(uint8_t *pbuffer, int *plen, int  *phashed,
    ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:546:7: warning: no previous prototype for ‘rawnet_arch_pcap_get_standard_interface’ [-Wmissing-prototypes]
char *rawnet_arch_pcap_get_standard_interface(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:68:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter_open’ [-Wmissing-prototypes]
int rawnet_arch_tuntap_enumadapter_open(void)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:91:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter’ [-Wmissing-prototypes]
int rawnet_arch_tuntap_enumadapter(char **ppname, char **ppdescription)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:108:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter_close’ [-Wmissing-prototypes]
int rawnet_arch_tuntap_enumadapter_close(void)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:149:6: warning: no previous prototype for ‘rawnet_arch_tuntap_pre_reset’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_pre_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:153:6: warning: no previous prototype for ‘rawnet_arch_tuntap_post_reset’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_post_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:157:5: warning: no previous prototype for ‘rawnet_arch_tuntap_activate’ [-Wmissing-prototypes]
int rawnet_arch_tuntap_activate(const char *interface_name)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:165:6: warning: no previous prototype for ‘rawnet_arch_tuntap_deactivate’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_deactivate(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:171:6: warning: no previous prototype for ‘rawnet_arch_tuntap_set_mac’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_set_mac(const uint8_t mac[6])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:175:6: warning: no previous prototype for ‘rawnet_arch_tuntap_set_hashfilter’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_set_hashfilter(const uint32_t hash_mask[2])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:186:6: warning: no previous prototype for ‘rawnet_arch_tuntap_recv_ctl’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_recv_ctl(int bBroadcast, int bIA, int bMulticast, int bCorrect, int bPromiscuous, int bIAHash)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:190:6: warning: no previous prototype for ‘rawnet_arch_tuntap_line_ctl’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_line_ctl(int bEnableTransmitter, int bEnableReceiver )
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:203:6: warning: no previous prototype for ‘rawnet_arch_tuntap_transmit’ [-Wmissing-prototypes]
void rawnet_arch_tuntap_transmit(int force, int onecoll, int inhibit_crc,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:253:5: warning: no previous prototype for ‘rawnet_arch_tuntap_receive’ [-Wmissing-prototypes]
int rawnet_arch_tuntap_receive(uint8_t *pbuffer, int *plen, int  *phashed,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:311:7: warning: no previous prototype for ‘rawnet_arch_tuntap_get_standard_interface’ [-Wmissing-prototypes]
char *rawnet_arch_tuntap_get_standard_interface(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in gtk3
Making all in gtk3
Making all in data
Making all in data
Making all in macos
Making all in unix
Making all in win32
Making all in novte
Making all in novte
Making all in widgets
Making all in widgets
Making all in base
Making all in base
Making all in shared
../../../../../../vice/src/arch/gtk3/widgets/base/resourcecheckbutton.c:340:10: warning: no previous prototype for ‘vice_gtk3_resource_check_button_apply’ [-Wmissing-prototypes]
gboolean vice_gtk3_resource_check_button_apply(GtkWidget *widget)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/dirmenupopup.c:140:6: warning: no previous prototype for ‘dir_item_apply_style’ [-Wmissing-prototypes]
void dir_item_apply_style(GtkWidget *item)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:67:12: warning: no previous prototype for ‘pet_rama_widget_create’ [-Wmissing-prototypes]
GtkWidget *pet_rama_widget_create(void)
            ^~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:92:6: warning: no previous prototype for ‘pet_rama_widget_set_callback’ [-Wmissing-prototypes]
void pet_rama_widget_set_callback(GtkWidget *widget,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:103:6: warning: no previous prototype for ‘pet_rama_widget_sync’ [-Wmissing-prototypes]
void pet_rama_widget_sync(GtkWidget *widget)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:66:12: warning: no previous prototype for ‘pet_ram9_widget_create’ [-Wmissing-prototypes]
GtkWidget *pet_ram9_widget_create(void)
            ^~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:90:6: warning: no previous prototype for ‘pet_ram9_widget_set_callback’ [-Wmissing-prototypes]
void pet_ram9_widget_set_callback(GtkWidget *widget,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:101:6: warning: no previous prototype for ‘pet_ram9_widget_sync’ [-Wmissing-prototypes]
void pet_ram9_widget_sync(GtkWidget *widget)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/settings_fsdevice.c:65:12: warning: no previous prototype for ‘create_stack_child_widget’ [-Wmissing-prototypes]
GtkWidget *create_stack_child_widget(int unit)
            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/settings_host_display.c:152:12: warning: no previous prototype for ‘settings_host_display_widget_create’ [-Wmissing-prototypes]
GtkWidget *settings_host_display_widget_create(GtkWidget *widget)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/sidcartwidget.c:220:12: warning: no previous prototype for ‘create_sidcart_joy_widget’ [-Wmissing-prototypes]
GtkWidget *create_sidcart_joy_widget(void)
            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/ui.c:1872:10: warning: no previous prototype for ‘ui_jam_dialog_impl’ [-Wmissing-prototypes]
gboolean ui_jam_dialog_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/ui.c:1979:10: warning: no previous prototype for ‘ui_extendimage_dialog_impl’ [-Wmissing-prototypes]
gboolean ui_extendimage_dialog_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/uisettings.c:2792:10: warning: no previous prototype for ‘ui_settings_dialog_create’ [-Wmissing-prototypes]
gboolean ui_settings_dialog_create(GtkWidget *widget, gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/uisettings.c:2933:10: warning: no previous prototype for ‘ui_settings_dialog_create_and_activate_node_impl’ [-Wmissing-prototypes]
gboolean ui_settings_dialog_create_and_activate_node_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/vice_gtk3_locking.c:37:6: warning: no previous prototype for ‘vice_gtk3_lock’ [-Wmissing-prototypes]
void vice_gtk3_lock(gpointer data, GClosure *closure)
      ^~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/vice_gtk3_locking.c:46:6: warning: no previous prototype for ‘vice_gtk3_unlock’ [-Wmissing-prototypes]
void vice_gtk3_unlock(gpointer data, GClosure *closure)
      ^~~~~~~~~~~~~~~~
Making all in lib
Making all in lib
Making all in p64
Making all in p64
Making all in linenoise-ng
Making all in hvsc
Making all in hvsc
datasette.c: In function 'datasette_control_internal':
Making all in datasette
datasette.c:859:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
../../../vice/src/datasette/datasette-sound.c:55:6: warning: no previous prototype for ‘datasette_sound_set_halfwaves’ [-Wmissing-prototypes]
                datasette_internal_reset();
void datasette_sound_set_halfwaves(char halfwaves)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
datasette.c:860:13: note: here
../../../vice/src/datasette/datasette-sound.c:60:6: warning: no previous prototype for ‘datasette_sound_add_to_circular_buffer’ [-Wmissing-prototypes]
            case DATASETTE_CONTROL_STOP:   /* fall through */
void datasette_sound_add_to_circular_buffer(CLOCK gap)
            ^~~~
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
datasette.c:916:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
../../../vice/src/datasette/datasette-sound.c:200:6: warning: no previous prototype for ‘datasette_sound_init’ [-Wmissing-prototypes]
                datasette_internal_reset();
void datasette_sound_init(void)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
      ^~~~~~~~~~~~~~~~~~~~
datasette.c:917:13: note: here
Making all in tools
            case DATASETTE_CONTROL_STOP:   /* fall through */
Making all in cartconv
            ^~~~
Making all in petcat
../../vice/src/c1541.c:228:18: warning: no previous prototype for ‘file_system_get_vdrive’ [-Wmissing-prototypes]
struct vdrive_s *file_system_get_vdrive(unsigned int unit)
                  ^~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:47:6: warning: no previous prototype for ‘cartridge_detach_image’ [-Wmissing-prototypes]
void cartridge_detach_image(int type)
      ^~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:52:6: warning: no previous prototype for ‘cartridge_unset_default’ [-Wmissing-prototypes]
void cartridge_unset_default(void)
      ^~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:61:5: warning: no previous prototype for ‘network_connected’ [-Wmissing-prototypes]
int network_connected(void)
    ^~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:66:5: warning: no previous prototype for ‘network_get_mode’ [-Wmissing-prototypes]
int network_get_mode(void)
    ^~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:75:6: warning: no previous prototype for ‘network_event_record’ [-Wmissing-prototypes]
void network_event_record(unsigned int type, void *data, unsigned int size)
      ^~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:86:6: warning: no previous prototype for ‘ui_error’ [-Wmissing-prototypes]
void ui_error(const char *format, ...)
      ^~~~~~~~
../../vice/src/c1541-stubs.c:91:6: warning: no previous prototype for ‘main_exit’ [-Wmissing-prototypes]
void main_exit(void)
      ^~~~~~~~~
../../vice/src/c1541-stubs.c:96:6: warning: no previous prototype for ‘mainlock_is_vice_thread’ [-Wmissing-prototypes]
bool mainlock_is_vice_thread(void)
      ^~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:102:6: warning: no previous prototype for ‘mainlock_initiate_shutdown’ [-Wmissing-prototypes]
void mainlock_initiate_shutdown(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:107:6: warning: no previous prototype for ‘enable_text’ [-Wmissing-prototypes]
void enable_text(void)
      ^~~~~~~~~~~
../../vice/src/c1541-stubs.c:111:6: warning: no previous prototype for ‘disable_text’ [-Wmissing-prototypes]
void disable_text(void)
      ^~~~~~~~~~~~
../../vice/src/c1541-stubs.c:115:5: warning: no previous prototype for ‘machine_bus_device_attach’ [-Wmissing-prototypes]
int machine_bus_device_attach(unsigned int device, const char *name,
    ^~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:153:6: warning: no previous prototype for ‘ui_error_string’ [-Wmissing-prototypes]
void ui_error_string(const char *text)
      ^~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:157:6: warning: no previous prototype for ‘vsync_suspend_speed_eval’ [-Wmissing-prototypes]
void vsync_suspend_speed_eval(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:166:5: warning: no previous prototype for ‘machine_bus_lib_directory’ [-Wmissing-prototypes]
int machine_bus_lib_directory(unsigned int unit, const char *pattern, uint8_t **buf)
    ^~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:171:5: warning: no previous prototype for ‘machine_bus_lib_read_sector’ [-Wmissing-prototypes]
int machine_bus_lib_read_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:176:5: warning: no previous prototype for ‘machine_bus_lib_write_sector’ [-Wmissing-prototypes]
int machine_bus_lib_write_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:181:14: warning: no previous prototype for ‘machine_bus_device_type_get’ [-Wmissing-prototypes]
unsigned int machine_bus_device_type_get(unsigned int unit)
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:186:5: warning: no previous prototype for ‘machine_drive_rom_check_loaded’ [-Wmissing-prototypes]
int machine_drive_rom_check_loaded(unsigned int type)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:191:6: warning: no previous prototype for ‘machine_drive_flush’ [-Wmissing-prototypes]
void machine_drive_flush(void)
      ^~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:213:7: warning: no previous prototype for ‘kbd_get_menu_keyname’ [-Wmissing-prototypes]
char *kbd_get_menu_keyname(void)
      ^~~~~~~~~~~~~~~~~~~~
Making all in build
...
</pre>


</pre>
* Strobe, MSYS2 x64 Gtk3, r38482


<pre>
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];
      |                ^~~~~~


* gpz (x86, Linux/Gentoo, 64bit, GCC 6.4.0, GTK3) (3.2 tarball)
....


./configure --program-prefix=gtk3- --enable-debug --enable-native-gtk3ui --enable-debug-gtk3ui --enable-native-tools --enable-arch=native --prefix=/usr/games/ --enable-parsid --with-midas --with-resid --with-xaw3d --with-arts --with-x --enable-ethernet --with-pulse --with-sdlsound --enable-fullscreen --enable-cpuhistory --enable-static-ffmpeg --enable-static-lame
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];
      |        ^~~~~~~~~~~~~~~


no warnings besides a bunch of ffmpeg related things that are not listed here (we dont fix them)
....


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];
      |        ^~~~~~~~~~~~~~~


* compyx (x64, Windows 10/msys2, GCC 7.3.0, SDL2) (r35061)
....
:: Quite a few warnings after updating msys64, resulting in upgrading GCC from 7.3.0 to 8.2.0, though we can probably ignore the warnings about VTE.


<pre>
c64memsc.c: In function 'mem_initialize_memory':
In file included from ../../../../vice/src/arch/sdl/archdep.c:54:0:
c64memsc.c:718:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
../../../../vice/src/arch/sdl/archdep_win32.c: In function 'kbd_arch_get_host_mapping':
  718 |        mem_read_base_tab[1][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
../../../../vice/src/arch/sdl/archdep_win32.c:781:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    int lang = (int)GetKeyboardLayout(0);
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
                ^
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
At top level:
      |        ^~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/archdep_win32.c:224:13: warning: 'system_wcstombs_free' defined but not used [-Wunused-function]
c64memsc.c:719:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
static void system_wcstombs_free(char *mbs)
  719 |        mem_read_base_tab[2][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
            ^22:48, 18 June 2018 (CEST)22:48, 18 June 2018 (CEST)22:48, 18 June 2018 (CEST)[[User:Compyx|Compyx]] ([[User talk:Compyx|talk]]) 22:48, 18 June 2018 (CEST)
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/archdep_win32.c:210:14: warning: 'system_wcstombs_alloc' defined but not used [-Wunused-function]
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
static char *system_wcstombs_alloc(const char *wcs)
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
              ^22:48, 18 June 2018 (CEST)22:48, 18 June 2018 (CEST)22:48, 18 June 2018 (CEST)22:48, 18 June 2018 (CEST)
      |         ^~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/menu_c64cart.c: In function 'makegroup':
c64memsc.c:720:33: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
../../../../vice/src/arch/sdl/menu_c64cart.c:87:37: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  720 |        mem_read_base_tab[3][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
            ui_c64cart_entry.data = (ui_callback_data_t)(unsigned long)cartlist->crtid;
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    ^
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
In file included from ../../../../vice/src/arch/sdl/menu_midi.c:35:0:
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
../../../../vice/src/arch/sdl/menu_midi.c:161:18: warning: no previous prototype for 'MIDIInDev_dynmenu_callback' [-Wmissing-prototypes]
      |        ^~~~~~~~~~~~~~~
UI_MENU_CALLBACK(MIDIInDev_dynmenu_callback)
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);
../../../../vice/src/arch/sdl/menu_common.h:62:17: note: in definition of macro 'UI_MENU_CALLBACK'
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    const char *name(int activated, ui_callback_data_t param)
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
                ^[[User:Compyx|Compyx]] ([[User talk:Compyx|talk]])
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
../../../../vice/src/arch/sdl/menu_midi.c: In function 'MIDIInDev_dynmenu_callback':
      |        ^~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/menu_midi.c:189:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c64memsc.c:722:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
                midi_in_dyn_menu[i].data = (ui_callback_data_t)j;
  722 |        mem_read_base_tab[10][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                                            ^
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../vice/src/arch/sdl/menu_midi.c:35:0:
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
../../../../vice/src/arch/sdl/menu_midi.c: At top level:
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
../../../../vice/src/arch/sdl/menu_midi.c:203:18: warning: no previous prototype for 'MIDIOutDev_dynmenu_callback' [-Wmissing-prototypes]
      |        ^~~~~~~~~~~~~~~
UI_MENU_CALLBACK(MIDIOutDev_dynmenu_callback)
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);
../../../../vice/src/arch/sdl/menu_common.h:62:17: note: in definition of macro 'UI_MENU_CALLBACK'
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    const char *name(int activated, ui_callback_data_t param)
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
                ^[[User:Compyx|Compyx]] ([[User talk:Compyx|talk]])
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
../../../../vice/src/arch/sdl/menu_midi.c: In function 'MIDIOutDev_dynmenu_callback':
      |        ^~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/menu_midi.c:231:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
c64memsc.c:724:34: warning: array subscript -53248 is outside array bounds of 'uint8_t[4096]' {aka 'unsigned char[4096]'} [-Warray-bounds]
                midi_out_dyn_menu[i].data = (ui_callback_data_t)j;
  724 |        mem_read_base_tab[26][i] = (uint8_t *)(mem_chargen_rom - (uint8_t *)0xd000);
                                            ^
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/menu_settings.c: In function 'uikeyboard_menu_create':
c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
../../../../vice/src/arch/sdl/menu_settings.c:179:42: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
        ui_keyboard_mapping_entry.data = (ui_callback_data_t)(unsigned long)kbdlist->mapping;
      |        ^~~~~~~~~~~~~~~
                                        ^
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
 
* compyx (x64, Windows 10/msys2, GCC 8.2.0, Gtk3) (r35433)
 
<pre>
<pre>
Making all in hwsiddrv
c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
../../../vice/src/hwsiddrv/ps-win32-dll.c: In function 'parsid_GetAddressLptPortInTheRegistry':
  537 | #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
../../../vice/src/hwsiddrv/ps-win32-dll.c:243:26: warning: '%d' directive writing 1 byte into a region of size between 0 and 254 [-Wformat-overflow=]
      |  ^~~~~~~
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
                          ^~
../../../vice/src/hwsiddrv/ps-win32-dll.c:243:21: note: directive argument in the range [0, 2]
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
                    ^~~~~~~~
../../../vice/src/hwsiddrv/ps-win32-dll.c:243:5: note: 'sprintf' output between 3 and 257 bytes into a destination of size 255
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/hwsiddrv/ps-win32-io.c: In function 'parsid_GetAddressLptPortInTheRegistry':
../../../vice/src/hwsiddrv/ps-win32-io.c:207:26: warning: '%d' directive writing 1 byte into a region of size between 0 and 254 [-Wformat-overflow=]
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
                          ^~
../../../vice/src/hwsiddrv/ps-win32-io.c:207:21: note: directive argument in the range [0, 2]
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
                    ^~~~~~~~
../../../vice/src/hwsiddrv/ps-win32-io.c:207:5: note: 'sprintf' output between 3 and 257 bytes into a destination of size 255
    sprintf(myData, "%s\\%d", myKey, myPort - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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"
      |  ^~~~~~~


Making all in cart
plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
../../../../vice/src/c64/cart/crt.c: In function 'crt_open':
  40 | #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
../../../../vice/src/c64/cart/crt.c:160:9: warning: 'strncpy' output may be truncated copying 32 bytes from a string of length 63 [-Wstringop-truncation]
      |  ^~~~~~~
        strncpy(header->name, (char*)&crt_header[0x20], sizeof(header->name) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/c64/cart/crt.c: In function 'crt_create':
../../../../vice/src/c64/cart/crt.c:289:5: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
    strncpy((char*)&crt_header[0x20], name, sizeof(crt_header) - 0x20);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in scpu64
In file included from ../../../vice/src/scpu64/../main65816cpu.c:341,
                from ../../../vice/src/scpu64/scpu64cpu.c:431:
../../../vice/src/scpu64/../main65816cpu.c: In function 'maincpu_mainloop':
../../../vice/src/scpu64/../65816core.c:3648:39: warning: 'p3' may be used uninitialized in this function [-Wmaybe-uninitialized]
            uint8_t bk = (uint8_t)(p3 >> 16);
                                  ~~~~^~~~~~
../../../vice/src/scpu64/../65816core.c:2554:34: note: 'p3' was declared here
        unsigned int p0, p1, p2, p3;
                                  ^~
../../../vice/src/scpu64/../65816core.c:3647:39: warning: 'p2' may be used uninitialized in this function [-Wmaybe-uninitialized]
            uint8_t hi = (uint8_t)(p2 >> 8);
                                  ~~~~^~~~~
../../../vice/src/scpu64/../65816core.c:2554:30: note: 'p2' was declared here
        unsigned int p0, p1, p2, p3;
                              ^~
../../../vice/src/scpu64/../65816core.c:3650:13: warning: 'p1' may be used uninitialized in this function [-Wmaybe-uninitialized]
            debug_main65816cpu((uint32_t)(debug_pc), debug_clk,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          mon_disassemble_to_string(e_comp_space,
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                    debug_pc, op,
                                                    ~~~~~~~~~~~~~
                                                    lo, hi, bk, 1, "65816"),
                                                    ~~~~~~~~~~~~~~~~~~~~~~~~
                          debug_c, debug_x, debug_y, debug_sp, debug_pbr);
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/scpu64/../65816core.c:2554:26: note: 'p1' was declared here
        unsigned int p0, p1, p2, p3;
                          ^~


 
cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
 
   68 | #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
Making all in novte
      |  ^~~~~~~
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/keymap.cc:26:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/keymap.cc:26:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/ring.h:27,
                from ../../../../../vice/src/arch/gtk3/novte/ring.cc:24:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/ring.h:27,
                from ../../../../../vice/src/arch/gtk3/novte/ring.cc:24:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/vte.cc:35:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/vte.cc:35:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:32:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:32:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vtedraw.cc:33:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vtedraw.cc:33:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vtegtk.cc:44:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vtegtk.cc:44:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:100,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/vteseq.cc:33:
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
   void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
In file included from C:/msys64/mingw64/include/gtk-3.0/gtk/gtk.h:271,
                from ../../../../../vice/src/arch/gtk3/novte/vteterminal.h:25,
                from ../../../../../vice/src/arch/gtk3/novte/novte.h:28,
                from ../../../../../vice/src/arch/gtk3/novte/vteseq.cc:33:
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of '__gtk_reserved1' [-Wparentheses]
  void (*__gtk_reserved1);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of '__gtk_reserved2' [-Wparentheses]
  void (*__gtk_reserved2);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of '__gtk_reserved3' [-Wparentheses]
  void (*__gtk_reserved3);
        ^
C:/msys64/mingw64/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of '__gtk_reserved4' [-Wparentheses]
  void (*__gtk_reserved4);
        ^
 
 
 
../../../../vice/src/arch/gtk3/uinetplay.c: In function 'netplay_update_resources':
../../../../vice/src/arch/gtk3/uinetplay.c:119:5: warning: 'strncpy' specified bound 256 equals destination size [-Wstringop-truncation]
    strncpy(p, gtk_entry_get_text(GTK_ENTRY(np_port)), 256);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 
Making all in hvsc
../../vice/src/debug.c: In function 'debug_maincpu':
../../vice/src/debug.c:453:46: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
        int line_len = sprintf(tempstr, "%s\n", st);
                                              ^
../../vice/src/debug.c:453:24: note: 'sprintf' output between 2 and 129 bytes into a destination of size 128
        int line_len = sprintf(tempstr, "%s\n", st);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/debug.c: In function 'debug_main65816cpu':
../../vice/src/debug.c:453:46: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
        int line_len = sprintf(tempstr, "%s\n", st);
                                              ^
../../vice/src/debug.c:453:24: note: 'sprintf' output between 2 and 129 bytes into a destination of size 128
        int line_len = sprintf(tempstr, "%s\n", st);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/debug.c: In function 'debug_drive':
../../vice/src/debug.c:453:46: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
        int line_len = sprintf(tempstr, "%s\n", st);
                                              ^
../../vice/src/debug.c:453:24: note: 'sprintf' output between 2 and 129 bytes into a destination of size 128
        int line_len = sprintf(tempstr, "%s\n", st);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/util.c: In function 'util_add_extension_maxpath':
../../vice/src/util.c:1431:5: warning: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Wrestrict]
    sprintf(name, "%s%c%s", name, FSDEV_EXT_SEP_CHR, extension);
    ^~~~~~~
</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)


* compyx (x64, Windows 10/msys2, GCC 8.2.0, SDL2) (r35435)
== clang ==


<pre>
== Other diagnostic tools ==
Making all in sdl
In file included from ../../../../vice/src/arch/sdl/archdep.c:54:
In function 'system_mbstowcs',
    inlined from 'system_mbstowcs_alloc' at ../../../../vice/src/arch/sdl/archdep_win32.c:197:5,
    inlined from 'archdep_default_logger' at ../../../../vice/src/arch/sdl/archdep_win32.c:401:14:
../../../../vice/src/arch/sdl/archdep_win32.c:184:5: warning: 'strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=]
    strncpy(wcs, mbs, len);
    ^~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/sdl/archdep_win32.c: In function 'archdep_default_logger':
../../../../vice/src/arch/sdl/archdep_win32.c:197:31: note: length computed here
    system_mbstowcs(wcs, mbs, strlen(mbs) + 1);
                              ^~~~~~~~~~~
</pre>


== clang ==
=== IWYU - include-what-you-use ===


* gpz (x86, Linux/Gentoo, 64bit, clang 5.0.1, GTK3) (3.2 tarball)
IWYU (https://github.com/include-what-you-use/include-what-you-use) is a tool that scans a codebase and reports on <code>#include</code>'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).


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
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)).


note: here compiling using clang breaks in either ffmpeg or resid
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 <code>#include</code>'s that aren't required, just <code>#include</code>'ing <gtk/gtk.h> will pull in all of the Glib, GIO, GObject, Atk, Pango, Cairo headers our Gtk3 UI requires.


<pre>
As an example, here's a run on Gtk3-VICE on Linux which was configured with:
Making all in gfxoutputdrv
<pre>$ ../vice/configure --enable-native-gtk3ui --enable-debug-gtk3ui --enable-debug --enable-ethernet --with-pulse --with-alsa --with-jpeg --with-png --with-gif --enable-x64</pre>
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
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
keysetdialog.c:98:44: warning: suggest braces around initialization of subobject [-Wmissing-braces]
static GtkWidget *keyset_buttons[3][3] = { NULL };
                                          ^~~~
                                          {  }                                                                                                                                                   
/usr/lib64/llvm/5/bin/../../../../lib/clang/5.0.1/include/stddef.h:105:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
              ^~~~~~~~~~
1 warning generated.
videopalettewidget.c:90:9: warning: unused variable 'index' [-Wunused-variable]
    int index = gtk_combo_box_get_active(combo);
        ^
1 warning generated.
ui.c:427:24: warning: unused variable 'tmp' [-Wunused-variable]
                gchar *tmp = g_filename_from_uri(files[i], NULL, NULL);
                      ^
1 warning generated.
uinetplay_new.c:88:9: warning: unused variable 'state' [-Wunused-variable]
    int state = gtk_switch_get_active(widget);
        ^


Making all in ffmpeg
[[Category:Developer]]
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.
zfile.c:490:17: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
                !strcasecmp(tmp + l - len, search) != 0) {
                ^                                  ~~
zfile.c:490:17: note: add parentheses after the '!' to evaluate the comparison first
                !strcasecmp(tmp + l - len, search) != 0) {
                ^
                (                                    )                                                                                                                                           
zfile.c:490:17: note: add parentheses around left hand side expression to silence this warning
                !strcasecmp(tmp + l - len, search) != 0) {
                ^
                (                                )                                                                                                                                                 
1 warning generated.
</pre>

Latest revision as of 18:42, 23 March 2023

GCC

  • Compyx, Linux x64 Gtk3, r41717, GCC 10.2.1 with LTO (-flto)

Running `./configure CFLAGS="-O3 -g -flto" CXXFLAGS="-O3 -g -flto ...` produces some interesting additional warnings over non-LTO builds:

...
Making all in tools
Making all in cartconv
../../../../vice/src/tools/cartconv/c64-saver.c:20:22: warning: type of ‘input_filenames’ does not match original declaration [-Wlto-type-mismatch]
   20 | extern unsigned char input_filenames;
      |                      ^
../../../../vice/src/tools/cartconv/cartconv.c:76:5: note: type ‘int’ should match type ‘unsigned char’
   76 | int input_filenames = 0;
      |     ^
../../../../vice/src/tools/cartconv/cartconv.c:76:5: note: ‘input_filenames’ was previously declared here
../../../../vice/src/tools/cartconv/crt.c:18:14: warning: type of ‘output_filename’ does not match original declaration [-Wlto-type-mismatch]
   18 | extern char *output_filename;
      |              ^
../../../../vice/src/tools/cartconv/cartconv.c:73:7: note: ‘output_filename’ was previously declared here
   73 | char *output_filename[MAX_OUTPUT_FILES];
      |       ^
Making all in petcat
c64/../../../vice/src/c64/c64-snapshot.c: In function ‘c64_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
c64/../../../vice/src/c64/c64-snapshot.c: In function ‘c64_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
printerdrv/../../../vice/src/printerdrv/output-text.c: In function ‘output_text_open’:
printerdrv/../../../vice/src/printerdrv/output-text.c:169:16: warning: ‘fd_wr’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  169 |         return fdopen(fd_wr, MODE_WRITE);
      |                ^
printerdrv/../../../vice/src/printerdrv/output-text.c:163:20: note: ‘fd_wr’ was declared here
  163 |         int fd_rd, fd_wr;
      |                    ^
printerdrv/../../../vice/src/printerdrv/output-text.c:168:9: warning: ‘fd_rd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  168 |         close(fd_rd);   /* We only want to write to the process */
      |         ^
printerdrv/../../../vice/src/printerdrv/output-text.c:163:13: note: ‘fd_rd’ was declared here
  163 |         int fd_rd, fd_wr;
      |             ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
c128/../../../vice/src/c128/c128-snapshot.c: In function ‘c128_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
vic20/../../../vice/src/vic20/vic20-snapshot.c: In function ‘vic20_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
vic20/../../../vice/src/vic20/vic20memsnapshot.c:138:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  138 |     uint8_t config;
      |             ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
plus4/../../../vice/src/plus4/plus4-snapshot.c: In function ‘plus4_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
cbm2/../../../vice/src/cbm2/cbm2-snapshot.c: In function ‘cbm2_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:372:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  372 |     uint8_t config;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:21: warning: ‘hwconfig’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |     uint8_t config, hwconfig;
      |                     ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |     uint8_t config, hwconfig;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:175:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  175 |     memsize = ((int)byte) & 0xff;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:157:13: note: ‘byte’ was declared here
  157 |     uint8_t byte, vmajor, vminor;
      |             ^
pet/../../../vice/src/pet/petmemsnapshot.c: In function ‘mem_read_ram_snapshot_module’:
pet/../../../vice/src/pet/petmemsnapshot.c:318:38: warning: ‘b’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  318 |         SMR_B(m, &b); dongle6702.val = b;
      |                                      ^
pet/../../../vice/src/pet/petmemsnapshot.c:314:17: note: ‘b’ was declared here
  314 |         uint8_t b;
      |                 ^
pet/../../../vice/src/pet/petmemsnapshot.c:268:40: warning: ‘superpet’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  268 |             spetbank = (superpet >> 4) & 0x0f;
      |                                        ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:53: note: ‘superpet’ was declared here
  208 |     uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                                     ^
pet/../../../vice/src/pet/petmemsnapshot.c:283:20: warning: ‘conf8x96’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  283 |     petmem_map_reg = conf8x96;
      |                    ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:43: note: ‘conf8x96’ was declared here
  208 |     uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                           ^
pet/../../../vice/src/pet/petmemsnapshot.c:247:18: warning: ‘memsize’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  247 |     peti.ramSize = memsize;
      |                  ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:34: note: ‘memsize’ was declared here
  208 |     uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                                  ^
pet/../../../vice/src/pet/petmemsnapshot.c:238:19: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  238 |     peti.kbd_type = byte;
      |                   ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:28: note: ‘byte’ was declared here
  208 |     uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |                            ^
pet/../../../vice/src/pet/petmemsnapshot.c:208:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  208 |     uint8_t config, rconf, byte, memsize, conf8x96, superpet;
      |             ^
pet/../../../vice/src/pet/pet-snapshot.c: In function ‘pet_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |     uint8_t byte;
      |             ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |     uint8_t byte;
      |             ^
pet/../../../vice/src/piacore.c:450:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  450 |     uint8_t byte;
      |             ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
cbm2/../../../vice/src/cbm2/cbm5x0-snapshot.c: In function ‘cbm2_snapshot_read’:
tapeport/../../../vice/src/tapeport/tapeport.c:658:9: warning: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  658 |         tapeport_set_device(TAPEPORT_PORT_2, tmp_tapeport_device[TAPEPORT_PORT_2]);
      |         ^
tapeport/../../../vice/src/tapeport/tapeport.c:623:9: note: ‘MEM[(int *)&tmp_tapeport_device + 4B]’ was declared here
  623 |     int tmp_tapeport_device[2];
      |         ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:372:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  372 |     uint8_t config;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:21: warning: ‘hwconfig’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |     uint8_t config, hwconfig;
      |                     ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:159:13: warning: ‘config’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  159 |     uint8_t config, hwconfig;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:175:13: warning: ‘byte’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  175 |     memsize = ((int)byte) & 0xff;
      |             ^
cbm2/../../../vice/src/cbm2/cbm2memsnapshot.c:157:13: note: ‘byte’ was declared here
  157 |     uint8_t byte, vmajor, vminor;
      |             ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘vice_opengl_on_ui_frame_clock’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:538:9: warning: ‘last_frame_uniform’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  538 |         glUniform1i(last_frame_uniform, 0);
      |         ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:490:12: note: ‘last_frame_uniform’ was declared here
  490 |     GLuint last_frame_uniform;
      |            ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc: In function ‘vte_terminal_accessible_update_private_data_if_needed’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:336:34: warning: ‘ccol’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  336 |             ((attrs.row == crow) && (attrs.column < ccol))) {
      |                                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:10: note: ‘ccol’ was declared here
  202 |     long ccol, crow;
      |          ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:335:32: warning: ‘crow’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  335 |         if ((attrs.row < crow) ||
      |                                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vteaccess.cc:202:16: note: ‘crow’ was declared here
  202 |     long ccol, crow;
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc: In member function ‘_ZN18VteTerminalPrivate11ensure_fontEv.part.0’:
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5823:16: warning: ‘cell_width’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5823 |     cell_width = MAX(cell_width, 1);
      |                ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:17: note: ‘cell_width’ was declared here
 5890 |             int cell_width, cell_height;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5824:17: warning: ‘cell_height’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5824 |     cell_height = MAX(cell_height, 2);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5890:29: note: ‘cell_height’ was declared here
 5890 |             int cell_width, cell_height;
      |                             ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5825:17: warning: ‘char_ascent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5825 |     char_ascent = MAX(char_ascent, 1);
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:17: note: ‘char_ascent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                 ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5826:18: warning: ‘char_descent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 5826 |     char_descent = MAX(char_descent, 1);
      |                  ^
arch/gtk3/novte/../../../../../vice/src/arch/gtk3/novte/vte.cc:5891:30: note: ‘char_descent’ was declared here
 5891 |             int char_ascent, char_descent;
      |                              ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c: In function ‘create_shader_program.constprop’:
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:780:12: warning: ‘fragment_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  780 |     frag = create_shader(GL_FRAGMENT_SHADER, fragment_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:732:11: note: ‘fragment_shader’ was declared here
  732 |     char *fragment_shader;
      |           ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:779:12: warning: ‘vertex_shader’ may be used uninitialized in this function [-Wmaybe-uninitialized]
  779 |     vert = create_shader(GL_VERTEX_SHADER, vertex_shader);
      |            ^
arch/gtk3/../../../../vice/src/arch/gtk3/opengl_renderer.c:731:11: note: ‘vertex_shader’ was declared here
  731 |     char *vertex_shader;
      |           ^
Making all in build
...
  • Compyx, Win7 x64 Gtk3, r40182, GCC 10.3.0
...
Making all in joystickdrv
../../../vice/src/joystickdrv/joystick_win32_directinput.c: In function 'joystick_di5_update':
../../../vice/src/joystickdrv/joystick_win32_directinput.c:223:11: warning: unused variable 'apos' [-Wunused-variable]
  223 |     DWORD apos;
      |           ^~~~
../../../vice/src/joystickdrv/joystick_win32_directinput.c:222:10: warning: unused variable 'amax' [-Wunused-variable]
  222 |     UINT amax;
      |          ^~~~
../../../vice/src/joystickdrv/joystick_win32_directinput.c:221:10: warning: unused variable 'amin' [-Wunused-variable]
  221 |     UINT amin;
      |          ^~~~
Making all in sounddrv
Making all in mididrv
../../../vice/src/mididrv/midi-win32-drv.c: In function 'message_len':
../../../vice/src/mididrv/midi-win32-drv.c:173:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
  173 |             switch (msg) {
      |             ^~~~~~
../../../vice/src/mididrv/midi-win32-drv.c:198:9: note: here
  198 |         default: /* running status */
      |         ^~~~~~~
Making all in socketdrv
Making all in hwsiddrv
../../../vice/src/hwsiddrv/cw-win32-pci.c: In function 'cw_pci_open':
../../../vice/src/hwsiddrv/cw-win32-pci.c:334:19: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  334 |         inp32fp = (inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                   ^
../../../vice/src/hwsiddrv/cw-win32-pci.c:336:23: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  336 |             oup32fp = (oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                       ^
../../../vice/src/hwsiddrv/cw-win32-pci.c:338:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  338 |                 init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c: In function 'init_interface':
../../../vice/src/hwsiddrv/hs-win32-dll.c:119:31: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BYTE (*)(void)' {aka 'unsigned char (*)(void)'} [-Wcast-function-type]
  119 |             GetHardSIDCount = (GetHardSIDCount_t)GetProcAddress(dll, "GetHardSIDCount");
      |                               ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:121:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BOOL)' {aka 'void (*)(int)'} [-Wcast-function-type]
  121 |             MuteHardSID_Line = (MuteHardSID_Line_t)GetProcAddress(dll, "MuteHardSID_Line");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:122:31: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BYTE (*)(BYTE,  BYTE)' {aka 'unsigned char (*)(unsigned char,  unsigned char)'} [-Wcast-function-type]
  122 |             ReadFromHardSID = (ReadFromHardSID_t)GetProcAddress(dll, "ReadFromHardSID");
      |                               ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:123:24: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BOOL)' {aka 'void (*)(int)'} [-Wcast-function-type]
  123 |             SetDebug = (SetDebug_t)GetProcAddress(dll, "SetDebug");
      |                        ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:124:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  BYTE,  BYTE)' {aka 'void (*)(unsigned char,  unsigned char,  unsigned char)'} [-Wcast-function-type]
  124 |             WriteToHardSID = (WriteToHardSID_t)GetProcAddress(dll, "WriteToHardSID");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:127:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  127 |             HardSID_Reset = (HardSID_Reset_t)GetProcAddress(dll, "HardSID_Reset");
      |                             ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:128:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(BYTE)' {aka 'int (*)(unsigned char)'} [-Wcast-function-type]
  128 |             HardSID_Lock = (HardSID_Lock_t)GetProcAddress(dll, "HardSID_Lock");
      |                            ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:129:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  129 |             HardSID_AbortPlay = (HardSID_AbortPlay_t)GetProcAddress(dll, "HardSID_Flush");
      |                                 ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:130:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE)' {aka 'void (*)(unsigned char)'} [-Wcast-function-type]
  130 |             HardSID_Flush = (HardSID_Flush_t)GetProcAddress(dll, "HardSID_SoftFlush");
      |                             ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:131:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  WORD,  BYTE,  BYTE)' {aka 'void (*)(unsigned char,  short unsigned int,  unsigned char,  unsigned char)'} [-Wcast-function-type]
  131 |             HardSID_Write = (HardSID_Write_t)GetProcAddress(dll, "HardSID_Write");
      |                             ^
../../../vice/src/hwsiddrv/hs-win32-dll.c:132:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(BYTE,  WORD)' {aka 'void (*)(unsigned char,  short unsigned int)'} [-Wcast-function-type]
  132 |             HardSID_Delay = (HardSID_Delay_t)GetProcAddress(dll, "HardSID_Delay");
      |                             ^
../../../vice/src/hwsiddrv/hs-win32-dll.c: In function 'hs_dll_open':
../../../vice/src/hwsiddrv/hs-win32-dll.c:210:44: warning: cast between incompatible function types from 'void (*)(struct HWND__ *, UINT,  UINT,  DWORD)' {aka 'void (*)(struct HWND__ *, unsigned int,  unsigned int,  long unsigned int)'} to 'void (*)(struct HWND__ *, UINT,  UINT_PTR,  DWORD)' {aka 'void (*)(struct HWND__ *, unsigned int,  long long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  210 |         ftimer = SetTimer(NULL, ftimer, 1, (TIMERPROC) ftimerproc);
      |                                            ^
../../../vice/src/hwsiddrv/hs-win32-isa.c: In function 'hs_isa_open':
../../../vice/src/hwsiddrv/hs-win32-isa.c:318:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  318 |             inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                              ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:320:34: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  320 |                 inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                                  ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:327:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  327 |             winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                             ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:329:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  329 |                 winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                                 ^
../../../vice/src/hwsiddrv/hs-win32-isa.c:331:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  331 |                     init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
../../../vice/src/hwsiddrv/hs-win32-pci.c: In function 'hs_pci_open':
../../../vice/src/hwsiddrv/hs-win32-pci.c:369:23: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  369 |             inp32fp = (inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                       ^
../../../vice/src/hwsiddrv/hs-win32-pci.c:371:27: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  371 |                 oup32fp = (oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                           ^
../../../vice/src/hwsiddrv/hs-win32-pci.c:373:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  373 |                     init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
../../../vice/src/hwsiddrv/ps-win32-dll.c: In function 'parsid_GetAddressLptPortInTheMemory':
../../../vice/src/hwsiddrv/ps-win32-dll.c:275:21: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(DWORD,  const void *, void *, DWORD,  DWORD *)' {aka 'int (*)(long unsigned int,  const void *, void *, long unsigned int,  long unsigned int *)'} [-Wcast-function-type]
  275 |     myProcPointer = (PROCTYPE_Toolhelp32ReadProcessMemory)GetProcAddress(hDLL, "Toolhelp32ReadProcessMemory");
      |                     ^
../../../vice/src/hwsiddrv/ps-win32-dll.c: In function 'ps_dll_open':
../../../vice/src/hwsiddrv/ps-win32-dll.c:481:26: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  481 |         inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                          ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:483:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  483 |             inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                              ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:495:25: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  495 |         winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                         ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:497:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  497 |             winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                             ^
../../../vice/src/hwsiddrv/ps-win32-dll.c:499:28: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  499 |                 init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                            ^
../../../vice/src/hwsiddrv/ps-win32-io.c: In function 'parsid_GetAddressLptPortInTheMemory':
../../../vice/src/hwsiddrv/ps-win32-io.c:230:21: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'BOOL (*)(DWORD,  const void *, void *, DWORD,  DWORD *)' {aka 'int (*)(long unsigned int,  const void *, void *, long unsigned int,  long unsigned int *)'} [-Wcast-function-type]
  230 |     myProcPointer = (PROCTYPE_Toolhelp32ReadProcessMemory)GetProcAddress(hDLL, "Toolhelp32ReadProcessMemory");
      |                     ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c: In function 'ssi2001_drv_open':
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:258:30: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'short int (*)(short int)' [-Wcast-function-type]
  258 |             inpout_inp32fp = (inpout_inpfuncPtr)GetProcAddress(hLib, "Inp32");
      |                              ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:260:34: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(short int,  short int)' [-Wcast-function-type]
  260 |                 inpout_oup32fp = (inpout_oupfuncPtr)GetProcAddress(hLib, "Out32");
      |                                  ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:267:29: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD *, BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int *, unsigned char)'} [-Wcast-function-type]
  267 |             winio_inp32fp = (winio_inpfuncPtr)GetProcAddress(hLib, "GetPortVal");
      |                             ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:269:33: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(WORD,  DWORD,  BYTE)' {aka 'int (*)(short unsigned int,  long unsigned int,  unsigned char)'} [-Wcast-function-type]
  269 |                 winio_oup32fp = (winio_oupfuncPtr)GetProcAddress(hLib, "SetPortVal");
      |                                 ^
../../../vice/src/hwsiddrv/ssi2001-win32-drv.c:271:32: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(void)' [-Wcast-function-type]
  271 |                     init32fp = (initfuncPtr)GetProcAddress(hLib, "InitializeWinIo");
      |                                ^
Making all in iodrv
<snip>
Making all in cart
../../../../vice/src/c64/cart/magicvoice.c: In function 'magicvoice_mmu_translate':
../../../../vice/src/c64/cart/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);
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/c64/cart/magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~
../../../../vice/src/c64/cart/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);
      |                     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/c64/cart/magicvoice.c:132:16: note: while referencing 'mv_rom'
  132 | static uint8_t mv_rom[MV_ROM_SIZE];
      |                ^~~~~~
../../../vice/src/c64/vsidmem.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidmem.c:81:9: note: while referencing 'mem_chargen_rom'
   81 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64mem.c:87:9: note: while referencing 'mem_chargen_rom'
   87 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c: In function 'mem_initialize_memory':
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
../../../vice/src/c64/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);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:90:9: note: while referencing 'mem_chargen_rom'
   90 | uint8_t mem_chargen_rom[C64_CHARGEN_ROM_SIZE];
      |         ^~~~~~~~~~~~~~~
Making all in scpu64
Making all in c64dtv
../../../vice/src/c64dtv/c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
  537 | #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
      |  ^~~~~~~
Making all in c128
../../../vice/src/c128/c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
  123 | #warning "CPUMEMHISTORY implementation for x128 is incomplete"
      |  ^~~~~~~
Making all in vic20
Making all in cart
Making all in pet
../../../vice/src/pet/petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
   69 | #warning "CPUMEMHISTORY implementation for xpet is incomplete"
      |  ^~~~~~~
Making all in plus4
Making all in cart
../../../vice/src/plus4/plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
   40 | #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
      |  ^~~~~~~
Making all in cbm2
Making all in cart
../../../vice/src/cbm2/cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
   68 | #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
      |  ^~~~~~~
Making all in arch
Making all in shared
In file included from ../../../../vice/src/arch/shared/rawnetarch.c:68:
../../../../vice/src/arch/shared/rawnetarch_win32.c: In function 'EthernetPcapLoadLibrary':
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'pcap_t * (*)(const char *, int,  int,  int,  char *)' {aka 'struct pcap * (*)(const char *, int,  int,  int,  char *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:148:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  148 |         GET_PROC_ADDRESS_AND_TEST(pcap_open_live);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, int,  void (*)(u_char *, const struct pcap_pkthdr *, const u_char *), u_char *)' {aka 'int (*)(struct pcap *, int,  void (*)(unsigned char *, const struct pcap_pkthdr *, const unsigned char *), unsigned char *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:149:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  149 |         GET_PROC_ADDRESS_AND_TEST(pcap_dispatch);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, int,  char *)' {aka 'int (*)(struct pcap *, int,  char *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:150:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  150 |         GET_PROC_ADDRESS_AND_TEST(pcap_setnonblock);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_if_t **, char *)' {aka 'int (*)(struct pcap_if **, char *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:151:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  151 |         GET_PROC_ADDRESS_AND_TEST(pcap_findalldevs);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'void (*)(pcap_if_t *)' {aka 'void (*)(struct pcap_if *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:152:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  152 |         GET_PROC_ADDRESS_AND_TEST(pcap_freealldevs);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *, u_char *, int)' {aka 'int (*)(struct pcap *, unsigned char *, int)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:153:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  153 |         GET_PROC_ADDRESS_AND_TEST(pcap_sendpacket);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'int (*)(pcap_t *)' {aka 'int (*)(struct pcap *)'} [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:154:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  154 |         GET_PROC_ADDRESS_AND_TEST(pcap_datalink);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_win32.c:131:18: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'char * (*)(char *)' [-Wcast-function-type]
  131 |     p_##_name_ = (_name_##_t) GetProcAddress(pcap_library, #_name_);     \
      |                  ^
../../../../vice/src/arch/shared/rawnetarch_win32.c:155:9: note: in expansion of macro 'GET_PROC_ADDRESS_AND_TEST'
  155 |         GET_PROC_ADDRESS_AND_TEST(pcap_lookupdev);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
Making all in gtk3
...


  • Compyx, Debian x64 Gtk3, r39941 (after adding -Wmissing-prototypes)
Making all in src
Making all in resid
ar: `u' modifier ignored since `D' is the default (see `U')
Making all in resid-dtv
ar: `u' modifier ignored since `D' is the default (see `U')
Making all in samplerdrv
Making all in joyport
Making all in sounddrv
Making all in mididrv
Making all in socketdrv
Making all in hwsiddrv
Making all in iodrv
Making all in drive
Making all in iec
Making all in c64exp
Making all in plus4exp
../../../../vice/src/drive/iec/cmdhd.c:144:6: warning: no previous prototype for ‘my_debug_iec_drv_write’ [-Wmissing-prototypes]
 void my_debug_iec_drv_write(unsigned int data)
      ^~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/drive/iec/cmdhd.c:162:6: warning: no previous prototype for ‘my_debug_iec_drv_read’ [-Wmissing-prototypes]
 void my_debug_iec_drv_read(unsigned int data)
      ^~~~~~~~~~~~~~~~~~~~~
Making all in iec128dcr
Making all in iecieee
Making all in ieee
Making all in tcbm
Making all in vdrive
../../../vice/src/vdrive/vdrive-bam.c:349:5: warning: no previous prototype for ‘vdrive_bam_alloc_add_interleave’ [-Wmissing-prototypes]
 int vdrive_bam_alloc_add_interleave(vdrive_t *vdrive,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in fsdevice
Making all in diskimage
Making all in iecbus
Making all in serial
Making all in parallel
Making all in tape
Making all in imagecontents
Making all in fileio
Making all in video
Making all in raster
Making all in vicii
Making all in viciisc
Making all in viciivsid
Making all in vdc
Making all in crtc
Making all in gfxoutputdrv
Making all in printerdrv
Making all in rs232drv
Making all in sid
Making all in monitor
../../../vice/src/monitor/monitor.c:818:11: warning: no previous prototype for ‘mon_get_current_bank_index’ [-Wmissing-prototypes]
 const int mon_get_current_bank_index(MEMSPACE mem)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/monitor/monitor_binary.c:372:6: warning: no previous prototype for ‘monitor_binary_response_register_info’ [-Wmissing-prototypes]
 void monitor_binary_response_register_info(uint32_t request_id, MEMSPACE memspace)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in core
../../../vice/src/core/scsi.c:242:6: warning: no previous prototype for ‘scsi_format_sector0’ [-Wmissing-prototypes]
 void scsi_format_sector0(struct scsi_context_s *context)
      ^~~~~~~~~~~~~~~~~~~
Making all in rtc
Making all in userport
Making all in tapeport
Making all in diag
Making all in c64
Making all in cart
../../../vice/src/c64/vsidstubs.c:481:19: warning: no previous prototype for ‘diskcontents_block_read’ [-Wmissing-prototypes]
 image_contents_t *diskcontents_block_read(struct vdrive_s *vdrive, int part)
                   ^~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/vsidstubs.c:553:5: warning: no previous prototype for ‘fsdevice_limit_namelength’ [-Wmissing-prototypes]
 int fsdevice_limit_namelength(vdrive_t *vdrive, uint8_t *name)
     ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/c64/c64memsc.c:943:6: warning: no previous prototype for ‘poke_bank_io’ [-Wmissing-prototypes]
 void poke_bank_io(uint16_t addr, uint8_t byte)
      ^~~~~~~~~~~~
Making all in scpu64
Making all in c64dtv
../../../vice/src/c64dtv/c64dtvcpu.c:537:2: warning: #warning "CPUMEMHISTORY implementation for x64dtv is incomplete" [-Wcpp]
 #warning "CPUMEMHISTORY implementation for x64dtv is incomplete"
  ^~~~~~~
Making all in c128
../../../vice/src/c128/c128cpu.c:123:2: warning: #warning "CPUMEMHISTORY implementation for x128 is incomplete" [-Wcpp]
 #warning "CPUMEMHISTORY implementation for x128 is incomplete"
  ^~~~~~~
Making all in vic20
Making all in cart
Making all in pet
../../../vice/src/pet/petcpu.c:69:2: warning: #warning "CPUMEMHISTORY implementation for xpet is incomplete" [-Wcpp]
 #warning "CPUMEMHISTORY implementation for xpet is incomplete"
  ^~~~~~~
Making all in plus4
Making all in cart
../../../../vice/src/plus4/cart/plus4cart.c:534:5: warning: no previous prototype for ‘cart_bin_attach’ [-Wmissing-prototypes]
 int cart_bin_attach(int type, const char *filename, uint8_t *rawcart)
     ^~~~~~~~~~~~~~~
../../../vice/src/plus4/plus4cpu.c:40:2: warning: #warning "CPUMEMHISTORY implementation for xplus4 is incomplete" [-Wcpp]
 #warning "CPUMEMHISTORY implementation for xplus4 is incomplete"
  ^~~~~~~
Making all in cbm2
../../../vice/src/cbm2/cbm2cpu.c:68:2: warning: #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete" [-Wcpp]
 #warning "CPUMEMHISTORY implementation for xcbm2 is incomplete"
  ^~~~~~~
Making all in arch
Making all in shared
../../../../vice/src/arch/shared/archdep_exit.c:68:6: warning: no previous prototype for ‘archdep_is_exiting’ [-Wmissing-prototypes]
 bool archdep_is_exiting(void) {
      ^~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_haiku.c:54:5: warning: no previous prototype for ‘archdep_is_haiku’ [-Wmissing-prototypes]
 int archdep_is_haiku(void)
     ^~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_windows_nt.c:60:5: warning: no previous prototype for ‘archdep_is_windows_nt’ [-Wmissing-prototypes]
 int archdep_is_windows_nt(void)
     ^~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_is_macos_bindist.c:34:5: warning: no previous prototype for ‘archdep_is_macos_bindist’ [-Wmissing-prototypes]
 int archdep_is_macos_bindist(void) {
     ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/archdep_rtc_get_centisecond.c:53:5: warning: no previous prototype for ‘archdep_rtc_get_centisecond’ [-Wmissing-prototypes]
 int archdep_rtc_get_centisecond(void)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:114:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter_open’ [-Wmissing-prototypes]
 int rawnet_arch_pcap_enumadapter_open(void)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:148:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter’ [-Wmissing-prototypes]
 int rawnet_arch_pcap_enumadapter(char **ppname, char **ppdescription)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:176:5: warning: no previous prototype for ‘rawnet_arch_pcap_enumadapter_close’ [-Wmissing-prototypes]
 int rawnet_arch_pcap_enumadapter_close(void)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:228:6: warning: no previous prototype for ‘rawnet_arch_pcap_pre_reset’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_pre_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:232:6: warning: no previous prototype for ‘rawnet_arch_pcap_post_reset’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_post_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:236:5: warning: no previous prototype for ‘rawnet_arch_pcap_activate’ [-Wmissing-prototypes]
 int rawnet_arch_pcap_activate(const char *interface_name)
     ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:244:6: warning: no previous prototype for ‘rawnet_arch_pcap_deactivate’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_deactivate( void )
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:248:6: warning: no previous prototype for ‘rawnet_arch_pcap_set_mac’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_set_mac( const uint8_t mac[6] )
      ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:252:6: warning: no previous prototype for ‘rawnet_arch_pcap_set_hashfilter’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_set_hashfilter(const uint32_t hash_mask[2])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:263:6: warning: no previous prototype for ‘rawnet_arch_pcap_recv_ctl’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_recv_ctl(int bBroadcast, int bIA, int bMulticast, int bCorrect, int bPromiscuous, int bIAHash)
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:267:6: warning: no previous prototype for ‘rawnet_arch_pcap_line_ctl’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_line_ctl(int bEnableTransmitter, int bEnableReceiver )
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:443:6: warning: no previous prototype for ‘rawnet_arch_pcap_transmit’ [-Wmissing-prototypes]
 void rawnet_arch_pcap_transmit(int force, int onecoll, int inhibit_crc,
      ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:489:5: warning: no previous prototype for ‘rawnet_arch_pcap_receive’ [-Wmissing-prototypes]
 int rawnet_arch_pcap_receive(uint8_t *pbuffer, int *plen, int  *phashed,
     ^~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_unix.c:546:7: warning: no previous prototype for ‘rawnet_arch_pcap_get_standard_interface’ [-Wmissing-prototypes]
 char *rawnet_arch_pcap_get_standard_interface(void)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:68:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter_open’ [-Wmissing-prototypes]
 int rawnet_arch_tuntap_enumadapter_open(void)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:91:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter’ [-Wmissing-prototypes]
 int rawnet_arch_tuntap_enumadapter(char **ppname, char **ppdescription)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:108:5: warning: no previous prototype for ‘rawnet_arch_tuntap_enumadapter_close’ [-Wmissing-prototypes]
 int rawnet_arch_tuntap_enumadapter_close(void)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:149:6: warning: no previous prototype for ‘rawnet_arch_tuntap_pre_reset’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_pre_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:153:6: warning: no previous prototype for ‘rawnet_arch_tuntap_post_reset’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_post_reset(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:157:5: warning: no previous prototype for ‘rawnet_arch_tuntap_activate’ [-Wmissing-prototypes]
 int rawnet_arch_tuntap_activate(const char *interface_name)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:165:6: warning: no previous prototype for ‘rawnet_arch_tuntap_deactivate’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_deactivate(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:171:6: warning: no previous prototype for ‘rawnet_arch_tuntap_set_mac’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_set_mac(const uint8_t mac[6])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:175:6: warning: no previous prototype for ‘rawnet_arch_tuntap_set_hashfilter’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_set_hashfilter(const uint32_t hash_mask[2])
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:186:6: warning: no previous prototype for ‘rawnet_arch_tuntap_recv_ctl’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_recv_ctl(int bBroadcast, int bIA, int bMulticast, int bCorrect, int bPromiscuous, int bIAHash)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:190:6: warning: no previous prototype for ‘rawnet_arch_tuntap_line_ctl’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_line_ctl(int bEnableTransmitter, int bEnableReceiver )
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:203:6: warning: no previous prototype for ‘rawnet_arch_tuntap_transmit’ [-Wmissing-prototypes]
 void rawnet_arch_tuntap_transmit(int force, int onecoll, int inhibit_crc,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:253:5: warning: no previous prototype for ‘rawnet_arch_tuntap_receive’ [-Wmissing-prototypes]
 int rawnet_arch_tuntap_receive(uint8_t *pbuffer, int *plen, int  *phashed,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/shared/rawnetarch_tuntap.c:311:7: warning: no previous prototype for ‘rawnet_arch_tuntap_get_standard_interface’ [-Wmissing-prototypes]
 char *rawnet_arch_tuntap_get_standard_interface(void)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Making all in gtk3
Making all in data
Making all in macos
Making all in unix
Making all in win32
Making all in novte
Making all in widgets
Making all in base
../../../../../../vice/src/arch/gtk3/widgets/base/resourcecheckbutton.c:340:10: warning: no previous prototype for ‘vice_gtk3_resource_check_button_apply’ [-Wmissing-prototypes]
 gboolean vice_gtk3_resource_check_button_apply(GtkWidget *widget)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/dirmenupopup.c:140:6: warning: no previous prototype for ‘dir_item_apply_style’ [-Wmissing-prototypes]
 void dir_item_apply_style(GtkWidget *item)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:67:12: warning: no previous prototype for ‘pet_rama_widget_create’ [-Wmissing-prototypes]
 GtkWidget *pet_rama_widget_create(void)
            ^~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:92:6: warning: no previous prototype for ‘pet_rama_widget_set_callback’ [-Wmissing-prototypes]
 void pet_rama_widget_set_callback(GtkWidget *widget,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petramawidget.c:103:6: warning: no previous prototype for ‘pet_rama_widget_sync’ [-Wmissing-prototypes]
 void pet_rama_widget_sync(GtkWidget *widget)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:66:12: warning: no previous prototype for ‘pet_ram9_widget_create’ [-Wmissing-prototypes]
 GtkWidget *pet_ram9_widget_create(void)
            ^~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:90:6: warning: no previous prototype for ‘pet_ram9_widget_set_callback’ [-Wmissing-prototypes]
 void pet_ram9_widget_set_callback(GtkWidget *widget,
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/petram9widget.c:101:6: warning: no previous prototype for ‘pet_ram9_widget_sync’ [-Wmissing-prototypes]
 void pet_ram9_widget_sync(GtkWidget *widget)
      ^~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/settings_fsdevice.c:65:12: warning: no previous prototype for ‘create_stack_child_widget’ [-Wmissing-prototypes]
 GtkWidget *create_stack_child_widget(int unit)
            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/settings_host_display.c:152:12: warning: no previous prototype for ‘settings_host_display_widget_create’ [-Wmissing-prototypes]
 GtkWidget *settings_host_display_widget_create(GtkWidget *widget)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../../vice/src/arch/gtk3/widgets/sidcartwidget.c:220:12: warning: no previous prototype for ‘create_sidcart_joy_widget’ [-Wmissing-prototypes]
 GtkWidget *create_sidcart_joy_widget(void)
            ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/ui.c:1872:10: warning: no previous prototype for ‘ui_jam_dialog_impl’ [-Wmissing-prototypes]
 gboolean ui_jam_dialog_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/ui.c:1979:10: warning: no previous prototype for ‘ui_extendimage_dialog_impl’ [-Wmissing-prototypes]
 gboolean ui_extendimage_dialog_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/uisettings.c:2792:10: warning: no previous prototype for ‘ui_settings_dialog_create’ [-Wmissing-prototypes]
 gboolean ui_settings_dialog_create(GtkWidget *widget, gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/uisettings.c:2933:10: warning: no previous prototype for ‘ui_settings_dialog_create_and_activate_node_impl’ [-Wmissing-prototypes]
 gboolean ui_settings_dialog_create_and_activate_node_impl(gpointer user_data)
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/vice_gtk3_locking.c:37:6: warning: no previous prototype for ‘vice_gtk3_lock’ [-Wmissing-prototypes]
 void vice_gtk3_lock(gpointer data, GClosure *closure)
      ^~~~~~~~~~~~~~
../../../../vice/src/arch/gtk3/vice_gtk3_locking.c:46:6: warning: no previous prototype for ‘vice_gtk3_unlock’ [-Wmissing-prototypes]
 void vice_gtk3_unlock(gpointer data, GClosure *closure)
      ^~~~~~~~~~~~~~~~
Making all in lib
Making all in p64
Making all in linenoise-ng
Making all in hvsc
Making all in datasette
../../../vice/src/datasette/datasette-sound.c:55:6: warning: no previous prototype for ‘datasette_sound_set_halfwaves’ [-Wmissing-prototypes]
 void datasette_sound_set_halfwaves(char halfwaves)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/datasette/datasette-sound.c:60:6: warning: no previous prototype for ‘datasette_sound_add_to_circular_buffer’ [-Wmissing-prototypes]
 void datasette_sound_add_to_circular_buffer(CLOCK gap)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vice/src/datasette/datasette-sound.c:200:6: warning: no previous prototype for ‘datasette_sound_init’ [-Wmissing-prototypes]
 void datasette_sound_init(void)
      ^~~~~~~~~~~~~~~~~~~~
Making all in tools
Making all in cartconv
Making all in petcat
../../vice/src/c1541.c:228:18: warning: no previous prototype for ‘file_system_get_vdrive’ [-Wmissing-prototypes]
 struct vdrive_s *file_system_get_vdrive(unsigned int unit)
                  ^~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:47:6: warning: no previous prototype for ‘cartridge_detach_image’ [-Wmissing-prototypes]
 void cartridge_detach_image(int type)
      ^~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:52:6: warning: no previous prototype for ‘cartridge_unset_default’ [-Wmissing-prototypes]
 void cartridge_unset_default(void)
      ^~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:61:5: warning: no previous prototype for ‘network_connected’ [-Wmissing-prototypes]
 int network_connected(void)
     ^~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:66:5: warning: no previous prototype for ‘network_get_mode’ [-Wmissing-prototypes]
 int network_get_mode(void)
     ^~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:75:6: warning: no previous prototype for ‘network_event_record’ [-Wmissing-prototypes]
 void network_event_record(unsigned int type, void *data, unsigned int size)
      ^~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:86:6: warning: no previous prototype for ‘ui_error’ [-Wmissing-prototypes]
 void ui_error(const char *format, ...)
      ^~~~~~~~
../../vice/src/c1541-stubs.c:91:6: warning: no previous prototype for ‘main_exit’ [-Wmissing-prototypes]
 void main_exit(void)
      ^~~~~~~~~
../../vice/src/c1541-stubs.c:96:6: warning: no previous prototype for ‘mainlock_is_vice_thread’ [-Wmissing-prototypes]
 bool mainlock_is_vice_thread(void)
      ^~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:102:6: warning: no previous prototype for ‘mainlock_initiate_shutdown’ [-Wmissing-prototypes]
 void mainlock_initiate_shutdown(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:107:6: warning: no previous prototype for ‘enable_text’ [-Wmissing-prototypes]
 void enable_text(void)
      ^~~~~~~~~~~
../../vice/src/c1541-stubs.c:111:6: warning: no previous prototype for ‘disable_text’ [-Wmissing-prototypes]
 void disable_text(void)
      ^~~~~~~~~~~~
../../vice/src/c1541-stubs.c:115:5: warning: no previous prototype for ‘machine_bus_device_attach’ [-Wmissing-prototypes]
 int machine_bus_device_attach(unsigned int device, const char *name,
     ^~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:153:6: warning: no previous prototype for ‘ui_error_string’ [-Wmissing-prototypes]
 void ui_error_string(const char *text)
      ^~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:157:6: warning: no previous prototype for ‘vsync_suspend_speed_eval’ [-Wmissing-prototypes]
 void vsync_suspend_speed_eval(void)
      ^~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:166:5: warning: no previous prototype for ‘machine_bus_lib_directory’ [-Wmissing-prototypes]
 int machine_bus_lib_directory(unsigned int unit, const char *pattern, uint8_t **buf)
     ^~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:171:5: warning: no previous prototype for ‘machine_bus_lib_read_sector’ [-Wmissing-prototypes]
 int machine_bus_lib_read_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:176:5: warning: no previous prototype for ‘machine_bus_lib_write_sector’ [-Wmissing-prototypes]
 int machine_bus_lib_write_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:181:14: warning: no previous prototype for ‘machine_bus_device_type_get’ [-Wmissing-prototypes]
 unsigned int machine_bus_device_type_get(unsigned int unit)
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:186:5: warning: no previous prototype for ‘machine_drive_rom_check_loaded’ [-Wmissing-prototypes]
 int machine_drive_rom_check_loaded(unsigned int type)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:191:6: warning: no previous prototype for ‘machine_drive_flush’ [-Wmissing-prototypes]
 void machine_drive_flush(void)
      ^~~~~~~~~~~~~~~~~~~
../../vice/src/c1541-stubs.c:213:7: warning: no previous prototype for ‘kbd_get_menu_keyname’ [-Wmissing-prototypes]
 char *kbd_get_menu_keyname(void)
       ^~~~~~~~~~~~~~~~~~~~
Making all in build
...
  • 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