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

Marc Glisse <glisse at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
What the standard requires is essentially:
namespace std { double sqrt(int); double sqrt(long); ... }

(you should not specify a template parameter for your call to sqrt, that makes
your program not portable)

What g++ -Wfloat-conversion is telling you is that you are assigning a double
to an int. You would get essentially the same warning with int i = 3.14;

It isn't clear what you are expecting here. Did you interpret the standard as
providing int sqrt(int); long sqrt(long); etc?

Reply via email to