https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80892
Bug ID: 80892 Summary: [8 regression] -Wfloat-conversion now warns about non-floats Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: egall at gwmail dot gwu.edu CC: msebor at gcc dot gnu.org Target Milestone: --- Host: i386-apple-darwin10.8.0 Target: i386-apple-darwin10.8.0 Build: i386-apple-darwin10.8.0 Previously, it was possible to request warnings about just conversions involving floating point types by specifying -Wfloat-conversion. However, with my latest build from trunk, -Wfloat-conversion seems to have become an alias for -Wconversion, meaning that it now warns on things like: /usr/local/bin/gcc -c -DHAVE_CONFIG_H -g -O2 -arch i386 -I. -I./../include -D_DARWIN_UNLIMITED_STREAMS -mmacosx-version-min=10.5 -Wall -Wextra -Wwrite-strings -Wc++-compat -Wodr -Wstrict-prototypes -Wmissing-prototypes -Wmissing-parameter-type -Wmissing-declarations -Wnested-externs -Wundef -Wshadow -Wformat=2 -Wformat-overflow=2 -Wformat-truncation=2 -Wstringop-overflow=2 -Walloc-zero -Wrestrict -Wold-style-definition -Wold-style-declaration -Wfloat-conversion -Wabi -Wc99-c11-compat -Wmisleading-indentation -Wnull-dereference -Wpointer-compare -Wbool-operation -pedantic ./cp-demangle.c -o cp-demangle.o ./cp-demangle.c: In function 'd_print_java_identifier': ./cp-demangle.c:3473:27: warning: conversion from 'long unsigned int' to 'char' may change value [-Wfloat-conversion] d_append_char(dpi, c); ^ This means I now have a bunch of new warnings in my build where I previously didn't, because I'm only using -Wfloat-conversion and not the full -Wconversion. cc-ing Martin Sebor since he was the last one I remember seeing posting patches touching the -Wconversion code. gcc version info: $ /usr/local/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i386-apple-darwin10.8.0/8.0.0/lto-wrapper Target: i386-apple-darwin10.8.0 Configured with: ../configure --disable-werror --disable-werror-always --enable-languages=c,c++,objc,obj-c++,lto --enable-stage1-checking=release,rtl -C --with-system-libunwind --enable-secureplt --enable-frame-pointer --enable-debug --without-isl --disable-host-shared --enable-maintainer-mode --disable-default-pie --with-ld64 --without-pic --enable-target-optspace --disable-nls --with-system-zlib --with-libiconv-prefix=/opt/local --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --enable-lto --enable-libstcxx-time --with-build-config=bootstrap-debug --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --enable-objc-gc --enable-libada --enable-libssp CC='/usr/bin/gcc-4.2 -arch i386 -arch x86_64' CXX='/usr/bin/g++-4.2 -arch x86_64' AR_FOR_TARGET=/opt/local/bin/ar AS_FOR_TARGET=/opt/local/bin/as LD_FOR_TARGET=/opt/local/bin/ld NM_FOR_TARGET=/opt/local/bin/nm RANLIB_FOR_TARGET=/opt/local/bin/ranlib STRIP_FOR_TARGET=/opt/local/bin/strip OTOOL=/opt/local/bin/otool OTOOL64=/opt/local/bin/otool AUTOCONF=/opt/local/bin/autoconf264 AUTOHEADER=/opt/local/bin/autoheader264 AUTOM4TE=/opt/local/bin/autom4te264 AUTORECONF=/opt/local/bin/autoreconf264 AUTOSCAN=/opt/local/bin/autoscan264 AUTOUPDATE=/opt/local/bin/autoupdate264 IFNAMES=/opt/local/bin/ifnames264 ACLOCAL=/sw/bin/aclocal-1.11 PERL=/opt/local/bin/perl CFLAGS='-pipe -g -Os' CXXFLAGS='-pipe -g -Os -fcheck-new' CPP='/usr/bin/gcc-4.2 -E' CXXCPP='/usr/bin/g++-4.2 -E' M4=/opt/local/bin/gm4 Thread model: posix gcc version 8.0.0 20170525 (experimental) (GCC)