PATCH: use gcc_assert, gcc_unreachable in java frontend

Andreas Tobler toa@pop.agri.ch
Sat Feb 4 00:05:00 GMT 2006


Ben Elliston wrote:
> While debugging the Java frontend, I discovered that it had not been
> converted to use gcc_assert() and gcc_unreachable().
>> Tested on powerpc-linux with a full bootstrap and no regressions when
> running make check-target-libjava run. Okay for the trunk?

Disable-checking.....
Is this ok ?
2006年02月04日 Andreas Tobler <a.tobler@schweiz.ch>
	* expr.c (java_stack_swap): Revert gcc_assert patch
Index: expr.c
===================================================================
--- expr.c (revision 110565)
+++ expr.c (working copy)
@@ -629,12 +629,14 @@
 tree temp;
 tree decl1, decl2;
+ if (stack_pointer < 2
+ || (type1 = stack_type_map[stack_pointer - 1]) == TYPE_UNKNOWN
+ || (type2 = stack_type_map[stack_pointer - 2]) == TYPE_UNKNOWN
+ || type1 == TYPE_SECOND || type2 == TYPE_SECOND
+ || TYPE_IS_WIDE (type1) || TYPE_IS_WIDE (type2))
+ /* Bad stack swap. */
+ abort ();
 /* Bad stack swap. */
- gcc_assert (stack_pointer >= 2
- && (type1 = stack_type_map[stack_pointer - 1]) != TYPE_UNKNOWN
- && (type2 = stack_type_map[stack_pointer - 2]) != TYPE_UNKNOWN
- && (type1 != TYPE_SECOND && type2 != TYPE_SECOND)
- && (! TYPE_IS_WIDE (type1) && ! TYPE_IS_WIDE (type2)));
 flush_quick_stack ();
 decl1 = find_stack_slot (stack_pointer - 1, type1);


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /