This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ecj] Patch: FYI: another quick-stack-flushing patch


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 ();
 }
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]