diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-23 02:49:57 +0000 | 
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-23 02:49:57 +0000 | 
| commit | 7eda2b8891a15cd91f8fd145186fc74a302c0940 (patch) | |
| tree | a34a3a3b3092687f2b6ecc36d7a319d4084924c0 /libjava/testsuite | |
| parent | 8762566c43d5d2a7feeaea8b47bd866391fc523b (diff) | |
| download | ppe42-gcc-7eda2b8891a15cd91f8fd145186fc74a302c0940.tar.gz ppe42-gcc-7eda2b8891a15cd91f8fd145186fc74a302c0940.zip  | |
	PR libgcj/13107:
	* testsuite/libjava.lang/pr13107_2.xfail: New file.
	* testsuite/libjava.lang/pr13107_3.xfail: New file.
	* testsuite/libjava.lang/pr13107_3.java: New file.
	* testsuite/libjava.lang/pr13107_3.out: New file.
	* testsuite/libjava.lang/pr13107_2.java: New file.
	* testsuite/libjava.lang/pr13107_2.out: New file.
	* testsuite/libjava.lang/pr13107.java: New file.
	* testsuite/libjava.lang/pr13107.out: New file.
	* verify.cc (jsr_ptrs): Removed.
	(entry_points): Likewise.
	(struct subr_info): Likewise.
	(struct subr_entry_info): Likewise.
	(type_val::unused_by_subroutine_type): Likewise.
	(type::merge): Don't handle unused_by_subroutine_type.
	(type::print): Likewise.
	(state::flags): Removed.
	(state::subroutine): Likewise.
	(state::seen_subrs): Likewise.
	(state::NO_STACK): Likewise.
	(state::FLAG_CHANGED, state::FLAG_UNUSED): Likewise.
	(state): Updated all methods.
	(state::clean_subrs): Removed.
	(state::state): Removed `ret_semantics' flag.
	(state::copy): Likewise.
	(state::add_subr): Removed.
	(state::enter_subroutine): Likewise.
	(type::set_return_address): New method.
	(handle_jsr_insn): Set return address on the type.  Always
	invalidate PC after call.
	(check_nonrecursive_call): Removed.
	(~_Jv_BytecodeVerifier): Updated.
	(branch_prepass): Removed special handling of jsr.
	(note_branch_target): Likewise.
	(get_subroutine): Removed.
	(state::merge): Don't merge subroutines and don't handle
	NO_STACK.  Removed ret_semantics and jsr_semantics arguments.
	(state::note_variable): Removed.
	(state::is_unmerged_ret_state): Likewise.
	(state::print): Updated.
	(set_variable): Likewise.
	(merge_into): Renamed from push_jump_merge.  Removed ret_semantics
	and jsr_semantics arguments.  Updated for new reverification
	list.
	(pop_jump): Rewrote.
	(construct_primitive_array_type): Updated.
	(state::next): Removed.
	(INVALID_STATE): New define.
	(state::INVALID): Removed.
	(state::NO_NEXT): New value.
	(state::pc, state::next): New fields.
	(state::get_pc): New method.
	(next_verify_pc): Removed.
	(next_verify_state): New field.
	(verify_instructions_0): Always check for falling off end.
	(linked): New type.
	(linked_utf8): Removed.
	(states): Changed type.
	(type::state_mergeable_p): New method.
	(state::state_mergeable_p): Likewise.
	(handle_ret_insn): Removed most code.
	(state::reverify): New method.
	(add_new_state): Likewise.
	(state::set_pc): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76395 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/testsuite')
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107.java | 25 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107.out | 0 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_2.java | 19 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_2.out | 0 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_2.xfail | 1 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_3.java | 16 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_3.out | 1 | ||||
| -rw-r--r-- | libjava/testsuite/libjava.lang/pr13107_3.xfail | 1 | 
8 files changed, 63 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/pr13107.java b/libjava/testsuite/libjava.lang/pr13107.java new file mode 100644 index 00000000000..06d4c54bbb3 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107.java @@ -0,0 +1,25 @@ +class pr13107 +{ +  public static void main(String[] args) +  { +    for (int i = 0; i < 1; i++) { +      String s = "A"; + +      if (s == "A") +        continue; +       +      try{ +	try{ +          System.out.println(s); +	} +	finally{ +	  if (s != "A") +	    throw new Error(); +	} +      } +      catch(Exception e){ +	s = "B"; +      } +    } +  } +} diff --git a/libjava/testsuite/libjava.lang/pr13107.out b/libjava/testsuite/libjava.lang/pr13107.out new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107.out diff --git a/libjava/testsuite/libjava.lang/pr13107_2.java b/libjava/testsuite/libjava.lang/pr13107_2.java new file mode 100644 index 00000000000..dba3b249e31 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_2.java @@ -0,0 +1,19 @@ +public class pr13107_2 +{ +  public static int foo (boolean b) +  { +    int i; +    try { +	if (b) return 1; +	i= 2; +      } +    finally { +      if (b) i = 3; +    } +    return i; +  } + +  public static void main(String[] args) +  { +  } +} diff --git a/libjava/testsuite/libjava.lang/pr13107_2.out b/libjava/testsuite/libjava.lang/pr13107_2.out new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_2.out diff --git a/libjava/testsuite/libjava.lang/pr13107_2.xfail b/libjava/testsuite/libjava.lang/pr13107_2.xfail new file mode 100644 index 00000000000..81d6df0a027 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_2.xfail @@ -0,0 +1 @@ +xfail-byte diff --git a/libjava/testsuite/libjava.lang/pr13107_3.java b/libjava/testsuite/libjava.lang/pr13107_3.java new file mode 100644 index 00000000000..5ec9146051b --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.java @@ -0,0 +1,16 @@ +public class pr13107_3 +{ +  public static void main(String[] args) +  { +    for (int i = 0; i < 1; i++) +      { +	try { +	  System.out.println(i); +	} +	finally { +	  if (i == 3) +	    continue; +	} +      } +  } +} diff --git a/libjava/testsuite/libjava.lang/pr13107_3.out b/libjava/testsuite/libjava.lang/pr13107_3.out new file mode 100644 index 00000000000..573541ac970 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.out @@ -0,0 +1 @@ +0 diff --git a/libjava/testsuite/libjava.lang/pr13107_3.xfail b/libjava/testsuite/libjava.lang/pr13107_3.xfail new file mode 100644 index 00000000000..81d6df0a027 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr13107_3.xfail @@ -0,0 +1 @@ +xfail-byte  | 

