diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-08-01 21:16:31 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-08-01 21:16:31 +0000 |
commit | e8aaae4efa4777c8004424e8fd16376d21b2732e (patch) | |
tree | 34ac4d017689743b8d8c8016d3db1ede47484578 /gcc/rtl.c | |
parent | 8a50466a6c44dbbeda8e164b4fe3456919623f02 (diff) | |
download | gcc-e8aaae4efa4777c8004424e8fd16376d21b2732e.tar.gz |
* Makefile.in (RTL_BASE_H): Add real.h.
* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
instead of memcpy.
* emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
directly.
* rtl.c (rtl_check_failed_code_mode): New.
* rtl.h (struct rtx_def): Add u.rv.
(XCMWINT, XCNMPRV): New.
(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
(CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102643 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.c')
-rw-r--r-- | gcc/rtl.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c index 08b463b428b..eee870cb0d2 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -515,6 +515,21 @@ rtl_check_failed_code2 (rtx r, enum rtx_code code1, enum rtx_code code2, func, trim_filename (file), line); } +void +rtl_check_failed_code_mode (rtx r, enum rtx_code code, enum machine_mode mode, + bool not_mode, const char *file, int line, + const char *func) +{ + internal_error ((not_mode + ? ("RTL check: expected code '%s' and not mode '%s', " + "have code '%s' and mode '%s' in %s, at %s:%d") + : ("RTL check: expected code '%s' and mode '%s', " + "have code '%s' and mode '%s' in %s, at %s:%d")), + GET_RTX_NAME (code), GET_MODE_NAME (mode), + GET_RTX_NAME (GET_CODE (r)), GET_MODE_NAME (GET_MODE (r)), + func, trim_filename (file), line); +} + /* XXX Maybe print the vector? */ void rtvec_check_failed_bounds (rtvec r, int n, const char *file, int line, |