This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Calls to built-in functions are not Binary Compatible
- From: Andrew Haley <aph at redhat dot com>
- To: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 1 Mar 2006 18:31:37 +0000
- Subject: Calls to built-in functions are not Binary Compatible
This happens with methods like Math.pow() which are converted to
builtins. Unfortunately, this leads to direct calls to methods in
libgcj. This breaks binary compatibility when we change gcj's name
mangling. Which we just did.
:-(
Andrew.
2006-03-01 Andrew Haley <aph@redhat.com>
* builtins.c (check_for_builtin): Don't convert if
flag_indirect_dispatch is set.
Index: builtins.c
===================================================================
--- builtins.c (revision 111600)
+++ builtins.c (working copy)
@@ -267,7 +267,9 @@
tree
check_for_builtin (tree method, tree call)
{
- if (! flag_emit_class_files && optimize && TREE_CODE (call) == CALL_EXPR)
+ if (! flag_emit_class_files
+ && ! flag_indirect_dispatch
+ && optimize && TREE_CODE (call) == CALL_EXPR)
{
int i;
tree method_arguments = TREE_OPERAND (call, 1);