Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
e9682728
Commit
e9682728
authored
Mar 17, 2004
by
Kaveh R. Ghazi
Committed by
Kaveh Ghazi
Mar 17, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* gcc.dg/torture/builtin-integral-1.c: New test.
From-SVN: r79565
parent
990ab4b4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
0 deletions
+61
-0
gcc/testsuite/ChangeLog
+4
-0
gcc/testsuite/gcc.dg/torture/builtin-integral-1.c
+57
-0
No files found.
gcc/testsuite/ChangeLog
View file @
e9682728
2004-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/torture/builtin-integral-1.c: New test.
2004-03-16 Mark Mitchell <mark@codesourcery.com>
2004-03-16 Mark Mitchell <mark@codesourcery.com>
PR c++/14586
PR c++/14586
...
...
gcc/testsuite/gcc.dg/torture/builtin-integral-1.c
0 → 100644
View file @
e9682728
/* Copyright (C) 2003 Free Software Foundation.
Verify that integral FP expressions are optimized.
Written by Kaveh Ghazi, 2004-03-16. */
/* { dg-do link } */
/* { dg-options "-ffast-math" } */
#define PROTOTYPE1(FN) extern double FN(double); extern float FN##f(float); \
extern long double FN##l(long double);
PROTOTYPE1
(
fabs
)
void
test
(
int
i1
,
int
i2
)
{
/* Test that the various FP truncation builtins detect integral
arguments. */
#define CHECK_FN(MATHFN) \
PROTOTYPE1 (MATHFN) \
extern void link_failure_##MATHFN(void); \
extern void link_failure_##MATHFN##f(void); \
extern void link_failure_##MATHFN##l(void); \
if (MATHFN(i1) != i1) link_failure_##MATHFN(); \
if (MATHFN##f(i1) != i1) link_failure_##MATHFN##f(); \
if (MATHFN##l(i1) != i1) link_failure_##MATHFN##l(); \
CHECK_FN
(
ceil
);
CHECK_FN
(
floor
);
CHECK_FN
(
nearbyint
);
CHECK_FN
(
round
);
CHECK_FN
(
trunc
);
/* Check that various other integral expressions are detected. */
#define CHECK_EXPR(EXPR,NAME) \
extern void link_failure_##NAME(void); \
if (ceill(EXPR) != (EXPR)) link_failure_##NAME(); \
CHECK_EXPR
(
5
.
0
,
REAL_CST
);
CHECK_EXPR
(
5
.
0
F
,
REAL_CSTf
);
CHECK_EXPR
(
5
.
0L
,
REAL_CSTl
);
CHECK_EXPR
((
double
)
i1
,
FLOAT_EXPR
);
CHECK_EXPR
((
float
)
i1
,
FLOAT_EXPRf
);
CHECK_EXPR
((
long
double
)
i1
,
FLOAT_EXPRl
);
CHECK_EXPR
(
fabs
(
i1
),
ABS_EXPR
);
CHECK_EXPR
(
fabsf
(
i1
),
ABS_EXPRf
);
CHECK_EXPR
(
fabsl
(
i1
),
ABS_EXPRl
);
CHECK_EXPR
(((
void
)
i1
,(
double
)
i2
),
COMPOUND_EXPR
);
CHECK_EXPR
((
double
)
i1
+
i2
,
PLUS_EXPR
);
CHECK_EXPR
((
double
)
i1
-
i2
,
MINUS_EXPR
);
CHECK_EXPR
((
double
)
i1
*
i2
,
MULT_EXPR
);
}
int
main
(
void
)
{
return
0
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment