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

--- Comment #7 from n.deshmukh at samsung dot com <n.deshmukh at samsung dot 
com> ---
How about the following code: 

int f(double a) {
    float b = a;
     return 0;
}

int g(double a) {
    _Float16 b = a;
     return 0;
}

It generates the following errors: 

<source>: In function 'int f(double)':
<source>:2:15: warning: conversion from 'double' to 'float' may change value
[-Wfloat-conversion]
    2 |     float b = a;
      |               ^
<source>: In function 'int g(double)':
<source>:7:18: warning: converting to '_Float16' from 'double' with greater
conversion rank
    7 |     _Float16 b = a;
      |                  ^
Compiler returned: 0

Is there a reason why the second error is not categorized under
-Wfloat-conversion diagnostic?

Reply via email to