2016-12-21 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / gcc / testsuite / c-c++-common / ubsan / float-cast-overflow-5.c
blob4c2fbb4d9ea594734f7e10fb9826eb767bb9de52
1 /* { dg-do run { target i?86-*-* x86_64-*-* ia64-*-* } } */
2 /* { dg-options "-fsanitize=float-cast-overflow" } */
4 #include <limits.h>
5 #include "float-cast.h"
7 int
8 main (void)
10 volatile __float128 f;
12 volatile signed char s;
13 f = SCHAR_MIN;
14 CHECK_BOUNDARY (s, f);
15 f = 0.0q;
16 CHECK_BOUNDARY (s, f);
17 f = SCHAR_MAX;
18 CHECK_BOUNDARY (s, f);
20 volatile unsigned char u;
21 f = UCHAR_MAX;
22 CHECK_BOUNDARY (u, f);
23 f = 0.0q;
24 CHECK_BOUNDARY (u, f);
26 return 0;
29 /* { dg-output "value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
30 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
31 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
32 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
33 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
34 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
35 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
36 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
37 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
38 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
39 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type\[^\n\r]*(\n|\r\n|\r)" } */
40 /* { dg-output "\[^\n\r]*value \[^\n\r]* is outside the range of representable values of type" } */