This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: C++ - compilation error for all implicit conversion
- From: "Liu Hao" <lh_mouse at 126 dot com>
- To: "Satya Prakash Prasad" <satyaprakash dot prasad at gmail dot com>, gcc at gcc dot gnu dot org
- Date: Mon, 5 Mar 2018 16:08:44 +0800 (CST)
- Subject: Re: C++ - compilation error for all implicit conversion
- Authentication-results: sourceware.org; auth=none
- References: <CACX5wch0cYKUVq7gYbCLYdVL0Sh5hCW+YGb637oZMRjTt_togQ@mail.gmail.com>
在 2018年03月05日 15:42, Satya Prakash Prasad 写道:
> Is there a compiler flag that logs warning / error in case of any implicit
> conversions - like int32_t to uint32_t.
>
> #include <cstdint>
> #include <iostream>
>
> using ::std::int32_t;
> using ::std::uint32_t;
>
> int main(int argc, char *argv[])
> {
> int32_t x = 9;
> uint32_t i = x;
> uint32_t i1 = socketread(...); // returns int32_t -1 on error and >0
> on success
> std::cout << " " << x << " " << i << std::flush << std::endl;
> return 0;
> }
> c++ -std=c++11 -Wall -Wconversion -Wpedantic cast.cpp
>
> I get no issues / warning / error during compilation - is there a way it
> can achieved.
>
Try `-Wsign-conversion` in addition to `-Wconversion`.
--
Best regards,
LH_Mouse