[Bug c++/85861] g++ -Wconversion misses int to size_t
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon May 21 16:58:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85861
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2018-05-21
Ever confirmed|0 |1
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
You didn't provide the output of `gcc -v` as required, but I suspect you're
compiling for 32-bit, otherwise you'd get a warning:
mozilla_jwakely0/main.c: In function 'int main()':
mozilla_jwakely0/main.c:11:12: error: conversion to 'int' from 'size_t {aka
long unsigned int}' may alter its value [-Werror=conversion]
return converted;
^
cc1plus: all warnings being treated as errors
For 32-bit where int and size_t are the same size you need to use
-Wsign-conversion, as documented in the manual:
Warnings about conversions between signed and unsigned integers are
disabled by default in C++ unless -Wsign-conversion is explicitly enabled.
https://godbolt.org/g/6J4rtS
More information about the Gcc-bugs
mailing list