1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-forwprop1" } */
3 
f1(signed char n)4 signed char f1(signed char n)
5 {
6   return (long double)n;
7 }
f2(signed char n)8 unsigned long long f2(signed char n)
9 {
10   return (long double)n;
11 }
12 
g1(unsigned long long n)13 unsigned long long g1(unsigned long long n)
14 {
15   return (float)n;
16 }
g2(unsigned long long n)17 signed char g2(unsigned long long n)
18 {
19   return (float)n;
20 }
21 
22 /* { dg-final { scan-tree-dump-times "\\\(float\\\)" 2 "forwprop1" } } */
23 /* { dg-final { scan-tree-dump-not "\\\(long double\\\)" "forwprop1" } } */
24 /* { dg-final { cleanup-tree-dump "forwprop1" } } */
25