repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
libgfortran/ChangeLog:
[official-gcc.git]
/
gcc
/
testsuite
/
gcc.dg
/
pr36017.c
blob
2af71e6006e80058c2acbe19b5e0de7bfe0662f7
1
/* PR rtl-optimization/36017 */
2
/* { dg-do run } */
3
/* { dg-options "-O2" } */
4
5
extern
double
sqrt
(
double
);
6
extern
void
abort
(
void
);
7
8
__attribute__
((
noinline
))
double
9
foo
(
double
a
)
10
{
11
double
b
,
c
,
d
=
0.7
;
12
if
(
a
<=
d
)
13
b
=
sqrt
(
d
*
a
);
14
else
15
{
16
c
= (
1.0
-
d
) * (
1.0
-
a
);
17
b
=
c
>
0
?
1.0
-
sqrt
(
c
) :
1.0
;
18
}
19
return
b
;
20
}
21
22
int
23
main
(
void
)
24
{
25
double
c
=
foo
(
0.5
);
26
if
(
c
>
0.5917
)
27
abort
();
28
return
0
;
29
}