From 10cc122925bd4e1b1ab52db34b608edd77821cc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Sun, 21 Mar 2021 01:59:46 +0100 Subject: [PATCH] fix Clang/WinSDK warnings --- CMakeLists.txt | 12 +++++++++++- src/chipset/headland.c | 2 +- src/chipset/umc_hb4.c | 2 +- src/chipset/wd76c10.c | 2 +- src/cpu/386_common.c | 2 +- src/cpu/cpu.h | 2 +- src/cpu/x87_ops.h | 12 ++++++++---- src/device/hwm_lm78.c | 2 +- src/machine/machine_table.c | 2 +- src/network/net_pcnet.c | 5 ----- src/network/slirp/util.h | 2 +- src/nvr_at.c | 2 +- src/printer/prt_escp.c | 4 ++-- src/sio/sio_pc87311.c | 2 +- src/sio/sio_w83877f.c | 20 ++++++-------------- src/sound/munt/Structures.h | 2 +- src/win/win.c | 1 + src/win/win_dialog.c | 2 +- 18 files changed, 40 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f835d2d7..856400ff0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,17 @@ include(CPack) include(CMakeDependentOption) add_compile_definitions(CMAKE) -add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + +if(WIN32) + # Disables *_s function warnings + add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + + # Disables POSIX name warnings + add_compile_definitions(_CRT_NONSTDC_NO_WARNINGS) + + # Disables WinSock deprecation warnings + add_compile_definitions(_WINSOCK_DEPRECATED_NO_WARNINGS) +endif() option(RELEASE "Release build" OFF) option(USB "USB support" OFF) diff --git a/src/chipset/headland.c b/src/chipset/headland.c index 333dcd009..d936b69cf 100644 --- a/src/chipset/headland.c +++ b/src/chipset/headland.c @@ -132,7 +132,7 @@ get_addr(headland_t *dev, uint32_t addr, headland_mr_t *mr) if (mr && mr->valid && (dev->cr[0] & 2) && (mr->mr & 0x200)) { addr = (addr & 0x3fff) | ((mr->mr & 0x1F) << 14); - bank = (mr->mr >> 7) && 3; + bank = (mr->mr >> 7) & 3; if (bank_shift[bank] >= 21) addr |= (mr->mr & 0x060) << 14; diff --git a/src/chipset/umc_hb4.c b/src/chipset/umc_hb4.c index a2df0b4fc..a6bbaefa3 100644 --- a/src/chipset/umc_hb4.c +++ b/src/chipset/umc_hb4.c @@ -366,7 +366,7 @@ hb4_init(const device_t *info) hb4_t *dev = (hb4_t *)malloc(sizeof(hb4_t)); memset(dev, 0, sizeof(hb4_t)); - dev->has_ide = (info->local && 0x886a); + dev->has_ide = (info->local & 0x886a); pci_add_card(PCI_ADD_NORTHBRIDGE, um8881_read, um8881_write, dev); /* Device 10: UMC 8881x */ pci_add_card(PCI_ADD_SOUTHBRIDGE, um8886_read, um8886_write, dev); /* Device 12: UMC 8886xx */ diff --git a/src/chipset/wd76c10.c b/src/chipset/wd76c10.c index 3be448267..9d4f95d80 100644 --- a/src/chipset/wd76c10.c +++ b/src/chipset/wd76c10.c @@ -332,7 +332,7 @@ wd76c10_write(uint16_t addr, uint16_t val, void *priv) case 0xf073: dev->lock_reg = val & 0x00ff; - LOCK = !(val && 0x00da); + LOCK = !(val & 0x00da); break; } } diff --git a/src/cpu/386_common.c b/src/cpu/386_common.c index 5ae3304bf..1800aad71 100644 --- a/src/cpu/386_common.c +++ b/src/cpu/386_common.c @@ -1060,7 +1060,7 @@ enter_smm(int in_hlt) smram_recalc_all(0); if (cpu_iscyrix) { - if (!cyrix.smhr & SMHR_VALID) + if (!(cyrix.smhr & SMHR_VALID)) cyrix.smhr = (cyrix.arr[3].base + cyrix.arr[3].size) | SMHR_VALID; smram_state = cyrix.smhr & SMHR_ADDR_MASK; } diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index c97016e82..c340cbebb 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -268,7 +268,7 @@ typedef struct { int32_t rm_mod_reg_data; } rm_data; - int8_t ssegs, ismmx, + uint8_t ssegs, ismmx, abrt, pad; int _cycles; diff --git a/src/cpu/x87_ops.h b/src/cpu/x87_ops.h index 93df6daff..17861fa57 100644 --- a/src/cpu/x87_ops.h +++ b/src/cpu/x87_ops.h @@ -47,9 +47,13 @@ static int rounding_modes[4] = {FE_TONEAREST, FE_DOWNWARD, FE_UPWARD, FE_TOWARDZ #define STATUS_ZERODIVIDE 4 #if defined(_MSC_VER) && !defined(__clang__) -# define X87_INLINE_ASM defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86 +# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86 +# define X87_INLINE_ASM +# endif #else -# define X87_INLINE_ASM defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86 || defined _M_X64 || defined __amd64__ +# if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined _M_IX86 || defined _M_X64 || defined __amd64__ +# define X87_INLINE_ASM +# endif #endif #ifdef FPU_8087 @@ -317,7 +321,7 @@ static __inline void x87_stmmx(MMX_REG r) static __inline uint16_t x87_compare(double a, double b) { -#if X87_INLINE_ASM +#ifdef X87_INLINE_ASM uint32_t result; double ea = a, eb = b; const uint64_t ia = 0x3fec1a6ff866a936ull; @@ -379,7 +383,7 @@ static __inline uint16_t x87_compare(double a, double b) static __inline uint16_t x87_ucompare(double a, double b) { -#if X87_INLINE_ASM +#ifdef X87_INLINE_ASM uint32_t result; #if !defined(_MSC_VER) || defined(__clang__) diff --git a/src/device/hwm_lm78.c b/src/device/hwm_lm78.c index cdc9cbb0f..544718cf2 100644 --- a/src/device/hwm_lm78.c +++ b/src/device/hwm_lm78.c @@ -366,7 +366,7 @@ lm78_read(lm78_t *dev, uint8_t reg, uint8_t bank) else if ((masked_reg >= 0x28) && (masked_reg <= 0x2a)) /* fan speeds */ ret = LM78_RPM_TO_REG(dev->values->fans[reg & 3], 1 << ((dev->regs[((reg & 3) == 2) ? 0x4b : 0x47] >> ((reg & 3) ? 6 : 4)) & 0x3)); else if ((reg == 0x4f) && (dev->local & LM78_WINBOND)) /* two-byte vendor ID register */ - ret = (dev->regs[0x4e] & 0x80) ? (LM78_WINBOND_VENDOR_ID >> 8) : LM78_WINBOND_VENDOR_ID; + ret = (dev->regs[0x4e] & 0x80) ? (uint8_t) (LM78_WINBOND_VENDOR_ID >> 8) : (uint8_t) LM78_WINBOND_VENDOR_ID; else ret = dev->regs[masked_reg]; } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index d4292ece0..1972bfcc0 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -451,7 +451,7 @@ const machine_t machines[] = { int machine_count(void) { - return((sizeof(machines) / sizeof(machine)) - 1); + return((sizeof(machines) / sizeof(machine_t)) - 1); } diff --git a/src/network/net_pcnet.c b/src/network/net_pcnet.c index 478a51282..40d2dec6e 100644 --- a/src/network/net_pcnet.c +++ b/src/network/net_pcnet.c @@ -1997,11 +1997,6 @@ pcnet_csr_readw(nic_t *dev, uint16_t rap) return pcnet_bcr_readw(dev,BCR_SWS); case 68: /* Custom register to pass link speed to driver */ return pcnetLinkSpd(dev->u32LinkSpeed); - case 88: - val = dev->aCSR[89]; - val <<= 16; - val |= dev->aCSR[88]; - break; default: val = dev->aCSR[rap]; break; diff --git a/src/network/slirp/util.h b/src/network/slirp/util.h index 4a5c5d88a..951bfc57d 100644 --- a/src/network/slirp/util.h +++ b/src/network/slirp/util.h @@ -48,7 +48,7 @@ #if defined(_MSC_VER) && !defined(__clang__) #define SLIRP_PACKED -#elif defined(_WIN32) && (defined(__x86_64__) || defined(__i386__)) +#elif defined(_WIN32) && (defined(__x86_64__) || defined(__i386__)) && !defined(__clang__) #define SLIRP_PACKED __attribute__((gcc_struct, packed)) #else #define SLIRP_PACKED __attribute__((packed)) diff --git a/src/nvr_at.c b/src/nvr_at.c index e7a3f7f4e..d5c271070 100644 --- a/src/nvr_at.c +++ b/src/nvr_at.c @@ -675,7 +675,7 @@ nvr_read(uint16_t addr, void *priv) cycles -= ISA_CYCLES(8); - if (/* (addr & 1) && */(local->bank[addr_id] == 0xff)) + if (local->bank[addr_id] == 0xff) return 0xff; if (addr & 1) switch(local->addr[addr_id]) { diff --git a/src/printer/prt_escp.c b/src/printer/prt_escp.c index 953862c04..6379117ba 100644 --- a/src/printer/prt_escp.c +++ b/src/printer/prt_escp.c @@ -520,7 +520,7 @@ reset_printer(escp_t *dev) for (i = 0; i < 32; i++) dev->horizontal_tabs[i] = i * 8.0 * (1.0 / dev->cpi); dev->num_horizontal_tabs = 32; - dev->num_vertical_tabs = 255; + dev->num_vertical_tabs = -1; if (dev->page != NULL) dev->page->dirty = 0; @@ -885,7 +885,7 @@ process_char(escp_t *dev, uint8_t ch) (dev->num_vertical_tabs > 0 && dev->vertical_tabs[dev->num_vertical_tabs - 1] > (double)ch * dev->linespacing)) { dev->esc_pending = 0; } else { - if (dev->num_vertical_tabs < 16) + if (dev->num_vertical_tabs >= 0 && dev->num_vertical_tabs < 16) dev->vertical_tabs[dev->num_vertical_tabs++] = (double)ch * dev->linespacing; } } diff --git a/src/sio/sio_pc87311.c b/src/sio/sio_pc87311.c index 2fff65d6c..c4cbe2056 100644 --- a/src/sio/sio_pc87311.c +++ b/src/sio/sio_pc87311.c @@ -161,7 +161,7 @@ void pc87311_uart_handler(uint8_t num, pc87311_t *dev) { serial_remove(dev->uart[num & 1]); - switch ((!num & 1) ? UART1_BA : UART2_BA) + switch (!(num & 1) ? UART1_BA : UART2_BA) { case 0: dev->base = 0x03f8; diff --git a/src/sio/sio_w83877f.c b/src/sio/sio_w83877f.c index a808a0d59..a053ff371 100644 --- a/src/sio/sio_w83877f.c +++ b/src/sio/sio_w83877f.c @@ -190,20 +190,12 @@ w83877f_serial_handler(w83877f_t *dev, int uart) if (!(dev->regs[4] & reg_mask) && (dev->regs[reg_id] & 0xc0)) serial_setup(dev->uart[uart], make_port(dev, reg_id), (dev->regs[0x28] & irq_mask) >> irq_shift); - switch (!!(dev->regs[0x19] & (0x02 >> uart))) { - case 0: - switch (!!(dev->regs[0x03] & (0x02 >> uart))) { - case 0: - clock_src = 24000000.0 / 13.0; - break; - case 1: - clock_src = 24000000.0 / 12.0; - break; - } - break; - case 1: - clock_src = 14769000.0; - break; + if (dev->regs[0x19] & (0x02 >> uart)) { + clock_src = 14769000.0; + } else if (dev->regs[0x03] & (0x02 >> uart)) { + clock_src = 24000000.0 / 12.0; + } else { + clock_src = 24000000.0 / 13.0; } serial_set_clock_src(dev->uart[uart], clock_src); diff --git a/src/sound/munt/Structures.h b/src/sound/munt/Structures.h index de7281b16..8202c44b9 100644 --- a/src/sound/munt/Structures.h +++ b/src/sound/munt/Structures.h @@ -28,7 +28,7 @@ namespace MT32Emu { #define MT32EMU_MEMADDR(x) ((((x) & 0x7f0000) >> 2) | (((x) & 0x7f00) >> 1) | ((x) & 0x7f)) #define MT32EMU_SYSEXMEMADDR(x) ((((x) & 0x1FC000) << 2) | (((x) & 0x3F80) << 1) | ((x) & 0x7f)) -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) #define MT32EMU_ALIGN_PACKED __declspec(align(1)) #else #define MT32EMU_ALIGN_PACKED __attribute__((packed)) diff --git a/src/win/win.c b/src/win/win.c index da9e4028b..b8c78eb73 100644 --- a/src/win/win.c +++ b/src/win/win.c @@ -32,6 +32,7 @@ #include #include #include +#include #define HAVE_STDARG_H #include <86box/86box.h> #include <86box/config.h> diff --git a/src/win/win_dialog.c b/src/win/win_dialog.c index 83f19b4f1..6aa5bcfea 100644 --- a/src/win/win_dialog.c +++ b/src/win/win_dialog.c @@ -35,7 +35,7 @@ -#define STRING_OR_RESOURCE(s) ((!(s)) ? (NULL) : ((((uintptr_t)s) < ((uintptr_t)65636)) ? (MAKEINTRESOURCE(s)) : (s))) +#define STRING_OR_RESOURCE(s) ((!(s)) ? (NULL) : ((((uintptr_t)s) < ((uintptr_t)65636)) ? (MAKEINTRESOURCE((uintptr_t)s)) : (s))) WCHAR wopenfilestring[512];