aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2025-01-30 18:36:02 +0100
committerAndre Weissflog <floooh@gmail.com>2025-01-30 18:36:02 +0100
commitadf2c22d94c3bc8f2593b0fc3b63e29ed360510f (patch)
tree43b06484139a7c064808346023acea36098a4a86
parent7476b7fcc7df55fbac1c37a49fa37b4a87a62cbc (diff)
add -Wextra-semi to CI tests and fix resulting warnings
-rw-r--r--sokol_app.h32
-rw-r--r--sokol_audio.h14
-rw-r--r--sokol_fetch.h4
-rw-r--r--sokol_log.h2
-rw-r--r--tests/CMakeLists.txt9
-rw-r--r--tests/functional/sokol_test.c2
-rw-r--r--util/sokol_imgui.h2
-rw-r--r--util/sokol_nuklear.h2
8 files changed, 36 insertions, 31 deletions
diff --git a/sokol_app.h b/sokol_app.h
index e1e1bed9..6cfbd87e 100644
--- a/sokol_app.h
+++ b/sokol_app.h
@@ -4863,7 +4863,7 @@ _SOKOL_PRIVATE void _sapp_ios_show_keyboard(bool shown) {
#if defined(_SAPP_EMSCRIPTEN)
#if defined(EM_JS_DEPS)
-EM_JS_DEPS(sokol_app, "$withStackSave,$stringToUTF8OnStack,$findCanvasEventTarget");
+EM_JS_DEPS(sokol_app, "$withStackSave,$stringToUTF8OnStack,$findCanvasEventTarget")
#endif
#ifdef __cplusplus
@@ -4970,11 +4970,11 @@ EM_JS(void, sapp_js_add_beforeunload_listener, (void), {
}
};
window.addEventListener('beforeunload', Module.sokol_beforeunload);
-});
+})
EM_JS(void, sapp_js_remove_beforeunload_listener, (void), {
window.removeEventListener('beforeunload', Module.sokol_beforeunload);
-});
+})
EM_JS(void, sapp_js_add_clipboard_listener, (void), {
Module.sokol_paste = (event) => {
@@ -4985,11 +4985,11 @@ EM_JS(void, sapp_js_add_clipboard_listener, (void), {
});
};
window.addEventListener('paste', Module.sokol_paste);
-});
+})
EM_JS(void, sapp_js_remove_clipboard_listener, (void), {
window.removeEventListener('paste', Module.sokol_paste);
-});
+})
EM_JS(void, sapp_js_write_clipboard, (const char* c_str), {
const str = UTF8ToString(c_str);
@@ -5007,7 +5007,7 @@ EM_JS(void, sapp_js_write_clipboard, (const char* c_str), {
ta.select();
document.execCommand('copy');
document.body.removeChild(ta);
-});
+})
_SOKOL_PRIVATE void _sapp_emsc_set_clipboard_string(const char* str) {
sapp_js_write_clipboard(str);
@@ -5053,7 +5053,7 @@ EM_JS(void, sapp_js_add_dragndrop_listeners, (void), {
canvas.addEventListener('dragleave', Module.sokol_dragleave, false);
canvas.addEventListener('dragover', Module.sokol_dragover, false);
canvas.addEventListener('drop', Module.sokol_drop, false);
-});
+})
EM_JS(uint32_t, sapp_js_dropped_file_size, (int index), {
\x2F\x2A\x2A @suppress {missingProperties} \x2A\x2F
@@ -5064,7 +5064,7 @@ EM_JS(uint32_t, sapp_js_dropped_file_size, (int index), {
else {
return files[index].size;
}
-});
+})
EM_JS(void, sapp_js_fetch_dropped_file, (int index, _sapp_html5_fetch_callback callback, void* buf_ptr, uint32_t buf_size, void* user_data), {
const reader = new FileReader();
@@ -5086,7 +5086,7 @@ EM_JS(void, sapp_js_fetch_dropped_file, (int index, _sapp_html5_fetch_callback c
\x2F\x2A\x2A @suppress {missingProperties} \x2A\x2F
const files = Module.sokol_dropped_files;
reader.readAsArrayBuffer(files[index]);
-});
+})
EM_JS(void, sapp_js_remove_dragndrop_listeners, (void), {
\x2F\x2A\x2A @suppress {missingProperties} \x2A\x2F
@@ -5095,7 +5095,7 @@ EM_JS(void, sapp_js_remove_dragndrop_listeners, (void), {
canvas.removeEventListener('dragleave', Module.sokol_dragleave);
canvas.removeEventListener('dragover', Module.sokol_dragover);
canvas.removeEventListener('drop', Module.sokol_drop);
-});
+})
EM_JS(void, sapp_js_init, (const char* c_str_target_selector, const char* c_str_document_title), {
if (c_str_document_title !== 0) {
@@ -5116,7 +5116,7 @@ EM_JS(void, sapp_js_init, (const char* c_str_target_selector, const char* c_str_
if (!Module.sapp_emsc_target.requestPointerLock) {
console.warn("sokol_app.h: target doesn't support requestPointerLock: ", target_selector_str);
}
-});
+})
_SOKOL_PRIVATE EM_BOOL _sapp_emsc_pointerlockchange_cb(int emsc_type, const EmscriptenPointerlockChangeEvent* emsc_event, void* user_data) {
_SOKOL_UNUSED(emsc_type);
@@ -5140,13 +5140,13 @@ EM_JS(void, sapp_js_request_pointerlock, (void), {
Module.sapp_emsc_target.requestPointerLock();
}
}
-});
+})
EM_JS(void, sapp_js_exit_pointerlock, (void), {
if (document.exitPointerLock) {
document.exitPointerLock();
}
-});
+})
_SOKOL_PRIVATE void _sapp_emsc_lock_mouse(bool lock) {
if (lock) {
@@ -5193,7 +5193,7 @@ EM_JS(void, sapp_js_set_cursor, (int cursor_type, int shown), {
}
Module.sapp_emsc_target.style.cursor = cursor;
}
-});
+})
_SOKOL_PRIVATE void _sapp_emsc_update_cursor(sapp_mouse_cursor cursor, bool shown) {
SOKOL_ASSERT((cursor >= 0) && (cursor < _SAPP_MOUSECURSOR_NUM));
@@ -5206,7 +5206,7 @@ EM_JS(void, sapp_js_clear_favicon, (void), {
if (link) {
document.head.removeChild(link);
}
-});
+})
EM_JS(void, sapp_js_set_favicon, (int w, int h, const uint8_t* pixels), {
const canvas = document.createElement('canvas');
@@ -5221,7 +5221,7 @@ EM_JS(void, sapp_js_set_favicon, (int w, int h, const uint8_t* pixels), {
new_link.rel = 'shortcut icon';
new_link.href = canvas.toDataURL();
document.head.appendChild(new_link);
-});
+})
_SOKOL_PRIVATE void _sapp_emsc_set_icon(const sapp_icon_desc* icon_desc, int num_images) {
SOKOL_ASSERT((num_images > 0) && (num_images <= SAPP_MAX_ICONIMAGES));
diff --git a/sokol_audio.h b/sokol_audio.h
index 960c42da..717a9b99 100644
--- a/sokol_audio.h
+++ b/sokol_audio.h
@@ -1431,8 +1431,8 @@ _SOKOL_PRIVATE int _saudio_fifo_read(_saudio_fifo_t* fifo, uint8_t* ptr, int num
_SOKOL_PRIVATE bool _saudio_dummy_backend_init(void) {
_saudio.bytes_per_frame = _saudio.num_channels * (int)sizeof(float);
return true;
-};
-_SOKOL_PRIVATE void _saudio_dummy_backend_shutdown(void) { };
+}
+_SOKOL_PRIVATE void _saudio_dummy_backend_shutdown(void) { }
// █████ ██ ███████ █████
// ██ ██ ██ ██ ██ ██
@@ -1851,7 +1851,7 @@ EM_JS(int, saudio_js_init, (int sample_rate, int num_channels, int buffer_size),
else {
return 0;
}
-});
+})
/* shutdown the WebAudioContext and ScriptProcessorNode */
EM_JS(void, saudio_js_shutdown, (void), {
@@ -1865,7 +1865,7 @@ EM_JS(void, saudio_js_shutdown, (void), {
Module._saudio_context = null;
Module._saudio_node = null;
}
-});
+})
/* get the actual sample rate back from the WebAudio context */
EM_JS(int, saudio_js_sample_rate, (void), {
@@ -1875,7 +1875,7 @@ EM_JS(int, saudio_js_sample_rate, (void), {
else {
return 0;
}
-});
+})
/* get the actual buffer size in number of frames */
EM_JS(int, saudio_js_buffer_frames, (void), {
@@ -1885,7 +1885,7 @@ EM_JS(int, saudio_js_buffer_frames, (void), {
else {
return 0;
}
-});
+})
/* return 1 if the WebAudio context is currently suspended, else 0 */
EM_JS(int, saudio_js_suspended, (void), {
@@ -1897,7 +1897,7 @@ EM_JS(int, saudio_js_suspended, (void), {
return 0;
}
}
-});
+})
_SOKOL_PRIVATE bool _saudio_webaudio_backend_init(void) {
if (saudio_js_init(_saudio.sample_rate, _saudio.num_channels, _saudio.buffer_frames)) {
diff --git a/sokol_fetch.h b/sokol_fetch.h
index d2f989ae..b0da19d1 100644
--- a/sokol_fetch.h
+++ b/sokol_fetch.h
@@ -2213,7 +2213,7 @@ EM_JS(void, sfetch_js_send_head_request, (uint32_t slot_id, const char* path_cst
}
};
req.send();
-});
+})
/* if bytes_to_read != 0, a range-request will be sent, otherwise a normal request */
EM_JS(void, sfetch_js_send_get_request, (uint32_t slot_id, const char* path_cstr, uint32_t offset, uint32_t bytes_to_read, void* buf_ptr, uint32_t buf_size), {
@@ -2244,7 +2244,7 @@ EM_JS(void, sfetch_js_send_get_request, (uint32_t slot_id, const char* path_cstr
}
};
req.send();
-});
+})
/*=== emscripten specific C helper functions =================================*/
#ifdef __cplusplus
diff --git a/sokol_log.h b/sokol_log.h
index 0e1bdb64..10a70c65 100644
--- a/sokol_log.h
+++ b/sokol_log.h
@@ -245,7 +245,7 @@ EM_JS(void, slog_js_log, (uint32_t level, const char* c_str), {
case 2: console.warn(str); break;
default: console.info(str); break;
}
-});
+})
#endif
SOKOL_API_IMPL void slog_func(const char* tag, uint32_t log_level, uint32_t log_item, const char* message, uint32_t line_nr, const char* filename, void* user_data) {
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 89e01a7f..dff7ebf8 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -51,12 +51,17 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
set(c_flags ${c_flags} /W4 /WX /D_CRT_SECURE_NO_WARNINGS)
set(cxx_flags ${cxx_flags} /W4 /WX /EHsc /D_CRT_SECURE_NO_WARNINGS)
else()
- set(c_flags ${c_flags} -Wall -Wextra -Werror -Wsign-conversion -Wstrict-prototypes)
- set(cxx_flags ${cxx_flags} -Wall -Wextra -Werror -Wsign-conversion -fno-rtti -fno-exceptions)
+ set(c_flags ${c_flags} -Wall -Wextra -Werror -Wsign-conversion -Wstrict-prototypes -Wextra-semi)
+ set(cxx_flags ${cxx_flags} -Wall -Wextra -Werror -Wsign-conversion -fno-rtti -fno-exceptions -Wextra-semi)
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(c_flags ${c_flags} -Wno-missing-field-initializers)
set(cxx_flags ${cxx_flags} -Wno-missing-field-initializers)
endif()
+ if (OSX_IOS)
+ # temp fix for PVRTC formats
+ set(c_flags ${c_flags} -Wno-deprecated-declarations)
+ set(cxx_flags ${cxx_flags} -Wno-deprecated-declarations)
+ endif()
if (USE_ANALYZER)
# FIXME: consider using clang-tidy via CMAKE_CXX_CLANG_TIDY: https://ortogonal.github.io/cmake-clang-tidy/
# with the default settings this spams the output with irrelevant C++ coding style warnings in 3rd party libs though
diff --git a/tests/functional/sokol_test.c b/tests/functional/sokol_test.c
index 29528b68..88b0d29e 100644
--- a/tests/functional/sokol_test.c
+++ b/tests/functional/sokol_test.c
@@ -4,4 +4,4 @@
//------------------------------------------------------------------------------
#include "utest.h"
-UTEST_MAIN();
+UTEST_MAIN()
diff --git a/util/sokol_imgui.h b/util/sokol_imgui.h
index f646184b..66a189ee 100644
--- a/util/sokol_imgui.h
+++ b/util/sokol_imgui.h
@@ -2233,7 +2233,7 @@ EM_JS(int, simgui_js_is_osx, (void), {
} else {
return 0;
}
-});
+})
#endif
// ██ ██████ ██████ ██████ ██ ███ ██ ██████
diff --git a/util/sokol_nuklear.h b/util/sokol_nuklear.h
index 637dd66a..8664bf37 100644
--- a/util/sokol_nuklear.h
+++ b/util/sokol_nuklear.h
@@ -2215,7 +2215,7 @@ EM_JS(int, snk_js_is_osx, (void), {
} else {
return 0;
}
-});
+})
#endif
static bool _snk_is_osx(void) {