summaryrefslogtreecommitdiff
path: root/gcc/rtl.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-01 21:16:31 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-08-01 21:16:31 +0000
commite8aaae4efa4777c8004424e8fd16376d21b2732e (patch)
tree34ac4d017689743b8d8c8016d3db1ede47484578 /gcc/rtl.c
parent8a50466a6c44dbbeda8e164b4fe3456919623f02 (diff)
downloadgcc-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.c15
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,