[Bug c++/91179] New: Spurious -Wconversion warning after promotion

gennaro.prota+gccbugzilla at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Jul 16 08:00:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91179

            Bug ID: 91179
           Summary: Spurious -Wconversion warning after promotion
           Product: gcc
           Version: 7.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gennaro.prota+gccbugzilla at gmail dot com
  Target Milestone: ---

Hi,

this a reduced test case for:

 
<https://github.com/gennaroprota/breath/commit/14dcd189a67fc48f6f275c7569610911fe8adae9>.

It is similar to bug 88566.

  struct X
  {
                          X() : m() {}
      unsigned char       m[ 10 ] ;
  } ;

  int
  main()
  {
      X x ;
      unsigned char const a = x.m[ 0 ] >> 3 ;
  }

Command line:
g++ -Wconversion spurious_wconversion.cpp

Compiler output:

spurious_wconversion.cpp: In function ‘int main()’:
spurious_wconversion.cpp:11:38: warning: conversion to ‘unsigned char’ from
‘int’ may alter its value [-Wconversion]
     unsigned char const a = x.m[ 0 ] >> 3 ;

$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/7.4.0/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with:
/cygdrive/i/szsz/tmpp/gcc/gcc-7.4.0-1.x86_64/src/gcc-7.4.0/configure
--srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-7.4.0-1.x86_64/src/gcc-7.4.0
--prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc
--docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C
--build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin
--without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib
--enable-shared --enable-shared-libgcc --enable-static
--enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit
--with-dwarf2 --with-tune=generic
--enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite
--enable-threads=posix --enable-libatomic --enable-libcilkrts --enable-libgomp
--enable-libitm --enable-libquadmath --enable-libquadmath-support
--disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as
--with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix
--without-libintl-prefix --with-system-zlib --enable-linker-build-id
--with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
gcc version 7.4.0 (GCC)


More information about the Gcc-bugs mailing list