diff --git a/repos/libports/lib/mk/libdrm.inc b/repos/libports/lib/mk/libdrm.inc index 948d317460..c2b873a469 100644 --- a/repos/libports/lib/mk/libdrm.inc +++ b/repos/libports/lib/mk/libdrm.inc @@ -30,4 +30,4 @@ vpath %.c $(LIBDRM_PORT_DIR) vpath %.c $(LIB_DIR) vpath %.cc $(LIB_DIR) -CC_CXX_WARN_STRICE := +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/lib/mk/vfs_lwip.mk b/repos/libports/lib/mk/vfs_lwip.mk index 03191da607..b71b7174f6 100644 --- a/repos/libports/lib/mk/vfs_lwip.mk +++ b/repos/libports/lib/mk/vfs_lwip.mk @@ -9,3 +9,5 @@ LIBS += lwip vpath %.cc $(VFS_DIR) SHARED_LIB = yes + +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/lib/mk/vfs_oss.mk b/repos/libports/lib/mk/vfs_oss.mk index 9bcfbbfaa6..8ae7fc8bbc 100644 --- a/repos/libports/lib/mk/vfs_oss.mk +++ b/repos/libports/lib/mk/vfs_oss.mk @@ -5,3 +5,5 @@ vpath %.cc $(REP_DIR)/src/lib/vfs/oss LIBS := libc SHARED_LIB := yes + +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/src/app/extract/main.cc b/repos/libports/src/app/extract/main.cc index 84a659eb84..5eb435f799 100644 --- a/repos/libports/src/app/extract/main.cc +++ b/repos/libports/src/app/extract/main.cc @@ -16,6 +16,8 @@ #include /* libc includes */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" #include #include @@ -23,6 +25,8 @@ #include #include +#pragma GCC diagnostic pop /* restore -Wconversion warnings */ + namespace Extract { using namespace Genode; struct Extracted_archive; diff --git a/repos/libports/src/app/fetchurl/component.cc b/repos/libports/src/app/fetchurl/component.cc index eacb93febb..e7966de5e8 100644 --- a/repos/libports/src/app/fetchurl/component.cc +++ b/repos/libports/src/app/fetchurl/component.cc @@ -1,5 +1,5 @@ /* - * \brief Native fetchurl utility for Nix + * \brief Native fetchurl utility * \author Emery Hemingway * \date 2016-03-08 */ @@ -19,15 +19,20 @@ #include #include +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" + /* cURL includes */ #include -/* Libc includes */ +/* libc includes */ #include #include #include #include +#pragma GCC diagnostic pop /* restore -Wconversion warnings */ + namespace Fetchurl { class Fetch; struct User_data; diff --git a/repos/libports/src/app/pdf_view/main.cc b/repos/libports/src/app/pdf_view/main.cc index deaeedd60d..75bf2ec4c3 100644 --- a/repos/libports/src/app/pdf_view/main.cc +++ b/repos/libports/src/app/pdf_view/main.cc @@ -25,6 +25,9 @@ #include #include +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" + /* MuPDF includes */ extern "C" { #include @@ -37,6 +40,7 @@ extern "C" { #include #include +#pragma GCC diagnostic pop /* restore -Wconversion warnings */ typedef Genode::Pixel_rgb888 pixel_t; @@ -58,7 +62,7 @@ static void copy_line_rgba(const unsigned char *rgba_src, static int pdf_select(const struct dirent *d) { char const *name = d->d_name; - int n = strlen(name); + size_t n = strlen(name); return (n > 4) ? (!strncmp(&name[n-4], ".pdf", 4)) : 0; diff --git a/repos/libports/src/app/sntp_client/target.mk b/repos/libports/src/app/sntp_client/target.mk index fe0e2f35b5..2119121940 100644 --- a/repos/libports/src/app/sntp_client/target.mk +++ b/repos/libports/src/app/sntp_client/target.mk @@ -15,3 +15,5 @@ SRC_C = secs_to_tm.c tm_to_secs.c INC_DIR += $(MUSL_TM) vpath %.c $(MUSL_TM) + +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/src/app/stdin2out/target.mk b/repos/libports/src/app/stdin2out/target.mk index 37cc877318..07ef7764f2 100644 --- a/repos/libports/src/app/stdin2out/target.mk +++ b/repos/libports/src/app/stdin2out/target.mk @@ -1,3 +1,5 @@ TARGET := stdin2out SRC_CC := main.cc LIBS += posix + +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/src/app/usb_webcam/main.cc b/repos/libports/src/app/usb_webcam/main.cc index 06ee4b6239..7be1a71843 100644 --- a/repos/libports/src/app/usb_webcam/main.cc +++ b/repos/libports/src/app/usb_webcam/main.cc @@ -21,6 +21,9 @@ #include #include +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" + /* libuv */ #include @@ -29,6 +32,7 @@ #include #include +#pragma GCC diagnostic pop /* restore -Wconversion warnings */ using namespace Genode; diff --git a/repos/libports/src/lib/lwip/platform/rand.cc b/repos/libports/src/lib/lwip/platform/rand.cc index f9e3fc2499..0472c619cf 100644 --- a/repos/libports/src/lib/lwip/platform/rand.cc +++ b/repos/libports/src/lib/lwip/platform/rand.cc @@ -24,7 +24,7 @@ genode_uint32_t genode_rand() state = oldstate * 6364136223846793005ULL + inc; // Calculate output function (XSH RR), uses old state for max ILP - uint32_t xorshifted = ((oldstate >> 18u) ^ oldstate) >> 27u; - uint32_t rot = oldstate >> 59u; + uint32_t xorshifted = (uint32_t)(((oldstate >> 18u) ^ oldstate) >> 27u); + uint32_t rot = (uint32_t)(oldstate >> 59u); return (xorshifted >> rot) | (xorshifted << ((-rot) & 31)); } diff --git a/repos/libports/src/lib/lwip/platform/sys_arch.cc b/repos/libports/src/lib/lwip/platform/sys_arch.cc index e57fb39589..39b708bb0c 100644 --- a/repos/libports/src/lib/lwip/platform/sys_arch.cc +++ b/repos/libports/src/lib/lwip/platform/sys_arch.cc @@ -106,7 +106,7 @@ extern "C" { } u32_t sys_now(void) { - return Lwip::sys_timer_ptr->timer.curr_time().trunc_to_plain_ms().value; } + return (u32_t)Lwip::sys_timer_ptr->timer.curr_time().trunc_to_plain_ms().value; } void genode_memcpy(void *dst, const void *src, size_t len) { Genode::memcpy(dst, src, len); } diff --git a/repos/libports/src/test/libc_integration/libc.h b/repos/libports/src/test/libc_integration/libc.h new file mode 100644 index 0000000000..c2416405f1 --- /dev/null +++ b/repos/libports/src/test/libc_integration/libc.h @@ -0,0 +1,31 @@ +/* + * \brief Libc includes for the libc_integration test + * \author Norman Feske + * \date 2021-12-10 + */ + +/* + * Copyright (C) 2021 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU Affero General Public License version 3. + */ + +#ifndef _LIBC_H_ +#define _LIBC_H_ + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wconversion" + +#include +#include +#include +#include +#include +#include +#include +#include + +#pragma GCC diagnostic pop /* restore -Wconversion warnings */ + +#endif /* _LIBC_H_ */ diff --git a/repos/libports/src/test/libc_integration/main.cc b/repos/libports/src/test/libc_integration/main.cc index 4dc4c1dec9..1a30083814 100644 --- a/repos/libports/src/test/libc_integration/main.cc +++ b/repos/libports/src/test/libc_integration/main.cc @@ -16,16 +16,11 @@ * under the terms of the GNU Affero General Public License version 3. */ - -/* libc includes */ -#include -#include -#include - /* stdcxx includes */ #include /* local includes */ +#include "libc.h" #include "definitions.h" #include "fd_set.h" #include "input_sender.h" diff --git a/repos/libports/src/test/libc_integration/thread.cc b/repos/libports/src/test/libc_integration/thread.cc index 6be17ce6c8..dbedbdf6d8 100644 --- a/repos/libports/src/test/libc_integration/thread.cc +++ b/repos/libports/src/test/libc_integration/thread.cc @@ -12,14 +12,11 @@ * under the terms of the GNU Affero General Public License version 3. */ -/* libc includes */ -#include -#include - /* stdcxx includes */ #include /* local includes */ +#include "libc.h" #include "thread.h" #include "fd_set.h" @@ -104,7 +101,7 @@ void *worker_func(void *ptr) } /* simulate output creation requiring some time */ - usleep(1000ull*random()%300); + usleep((unsigned)((1000ull*random()) % 300)); /* write remaining output bytes */ while (bytes_written < data_out.size()) { diff --git a/repos/libports/src/test/libc_vfs/target.mk b/repos/libports/src/test/libc_vfs/target.mk index 51f9740b39..2370240219 100644 --- a/repos/libports/src/test/libc_vfs/target.mk +++ b/repos/libports/src/test/libc_vfs/target.mk @@ -1,3 +1,5 @@ TARGET = test-libc_vfs LIBS = libc base SRC_CC = main.cc + +CC_CXX_WARN_STRICT_CONVERSION = diff --git a/repos/libports/src/test/memcpy/target.mk b/repos/libports/src/test/memcpy/target.mk index 0f56d703a4..7d7de2a6cb 100644 --- a/repos/libports/src/test/memcpy/target.mk +++ b/repos/libports/src/test/memcpy/target.mk @@ -1,3 +1,5 @@ TARGET = test-memcpy SRC_CC = main.cc LIBS += libc + +CC_CXX_WARN_STRICT_CONVERSION =