aboutsummaryrefslogtreecommitdiff
path: root/gcc/hooks.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2005-06-28 22:55:24 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2005-06-28 22:55:24 +0100
commit4de67c26feb1b3535451df4e3bd10b7386029f02 (patch)
treecaf995fd6dda6f4540bef216b200472fdbd03fbc /gcc/hooks.c
parent2a75c0b6d2f48f19e5917f7d307a855db58f5b81 (diff)
downloadgcc-4de67c26feb1b3535451df4e3bd10b7386029f02.zip
gcc-4de67c26feb1b3535451df4e3bd10b7386029f02.tar.gz
gcc-4de67c26feb1b3535451df4e3bd10b7386029f02.tar.bz2
target.h (invalid_conversion, [...]): New hooks.
* target.h (invalid_conversion, invalid_unary_op, invalid_binary_op): New hooks. * target-def.h (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP, TARGET_INITIALIZER): Likewise. * hooks.h (hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): New. * hooks.c (hook_constcharptr_tree_tree_null, hook_constcharptr_int_tree_null, hook_constcharptr_int_tree_tree_null): Likewise. * gcc/doc/tm.texi (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document. * c-convert.c (convert): Use invalid_conversion hook. * c-typeck.c (build_unary_op): Use invalid_unary_op hook. (build_binary_op): Use invalid_binary_op hook. * config/ia64/ia64-modes.def: Define RFmode. * config/ia64/ia64-protos.h (spill_xfmode_operand): Remove. (ia64_expand_movxf_movrf): New. * config/ia64/ia64.md (movxf): Move code to ia64_expand_movxf_movrf. (movrf, movrf_internal): New. * ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op, ia64_invalid_binary_op, TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New. (spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand. Add mode parameter. Make static. (ia64_expand_movxf_movrf): New, moved from ia64.md. Handle RFmode as well as XFmode. (ia64_function_arg, ia64_function_value, ia64_register_move_cost, ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode. (ia64_init_builtins): Set up __fpreg as RFmode. (ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg. cp: * cvt.c (ocp_convert): Use invalid_conversion hook. * typeck.c (build_binary_op): Use invalid_binary_op hook. (build_unary_op): Use invalid_unary_op hook. testsuite: * g++.dg/ext/fpreg1.C, gcc.target/ia64/fpreg-1.c, gcc.target/ia64/fpreg-2.c: New tests. From-SVN: r101391
Diffstat (limited to 'gcc/hooks.c')
-rw-r--r--gcc/hooks.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/hooks.c b/gcc/hooks.c
index 65b347e3..78871a4 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -256,3 +256,25 @@ hook_constcharptr_rtx_null (rtx r ATTRIBUTE_UNUSED)
{
return NULL;
}
+
+const char *
+hook_constcharptr_tree_tree_null (tree t0 ATTRIBUTE_UNUSED,
+ tree t1 ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}
+
+const char *
+hook_constcharptr_int_tree_null (int i ATTRIBUTE_UNUSED,
+ tree t0 ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}
+
+const char *
+hook_constcharptr_int_tree_tree_null (int i ATTRIBUTE_UNUSED,
+ tree t0 ATTRIBUTE_UNUSED,
+ tree t1 ATTRIBUTE_UNUSED)
+{
+ return NULL;
+}