From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 315A3385843D; Sun, 27 Nov 2022 00:12:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 315A3385843D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669507945; bh=kADXAa6AG4QiGCrInuXgHmZTEvMtjkwimCZovoOFMHw=; h=From:To:Subject:Date:From; b=gM+XXEVEjLSwqrWuVDlLbIeF+nnWL1ldpeen8yE9M27LMTlvh6YdoH+Tc9Od1igzK InrVgb7DdKKeYd/dDelWjIy2LgvP9lW7xT7uLKFoyrTEFawqOc5zGgfhbpcAI3CQ3a KbBcBoJhV4ffirZBnyFbXGQH3G7O9edHab/U2VYM= From: "uaa at mx5 dot nisiq.net" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/107885] New: H8/300: libsupc++/hash_bytes.cc fix shift-count-overflow warning Date: Sun, 27 Nov 2022 00:12:24 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 12.2.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: uaa at mx5 dot nisiq.net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107885 Bug ID: 107885 Summary: H8/300: libsupc++/hash_bytes.cc fix shift-count-overflow warning Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: uaa at mx5 dot nisiq.net Target Milestone: --- Created attachment 53974 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D53974&action=3Dedit add cast to static_cast(buf[x]) On building gcc-12.2.0 with newlib-4.1.0 (newlib and libgloss) and binutils-2.36.1 on Debian-11.5/amd64. gcc/config/h8300/t-h8300 is modified with: MULTILIB_OPTIONS =3D ms/msx mint32 MULTILIB_DIRNAMES =3D h8300s h8sx int32 to disable building H8 normal mode library. gcc configuration is: ../configure --target=3Dh8300-unknown-elf --enable-languages=3Dc,c++ \ --prefix=3D/home/uaa/h8300 --with-newlib --disable-nls --disable-libssp= \ --disable-libgomp --disable-libstdcxx-pch \ --disable-libstdcxx-filesystem-ts --with-newlib --disable-wchar_t libstdc++-v3/libsupc++/hash_bytes.cc has warning, due to the size of int is 16bit (H8/300 default). /bin/bash ../libtool --tag CXX --tag disable-shared --mode=3Dcompile /home/uaa/gcc-12.2.0/h8300-unknown-elf/./gcc/xgcc -shared-libgcc -B/home/uaa/gcc-12.2.0/h8300-unknown-elf/./gcc -nostdinc++ -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/src -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/src/.libs -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/libsupc++/.libs -nostdinc -B/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/newlib/ -isystem /home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/newlib/targ= -include -isystem /home/uaa/gcc-12.2.0/newlib/libc/include -B/home/uaa/h8300/h8300-unknown-elf/bin/ -B/home/uaa/h8300/h8300-unknown-elf/lib/ -isystem /home/uaa/h8300/h8300-unknown-elf/include -isystem /home/uaa/h8300/h8300-unknown-elf/sys-include -ms -I/home/uaa/gcc-12.2.0/libstdc++-v3/../libgcc -I/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/include/h8300-unknown-elf -I/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/include -I/home/uaa/gcc-12.2.0/libstdc++-v3/libsupc++ -fno-implicit-templates=20 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=3D2=20 -fdiagnostics-show-location=3Donce -ffunction-sections -fdata-sections=20 -frandom-seed=3Dhash_bytes.lo -g -O2 -ms -c -o hash_bytes.lo ../../../../../libstdc++-v3/libsupc++/hash_bytes.cc libtool: compile: /home/uaa/gcc-12.2.0/h8300-unknown-elf/./gcc/xgcc -shared-libgcc -B/home/uaa/gcc-12.2.0/h8300-unknown-elf/./gcc -nostdinc++ -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/src -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/src/.libs -L/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/libsupc++/.libs -nostdinc -B/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/newlib/ -isystem /home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/newlib/targ= -include -isystem /home/uaa/gcc-12.2.0/newlib/libc/include -B/home/uaa/h8300/h8300-unknown-elf/bin/ -B/home/uaa/h8300/h8300-unknown-elf/lib/ -isystem /home/uaa/h8300/h8300-unknown-elf/include -isystem /home/uaa/h8300/h8300-unknown-elf/sys-include -ms -I/home/uaa/gcc-12.2.0/libstdc++-v3/../libgcc -I/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/include/h8300-unknown-elf -I/home/uaa/gcc-12.2.0/h8300-unknown-elf/h8300-unknown-elf/h8300s/libstdc++= -v3/include -I/home/uaa/gcc-12.2.0/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=3D2 -fdiagnostics-show-location= =3Donce -ffunction-sections -fdata-sections -frandom-seed=3Dhash_bytes.lo -g -O2 -m= s -c ../../../../../libstdc++-v3/libsupc++/hash_bytes.cc -o hash_bytes.o ../../../../../libstdc++-v3/libsupc++/hash_bytes.cc: In function 'std::size= _t std::_Hash_bytes(const void*, size_t, size_t)': ../../../../../libstdc++-v3/libsupc++/hash_bytes.cc:97:52: warning: left sh= ift count >=3D width of type [-Wshift-count-overflow] 97 | hash ^=3D static_cast(buf[2]) << 16; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ suggested remedy is attached.=