| // RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -finclude-default-header -Wconversion -fnative-half-type %s -verify |
| |
| static double D = 2.0; |
| static int I = D; // expected-warning{{implicit conversion turns floating-point number into integer: 'double' to 'int'}} |
| groupshared float F = I; // expected-warning{{implicit conversion from 'int' to 'float' may lose precision}} |
| |
| export void fn() { |
| half d = I; // expected-warning{{implicit conversion from 'int' to 'half' may lose precision}} |
| int i = D; // expected-warning{{implicit conversion turns floating-point number into integer: 'double' to 'int'}} |
| int j = F; // expected-warning{{implicit conversion turns floating-point number into integer: 'float' to 'int'}} |
| int k = d; // expected-warning{{implicit conversion turns floating-point number into integer: 'half' to 'int'}} |
| } |