Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/c-c++-common/pr81376.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* { dg-do compile } */ | |
2 /* { dg-options "-O2 -fdump-tree-original" } */ | |
3 | |
4 typedef double c_t; | |
5 typedef int a_t; | |
6 int f(a_t a1, a_t a2) { | |
7 return (c_t) a1 < (c_t) a2; | |
8 /* { dg-final { scan-tree-dump "return (<retval> = )?a1 < a2" "original" } } */ | |
9 } | |
10 | |
11 void f1(short a, short b) | |
12 { | |
13 volatile int s_s; | |
14 s_s = (float) a < (float) b; | |
15 /* { dg-final { scan-tree-dump "s_s = a < b" "original" } } */ | |
16 } | |
17 | |
18 void f2(unsigned short a, unsigned short b) | |
19 { | |
20 volatile int us_us; | |
21 us_us = (float) a < (float) b; | |
22 /* { dg-final { scan-tree-dump "us_us = a < b" "original" } } */ | |
23 } | |
24 | |
25 /* We don't optimize here because neither of integral types is | |
26 subset of the other. */ | |
27 void f3(unsigned short a, short b) | |
28 { | |
29 volatile int us_s; | |
30 us_s = (float) a < (float) b; | |
31 /* { dg-final { scan-tree-dump "us_s = \\(float\\) a < \\(float\\) b" "original" } } */ | |
32 } | |
33 | |
34 void f4(unsigned short a, int b) | |
35 { | |
36 volatile int us_i; | |
37 us_i = (double) a < (double) b; | |
38 /* { dg-final { scan-tree-dump "us_i = \\(int\\) a < b" "original" } } */ | |
39 } | |
40 | |
41 /* We don't optimize here because neither of integral types is | |
42 subset of the other. */ | |
43 void f5(short a, unsigned int b) | |
44 { | |
45 volatile int s_ui; | |
46 s_ui = (double) a < (double) b; | |
47 /* { dg-final { scan-tree-dump "s_ui = \\(double\\) a < \\(double\\) b" "original" } } */ | |
48 } |