This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ecj] Patch: FYI: another quick-stack-flushing patch
- From: Tom Tromey <tromey at redhat dot com>
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Cc: Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Date: 19 Jun 2006 17:07:15 -0600
- Subject: [ecj] Patch: FYI: another quick-stack-flushing patch
- Reply-to: tromey at redhat dot com
I'm checking this in on the gcj-eclipse branch.
We should also flush the quick stack on a COMPONENT_REF, as one of
those may trap.
I'm not sure whether we need to strip off conversions here or
not... Andrew, do you know?
Tom
Index: ChangeLog
from Tom Tromey <tromey@redhat.com>
* expr.c (push_value): Also flush quick stack if value is a
component_ref.
Index: expr.c
===================================================================
--- expr.c (revision 114781)
+++ expr.c (working copy)
@@ -305,7 +305,7 @@
whether or not the result is used. If the value ends up on the
quick stack and is then popped, this won't happen -- so we flush
the quick stack. */
- if (TREE_SIDE_EFFECTS (value))
+ if (TREE_SIDE_EFFECTS (value) || TREE_CODE (value) == COMPONENT_REF)
flush_quick_stack ();
}