[llvm-commits] [llvm-gcc-4.2] r43913 [75/80] - in /llvm-gcc-4.2/trunk: boehm-gc/ boehm-gc/Mac_files/ boehm-gc/cord/ boehm-gc/doc/ boehm-gc/include/ boehm-gc/include/private/ boehm-gc/tests/ libffi/ libffi/include/ libffi/src/ libffi/src/alpha/ libffi/src/arm/ libffi/src/cris/ libffi/src/frv/ libffi/src/ia64/ libffi/src/m32r/ libffi/src/m68k/ libffi/src/mips/ libffi/src/pa/ libffi/src/powerpc/ libffi/src/s390/ libffi/src/sh/ libffi/src/sh64/ libffi/src/sparc/ libffi/src/x86/ libffi/testsuite/ libffi/testsuite/config/ li...
Bill Wendling
isanbard at gmail.com
Thu Nov 8 14:57:11 PST 2007
Added: llvm-gcc-4.2/trunk/libjava/testsuite/ChangeLog-old
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/ChangeLog-old?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/ChangeLog-old (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/ChangeLog-old Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2153 @@
+2004-06-08 Andrew Pinski <pinskia at physics.uc.edu>
+
+ PR java/15769
+ * libjava.compile/PR15769.java: New test.
+
+2004-01-12 Andreas Tobler <a.tobler at schweiz.ch>
+
+ * lib/libjava.exp: Add LD_LIBRARY_PATH_32/64 to get proper
+ path setting for Ssolaris 32/64-bit testing.
+ Reorganize LD_LIBRARY_PATH setting.
+
+2004-01-09 Andrew Haley <aph at redhat.com>
+
+ * lib/libjava.exp (bytecompile_file): Log compile command.
+
+2004-01-07 Andreas Tobler <a.tobler at schweiz.ch>
+
+ PR libgcj/13011:
+ * libjava.jar/simple.jar: Add a working MANIFEST.MF.
+
+2003-12-03 Ralph Loader <rcl at ihug.co.nz>
+
+ PR java/12374:
+ * libjava.compile/PR12374.java: New file.
+
+2003-12-01 Jeff Sturm <jsturm at one-point.com>
+
+ PR optimization/13024
+ * libjava.compile/PR13024.java: New file.
+
+ PR java/13237
+ * libjava.compile/PR13237.java: New file.
+
+2003-11-18 Andreas Tobler <a.tobler at schweiz.ch>
+
+ * libjava.jar/jar.exp: Cleanup files and reset CLASSPATH.
+
+2003-11-17 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.compile/PR12857.java: New test case.
+
+2003-11-14 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jar/simple.jar: Replaced.
+
+2003-11-13 Tom Fitzsimmons <fitzsim at redhat.com>
+
+ * libjava.jni/jniutf.c: New file.
+ * libjava.jni/jniutf.java: New file.
+ * libjava.jni/jniutf.out: New file.
+
+2003-11-11 Tom Tromey <tromey at redhat.com>
+
+ For PR java/12915:
+ * libjava.lang/PR12915.java: New file.
+ * libjava.lang/PR12915.out: New file.
+
+ * libjava.jacks/jacks.exp (gcj_jacks_write): Enable "assert"
+ constraint.
+ * libjava.jacks/jacks.xfail: Added new xfails.
+
+2003-11-10 Tom Tromey <tromey at redhat.com>
+
+ For PR java/12996:
+ * libjava.jar/simple.jar: New file.
+ * libjava.jar/simple.xfail: New file.
+ * libjava.jar/simple.out: New file.
+ * libjava.jar/simple.java: New file.
+ * libjava.jar/jar.exp: New file.
+
+2003-11-08 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated.
+
+2003-11-03 Jeff Sturm <jsturm at one-point.com>
+
+ PR java/12866:
+ * libjava.compile/InnerExcept.java: New File.
+
+2003-10-22 Tom Tromey <tromey at redhat.com>
+
+ PR libgcj/12416:
+ * libjava.lang/PR12416.out: New file.
+ * libjava.lang/PR12416.java: New file.
+
+ PR libgcj/12656:
+ * libjava.lang/PR12656.java: New file.
+ * libjava.lang/PR12656.out: New file.
+
+2003-10-21 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (find_javac): Use -Wno-unreachable-bytecode.
+
+2003-10-08 Tom Tromey <tromey at redhat.com>
+
+ * libjava.mauve/xfails: Removed some tests.
+
+2003-09-27 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated for new passes.
+
+2003-09-21 Ralph Loader <suckfish at ihug.co.nz>
+
+ PR java/12350
+ * libjava.lang/PR12350.java: New file.
+ * libjava.lang/PR12350.out: New file.
+
+2003-09-17 Ranjit Mathew <rmathew at hotmail.com>
+
+ PR java/9577
+ * libjava.cni/PR9577.java: New file.
+ * libjava.cni/natPR9577.cc: New file.
+ * libjava.cni/PR9577.out: New file.
+
+2003-09-04 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.compile/compile.exp: Test with -O3 rather than -O.
+ * libjava.lang/lang.exp: Likewise.
+
+2003-09-04 Jeff Sturm <jsturm at one-point.com>
+
+ * lib/libjava.exp (libjava_arguments): Remove unneeded variables.
+ (test_libjava_from_source): Likewise.
+ (test_libjava_from_javac): Likewise.
+
+2003-08-23 Andreas Tobler <a.tobler at schweiz.ch>
+
+ PR libgcj/8823
+ * libjava.lang/pr8823.xfail: Removed.
+
+2003-08-19 Jeff Sturm <jsturm at one-point.com>
+
+ * lib/libjava.exp (libjava_arguments): Add $libjava to the list of
+ libraries.
+
+2003-08-18 Tom Tromey <tromey at redhat.com>
+
+ PR libgcj/11951:
+ * libjava.jni/pr11951.c: New file.
+ * libjava.jni/pr11951.out: New file.
+ * libjava.jni/pr11951.java: New file.
+
+2003-08-12 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated to account for new passes.
+ * libjava.compile/abstr.xfail: Now can compile from bytecode.
+ * libjava.compile/PR5641.xfail: Now can compile from bytecode.
+
+ * libjava.mauve/mauve.exp (test_mauve_sim): Don't find
+ DejaGNUTestHarness in gnu/testlet.
+ (test_mauve): Use correct object extension.
+
+2003-08-12 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (libjava_find_lib): Search for .so file first.
+ (libjava_arguments): Don't add libraries to link line explictly.
+
+2003-08-05 Tom Tromey <tromey at redhat.com>
+
+ For PR java/11600:
+ * libjava.compile/PR11600.xfail: New file.
+ * libjava.compile/PR11600.java: New file.
+
+2003-08-04 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.exp (gcj_jacks_run): Just ignore errors
+ from jacks.
+
+2003-07-24 Tom Tromey <tromey at redhat.com>
+
+ For PR libgcj/7482:
+ * libjava.lang/PR7482.java: New file.
+ * libjava.lang/PR7482.out: New file.
+
+2003-07-20 Tom Tromey <tromey at redhat.com>
+
+ * libjava.mauve/mauve.exp (mauve_find_harness_files): New proc.
+ (test_mauve): Use it.
+ (test_mauve_sim): Likewise.
+
+2003-07-19 Tom Tromey <tromey at redhat.com>
+
+ * libjava.verify/verify.exp (gcj_verify_list_tests): Only change
+ directory if new directory exists.
+
+2003-07-13 Tom Tromey <tromey at redhat.com>
+
+ * libjava.verify/verify.exp: Fixed variable init.
+
+2003-07-10 Tom Tromey <tromey at redhat.com>
+
+ * libjava.verify/verify.exp: New file.
+ * libjava.verify/README.verify: New file.
+
+2003-07-09 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/SyncTest.java (run): Cache .class value.
+
+2003-06-08 Roger Sayle <roger at eyesopen.com>
+
+ * libjava.lang/MathBuiltin.java: New test case.
+ * libjava.lang/MathBuiltin.out: New file.
+
+2003-06-05 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/mauve.exp (test_mauve): Add -wno-deprecated to GCJ.
+
+ PR libgcj/6181:
+ * libjava.mauve/xfails: Remove getBeanInfo() failures.
+
+ PR libgcj/6293:
+ * libjava.mauve/xfails: Remove PipedStream.close() failure.
+
+2003-05-31 Roger Sayle <roger at eyesopen.com>
+
+ * libjava.lang/Overflow.java: New test.
+ * libjava.lang/Overflow.out: New file.
+
+2003-05-06 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/verify.java: New file.
+ * libjava.lang/verify.out: New file.
+
+2003-05-01 Tom Tromey <tromey at redhat.com>
+
+ PR java/10459:
+ * libjava.compile/pr10459_2.java: New file.
+ * libjava.compile/pr10459.java: New file.
+
+2003-04-30 Tom Tromey <tromey at redhat.com>
+
+ PR libgcj/10582:
+ * libjava.lang/assign.java: New file.
+ * libjava.lang/assign.out: New file.
+
+2003-04-16 Mark Mitchell <mark at codesourcery.com>
+
+ PR middle-end/8866
+ * libjava.lang/PR8866.java: New test.
+
+2003-04-16 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/Throw_2.java (main): Make a successful test produce
+ some output.
+
+2003-03-22 Andreas Tobler <a.tobler at schweiz.ch>
+
+ * libjava.jni/jni.exp: Add compilation/link fix dor darwin dylibs.
+
+2003-03-22 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (gcj_invoke): Moved...
+ * libjava.jni/jni.exp: ...from here.
+
+ * libjava.cni/shortfield.out: New file.
+ * libjava.cni/shortfield.java: New file.
+ * libjava.cni/natshortfield.cc: New file.
+ * libjava.cni/natlongfield.cc: New file.
+ * libjava.cni/longfield.out: New file.
+ * libjava.cni/longfield.java: New file.
+
+ * libjava.cni/cni.exp: New file.
+
+2003-03-11 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/initfield.java: New file.
+ * libjava.lang/initfield.out: New file.
+
+2003-03-08 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/initfield.java: New file.
+ * libjava.lang/initfield.out: New file.
+
+2003-03-10 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated to reflect reality.
+
+2003-03-02 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Remove all AcuniaPropertiesTest failures
+
+2003-02-23 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Most 4.7.10 tests pass now.
+
+2003-02-16 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/CompareNaN.java: New test.
+ * libjava.lang/CompareNaN.out: New test.
+
+2003-02-16 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Add Class.reflect2 and String.getBytes FAILs.
+
+2003-02-15 Mark Wielaard <mark at klomp.org>
+
+ * lib/libjava.exp (test_libjava_from_javac): Use regsub not string map.
+ * libjava.mauve/mauve.exp (mauve_compute_uses): Likewise.
+ (test_mauve): Likewise.
+
+2003-02-14 Mark Wielaard <mark at klomp.org>
+
+ * lib/libjava.exp (test_libjava_from_javac): Don't create .o files
+ containing $ characters and always quote class files with "'"s.
+
+2003-02-14 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/mauve.exp (mauve_compute_uses): Add inner class
+ object files by changing all occurances of $ to ^.
+ (test_mauve): Replace ^ with $ for class file names and quote
+ them with "'"s.
+
+2003-02-13 Tom Tromey <tromey at redhat.com>
+
+ * libjava.mauve/xfails: Added entries for an unimplemented Class
+ method.
+
+2003-02-07 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Add new entries for
+ gnu.testlet.java.text.CollationElementIterator.jdk11
+
+2003-02-03 Ulrich Weigand <uweigand at de.ibm.com>
+
+ * libjava.jacks/jacks.exp (gcj_jacks_write): Set LD_LIBRARY_PATH
+ to find libgcc_s. Set JAVA_CLASSPATH to find libgcj.jar.
+
+2003-01-31 Mark Wielaard <mark at klomp.org>
+
+ * lib/libjava.exp (libjava_prune_warnings): Remove all unreachable
+ bytecode warnings.
+
+2003-01-28 Tom Tromey <tromey at redhat.com>
+
+ * libjava.loader/TestEarlyGC.java: Added comment explaining
+ bytecode.
+
+ * libjava.jacks/jacks.xfail: More lexer tests now pass.
+
+2003-01-27 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/consthrow.java: New file.
+ * libjava.compile/consthrow.xfail: New file.
+
+2003-01-27 Kaveh R. Ghazi <ghazi at caip.rutgers.edu>
+
+ * libjava.lang/pr8823.xfail: New file, add "xfail-byte".
+
+2003-01-24 Ranjit Mathew <rmathew at hotmail.com>
+
+ * libjava.jni/calls.c (Java_calls_docall): Define with
+ JNIEXPORT and JNICALL method attributes.
+ * libjava.jni/field.c (Java_field_fetch): Likewise.
+ * libjava.jni/final_method.c (Java_final_1method_meth): Likewise.
+ * libjava.jni/findclass.c (Java_findclass_doit): Likewise.
+ * libjava.jni/invoke.c (Java_invoke_val): Likewise.
+ * libjava.jni/martin.c (Java_martin_myNative): Likewise.
+ * libjava.jni/noclass.c (Java_noclass_find_1it): Likewise.
+ * libjava.jni/overload.c (Java_overload_over__I): Likewise.
+ (Java_overload_over__II): Likewise.
+ * libjava.jni/register.c (JNI_OnLoad): Likewise.
+ * libjava.jni/simple_int.c (Java_simple_1int_nat): Likewise.
+ * libjava.jni/throwit.c (Java_throwit_throwit): Likewise.
+ * libjava.jni/virtual.c (Java_virtual_equals): Likewise.
+
+2003-01-21 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: All 8.4.3 tests and 9.4-modifier-10
+ now pass.
+
+2003-01-12 Tom Tromey <tromey at redhat.com>
+
+ Fix for PR libgcj/9139:
+ * lib/libjava.exp (find_javac): Put value of libgcj_jar into
+ return value when gcj is used.
+ * libjava.mauve/mauve.exp (test_mauve): Use libgcj_jar global.
+
+2003-01-03 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/pr8712.java: New file, for PR java/8712.
+
+2003-01-01 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/pr8955.java: New test, for PR java/8955.
+
+2002-12-19 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.xfail: Updated.
+
+2002-12-18 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/pr8945.java: New file.
+ * libjava.lang/pr8945.out: New file.
+
+2002-12-12 Tom Tromey <tromey at redhat.com>
+
+ * libjava.loader/loader.exp (gcj_loader_test_one): Use
+ libjava_prune_warnings.
+ (gcj_loader_run): Likewise.
+ * libjava.mauve/mauve.exp (test_mauve): Use
+ libjava_prune_warnings.
+ (test_mauve_sim): Likewise.
+ * libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
+ libjava_prune_warnings.
+ (gcj_jni_build_header): Likewise.
+ * lib/libjava.exp (libjava_prune_warnings): New proc.
+ (gcj_link): Use it.
+ (test_libjava_from_source): Likewise.
+ (test_libjava_from_javac): Likewise.
+
+2002-12-08 Tom Tromey <tromey at redhat.com>
+
+ Test for PR libgcj/8823:
+ * libjava.lang/pr8823.java: New file.
+ * libjava.lang/pr8823.out: New file.
+
+2002-12-05 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/override.java: New file.
+ * libjava.lang/override.out: New file.
+
+2002-12-01 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.exp (gcj_jacks_setup_xfail): New function.
+ (gcj_jacks_parse): Use it; set up xfails.
+ * libjava.jacks/jacks.xfail: New file.
+
+2002-12-01 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Remove Inspector FAILs that now PASS.
+
+2002-11-21 Tom Tromey <tromey at redhat.com>
+
+ For PR java/8676:
+ * libjava.lang/pr8676.java: New file.
+ * libjava.lang/pr8676.out: New file.
+
+2002-11-21 Ulrich Weigand <uweigand at de.ibm.com>
+
+ * libjava.loader/loader.exp (gcj_loader_test_one): Fix typo in
+ 'type' argument to libjava_tcompile.
+ (gcj_loader_run): Use libjava_tcompile instead of running
+ GCJ_UNDER_TEST directly.
+
+2002-11-05 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jacks/jacks.exp: New file.
+
+2002-11-04 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/pr7912.java: New file.
+
+2002-11-04 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/utilTest.java: New.
+ * libjava.lang/utilTest.out: New.
+
+2002-11-04 Anthony Green <green at redhat.com>
+
+ * libjava.loader/MyLoader.java: New constructor.
+ * libjava.loader/TestParent.java: New file.
+ * libjava.loader/TestParent.out: New file.
+
+2002-11-04 Anthony Green <green at redhat.com>
+
+ * libjava.loader/TestEarlyGC.java,
+ libjava.loader/TestEarlyGC.out: New files (from
+ Jeff Sturm).
+
+2002-11-04 Anthony Green <green at redhat.com>
+
+ * libjava.loader/dummy.java, libjava.loader/loader.exp,
+ libjava.loader/MyLoader.java, libjava.loader/TestLeak.java,
+ libjava.loader/TestLeak.out, libjava.loader/TestMultiple.java,
+ libjava.loader/TestMultiple.out: New files.
+
+2002-11-02 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/initexc.java (fail): Static initializers must be
+ able to complete normally. From Eric Blake.
+
+ * libjava.lang/initexc.java: New file.
+ * libjava.lang/initexc.out: New file.
+
+2002-11-01 Tom Tromey <tromey at redhat.com>
+
+ For PR java/8415:
+ * libjava.lang/pr8415.java: New file.
+ * libjava.lang/pr8415.out: New file.
+
+ * libjava.mauve/mauve.exp (find_mauve_sources): New proc.
+ (test_mauve): Use it.
+ (test_mauve_sim): Likewise.
+
+2002-10-24 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/Primes.java: Removed.
+ * libjava.lang/Primes.out: Removed.
+
+2002-10-23 Tom Tromey <tromey at redhat.com>
+
+ For PR java/6388:
+ * libjava.lang/pr6388.java: New file.
+ * libjava.lang/pr6388.out: New file.
+
+2002-10-15 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/EvaluationOrder.java (EvaluationOrder): New.
+ * libjava.lang/EvaluationOrder.out (EvaluationOrder): New.
+
+2002-10-14 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/StaticConstructor.java: New.
+ * libjava.lang/StaticConstructor.out: New.
+
+2002-10-13 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Remove tests that now XPASS.
+
+2002-10-03 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/Array_3.java (baz): New.
+ (main): Call baz.
+
+2002-09-29 Anthony Green <green at redhat.com>
+
+ * libjava.lang/TestProxy.java: New file.
+ * libjava.lang/TestProxy.out: Ditto.
+
+2002-09-29 Anthony Green <green at redhat.com>
+
+ * libjava.lang/utf8concat.java: New file.
+ * libjava.lang/utf8concat.out: Ditto.
+
+2002-08-26 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/narrow_case.java: New file.
+
+2002-08-25 Adam Megacz <adam at xwt.org>
+
+ * lib/libjava.exp: don't apply -no-install when platform is mingw.
+
+2002-08-16 H.J. Lu <hjl at gnu.org>
+
+ * lib/libjava.exp (gcc_version): Removed.
+ (libgcj_jar): New.
+ (libjava_init): Set libgcj_jar with tcl glob.
+ (libjava_arguments): Use libgcj_jar.
+
+2002-07-22 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/zeroexp.java: New file.
+
+2002-07-18 Rainer Orth <ro at TechFak.Uni-Bielefeld.DE>
+
+ * libjava.compile/compile.exp: Sort sources.
+ * libjava.jni/jni.exp (gcj_jni_run): Likewise.
+ * libjava.lang/lang.exp: Likewise.
+
+2002-07-02 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/inline.java: New file.
+ * libjava.lang/inline.out: Likewise.
+
+ * libjava.lang/Array_3.java: Add another case.
+
+2002-06-23 Tom Tromey <tromey at redhat.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (RUNTEST): Added AM_RUNTESTFLAGS.
+ (AM_RUNTESTFLAGS): New variable.
+ (RUNTESTFLAGS): Don't define.
+ * lib/libjava.exp (libjava_invoke): New proc.
+ (test_libjava_from_source): Use it.
+ (test_libjava_from_javac): Likewise.
+ (libjava_find_gij): New proc.
+
+2002-06-12 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (test_libjava): Fixed typo.
+ * libjava.compile/PR6865.xfail: New file.
+
+2002-06-11 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/PR6865.java: New file. For PR java/6865.
+
+ * libjava.lang/PR6520.java: Fixed typo.
+
+2002-06-10 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/PR6520.java: New file. For PR java/6520.
+
+2002-06-04 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/T20020604.java: New file.
+
+ For PR libgcj/6389:
+ * libjava.mauve/xfails: Now passes System.getProperty test.
+
+ For PR java/1343 and PR java/6336:
+ * libjava.compile/PR1343.java: New file.
+
+ For PR java/5913:
+ * libjava.compile/PR5913.xfail: Removed.
+
+2002-05-29 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.compile/T20020529.java: New file.
+
+2002-05-27 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/PR6820.java: New file.
+ * libjava.lang/PR6820.out: New file.
+
+2002-05-23 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/PR6729.java: New file.
+ * libjava.lang/PR6729.out: New file.
+
+2002-05-04 Mark Wielaard <mark at klomp.org>
+
+ For PR java/6519:
+ * libjava.lang/emptystring.java: New.
+ * libjava.lang/emptystring.out: New.
+
+2002-04-21 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfail: Expect failures for PR java/6391 and
+ libgcj/6389.
+
+2002-04-16 Mark Wielaard <mark at klomp.org>
+
+ * libjava.lang/negzero.java: New.
+ * libjava.lang/negzero.out: New.
+
+2002-04-14 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Expect failures for PR libgcj/6302 and
+ libgcj/6298.
+
+2002-04-14 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Expect failures for PR libgcj/6293,
+ libgcj/6295, libgcj/6296 and libgcj/6297.
+
+2002-04-12 Anthony Green <green at redhat.com>
+
+ * lib/libjava.exp: Use libgcj-VERSION.jar, not libgcj.jar.
+
+2002-04-12 Loren J. Rittle <ljrittle at acm.org>
+
+ * libjava.lang/SyncGlobal.java, libjava.lang/SyncGlobal.out:
+ New test case.
+
+2002-04-09 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/PR6204.java, libjava.lang/PR6204.out: New test case.
+ * libjava.lang/PR6085.java, libjava.lang/PR6085.out: Likewise.
+
+2002-04-07 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/xfails: Add CASE_INSENSITIVE_ORDER, result was
+ unspecified and test should be updated to match latest spec.
+ Add AcuniaPropertiesTest, known bug #6219. Add test_getClassLoader,
+ what we do seems to be not really right or wrong.
+
+2002-04-06 Mark Wielaard <mark at klomp.org>
+
+ * libjava.mauve/mauve.exp: Use libgcj.jar not libgcj.zip.
+ * libjava.mauve/xfails: add Character.classify12 (number 1),
+ Character.getType (number 11), Character.getType (number 20) and
+ Character.getType (number 22). We implement 1.4 Character.
+
+2002-03-28 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/Throw_2.java: New.
+ * libjava.lang/Throw_2.out: New.
+
+2002-03-27 Anthony Green <green at redhat.com>
+
+ * libjava.lang/InvokeReturn.java: Modify test for targets
+ which do not yet support reflection.
+
+2002-03-27 Anthony Green <green at redhat.com>
+
+ * libjava.jni/jni.exp (gcj_jni_run): Fix cross build test.
+
+2002-03-27 Anthony Green <green at redhat.com>
+
+ * lib/libjava.exp: Add the wrapper link options only when we're
+ linking.
+
+2002-03-26 Tom Tromey <tromey at redhat.com>
+
+ * libjava.mauve/mauve.exp (test_mauve): Use correct stderr
+ redirection code.
+
+2002-03-22 Eric Blake <ebb9 at email.byu.edu>
+
+ For PR java/6026:
+ * libjava.compile/PR6026.java: New file.
+
+2002-03-21 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/Thread_Interrupt.java (Looper.calibrate): New.
+ (yields): New.
+
+2002-03-18 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jni/jni.exp (gcj_jni_test_one): Find libstdc++ in build
+ tree.
+ (gcj_invoke): Added ld_library_additions argument.
+
+2002-03-17 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jni/jni.exp (gcj_jni_build_header): Use local_exec, not
+ target_compile. Fixes PR other/5874.
+
+2002-03-15 Eric Blake <ebb9 at email.byu.edu>
+
+ For PR java/5902:
+ * libjava.compile/PR5902.java: Does not need to execute.
+ For PR java/5913:
+ * libjava.compile/PR5913.java: Ditto.
+
+2002-03-12 Tom Tromey <tromey at redhat.com>
+
+ Test for PR java/5848:
+ * libjava.compile/PR5848.xfail: New file.
+ * libjava.compile/PR5848.java: New file.
+
+2002-03-12 Eric Blake <ebb9 at email.byu.edu>
+
+ * libjava.compile/PR5913.java: Expand test.
+
+2002-03-11 Eric Blake <ebb9 at email.byu.edu>
+
+ * libjava.compile/PR5902.java: New file.
+ * libjava.compile/PR5913.java: New file.
+ * libjava.compile/PR5913.xfail: New file.
+
+2002-02-23 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/InvokeReturn.java: New file.
+ * libjava.lang/InvokeReturn.out: New file.
+
+2002-02-20 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
+ Don't display expected and actual output for a failed output test.
+
+ * libjava.lang/ArrayStore.java: New file.
+ * libjava.lang/ArrayStore.out: New file.
+ * libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
+ * libjava.lang/ArrayStore2.java: New file.
+ * libjava.lang/ArrayStore2.out: New file.
+ * libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.
+
+ * libjava.lang/stringconst.xfail: xfail-output -> xfail-source-output.
+
+2002-02-18 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/err7.xfail: Removed.
+ * libjava.lang/err8.xfail: Removed.
+
+ * libjava.lang/ArrayStore.java: New file.
+ * libjava.lang/ArrayStore.out: New file.
+
+2002-02-10 Tom Tromey <tromey at redhat.com>
+
+ For PR java/5641:
+ * libjava.compile/PR5641.xfail: New file.
+ * libjava.compile/PR5641.java: New file.
+
+2002-02-10 Rainer Orth <ro at TechFak.Uni-Bielefeld.DE>
+
+ * lib/libjava.exp (libjava_find_lib): Remove duplicate .la files.
+
+2002-01-05 H.J. Lu <hjl at gnu.org>
+
+ * libjava.jni/jni.exp: Add -I.. for generated header.
+
+2001-12-20 Tom Tromey <tromey at redhat.com>
+
+ For PR java/4766:
+ * libjava.compile/PR4766.java: New file.
+
+2001-12-20 Andrew Haley <aph at redhat.com>
+
+ * libjava.lang/FileHandleGcTest.out: New file.
+ * libjava.lang/FileHandleGcTest.java: New file.
+ * libjava.lang/Array_3.out: New file.
+ * libjava.lang/Array_3.java: New file.
+
+2001-12-18 Tom Tromey <tromey at redhat.com>
+
+ For PR java/3417:
+ * libjava.compile/PR3417.xfail: New file.
+ * libjava.compile/PR3417.java: New file.
+
+2001-12-17 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/PR3731.xfail: Removed.
+
+ Inspired by PR java/5057:
+ * libjava.lang/PR5057_2.java: New file.
+ * libjava.lang/PR5057_2.out: New file.
+
+ For PR java/5057:
+ * libjava.lang/PR5057.out: New file.
+ * libjava.lang/PR5057.java: New file.
+
+2001-12-13 Tom Tromey <tromey at redhat.com>
+
+ For PR libgcj/5103:
+ * libjava.jni/cxxtest.out: New file.
+ * libjava.jni/cxxtest.cc: New file.
+ * libjava.jni/cxxtest.java: New file.
+ * libjava.jni/jni.exp (gcj_jni_test_one): If there is no .c file,
+ assume there is a .cc file.
+
+2001-12-09 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/PR3731.out: Adjust output to reflect that "instanceof"
+ shouldn't trigger class initialization.
+
+2001-12-06 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/BlankFinal.java: Removed; incorrect test.
+
+2001-11-02 Bryce McKinlay <bryce at waitaki.otago.ac.nz>
+
+ * libjava.lang/TLtest.xfail: New file. Needs threads.
+
+2001-10-04 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.lang/PR3096.java: New file.
+ * libjava.lang/PR3096.out: Likewise.
+
+2001-09-27 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.compile/final_initialization_in_ctor.java: New file
+
+2001-08-28 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.compile/final_assignment_check.java: New file.
+ * libjava.compile/final_assignment_check.xfail: Likewise.
+ * libjava.compile/final_local_switch.java: Likewise.
+
+2001-08-24 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.lang/KeepInline.out: Fixed content.
+
+2001-08-17 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.compile/XercesBug.java: New file.
+
+2001-08-12 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.lang/Matrix4f.java: New file.
+ * libjava.lang/Matrix4f.out: New file.
+
+2001-08-03 Richard Henderson <rth at redhat.com>
+
+ * libjava.jni/calls.c (Java_calls_docall): Fix typo.
+
+2001-08-01 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/KeepInline.java: New file.
+ * libjava.lang/KeepInline.out: New file.
+
+2001-07-30 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/SyncTest.java: New file.
+ * libjava.lang/SyncTest.out: New file.
+ * libjava.lang/SyncTest.xfail: New file.
+
+2001-07-27 Rainer Orth <ro at TechFak.Uni-Bielefeld.DE>
+
+ * lib/libjava.exp (${tool}_set_ld_library_path): New, copied from
+ g++.exp.
+
+2001-07-19 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/PR3731.java: New file.
+ * libjava.lang/PR3731.out: New file.
+ * libjava.lang/PR3731.xfail: New file.
+
+2001-07-12 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.compile/anon_ctor_itf_arg.java: Moved to `libjava.lang.'
+ * libjava.compile/anon_ctor_itf_arg.out: Likewise
+ * libjava.lang/invoke_from_inner.java: New file.
+ * libjava.lang/invoke_from_inner.out: Likewise.
+
+2001-07-12 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.compile/anon_ctor_itf_arg.java: New file.
+ * libjava.compile/anon_ctor_itf_arg.out: New file.
+
+2001-07-12 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/N19990310_4.xfail: Removed.
+
+2001-07-10 Alexandre Petit-Bianco <apbianco at readhat.com>
+
+ * libjava.lang/TLtest.java: New file.
+ * libjava.lang/TLtest.out: New file.
+
+2001-07-06 Andrew Haley <aph at cambridge.redhat.com>
+
+ * libjava.lang/Divide_1.java: Add many more test cases.
+ * libjava.lang/Divide_1.out: Likewise.
+
+2001-07-03 Jeff Sturm <jsturm at one-point.com>
+
+ * libjava.lang/II.java: New file.
+ * libjava.lang/II.out: New file.
+
+2001-06-25 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/stub.xfail: Removed.
+
+2001-06-24 Andreas Jaeger <aj at suse.de>
+
+ * libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Fix path for
+ jni.h.
+
+2001-06-14 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jni/jni.exp: New file.
+ * lib/libjava.exp (gcj_link): New proc.
+
+2001-06-08 Tom Tromey <tromey at redhat.com>
+
+ Fix for PR libgcj/2874:
+ * libjava.mauve/mauve.exp (gcj_run_mauve_tests): New proc.
+ (test_mauve): Return 0 on failure.
+ * lib/libjava.exp (test_libjava_from_source): Remove generated
+ files if test is successful.
+ (test_libjava_from_javac): Likewise.
+ (gcj_cleanup): New proc.
+
+2001-06-05 Jeff Sturm <jsturm at one-point.com>
+
+ * lib/libjava.exp (libjava_arguments): Build with `-no-install'
+ when $mode == "link".
+
+2001-06-02 Anthony Green <green at redhat.com>
+
+ * libjava.lang/invokethrow.java: Fake a pass for systems which
+ don't support invocation.
+
+2001-05-30 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/invokethrow.out: New file.
+ * libjava.lang/invokethrow.java: New file.
+
+2001-05-03 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/Thread_Wait_Interrupt.xfail: New file.
+ * libjava.lang/Thread_Wait_2.xfail: New file.
+ * libjava.lang/Thread_Wait.xfail: New file.
+ * libjava.lang/Thread_Sleep.xfail: New file.
+ * libjava.lang/Thread_Monitor.xfail: New file.
+ * libjava.lang/Thread_Join.xfail: New file.
+ * libjava.lang/Thread_Interrupt.xfail: New file.
+ * libjava.lang/Thread_Alive.xfail: New file.
+ * lib/libjava.exp (libjava_init): Set global
+ libjava_uses_threads.
+ (test_libjava): Document `need-threads' tag.
+ (test_libjava_from_source): handle need-threads tag.
+ (test_libjava_from_javac): Likewise.
+
+2001-05-03 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/err11.xfail: Removed.
+
+2001-04-25 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (libjava_init): Use UTF-8 encoding.
+ (test_libjava_from_javac): Likewise.
+
+2001-04-09 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/pr83.xfail: Removed.
+ * libjava.lang/Shazam.xfail: Removed.
+ * libjava.lang/PR162.xfail: Removed.
+ * libjava.compile/PR375.xfail: Removed.
+ * libjava.compile/PR208.xfail: Removed xfail-byte.
+ * libjava.compile/PR207.xfail: Removed xfail-byte.
+
+2001-04-07 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/weirddecl.xfail: Removed xfail-*.
+ * libjava.compile/PR374.xfail: Removed.
+
+2001-03-29 Alexandre Petit-Bianco <apbianco at redhat.com>
+
+ * libjava.lang/instinit2.out: Fixed.
+
+2001-03-22 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jni/field.out: New file.
+ * libjava.jni/field.c: New file.
+ * libjava.jni/field.java: New file.
+
+2001-03-20 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/uesc.java: New file.
+ * libjava.compile/uesc.xfail: New file.
+
+2001-03-16 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (libjava_arguments): Rewrote computation of
+ LD_LIBRARY_PATH. Add gcc build directory if it contains
+ libgcc_s.so.
+
+2001-03-14 Tom Tromey <tromey at redhat.com>
+
+ * libjava.compile/assignment.xfail: Removed.
+ * libjava.compile/assignment_2.xfail: Removed.
+
+2001-02-08 Warren Levy <warrenl at redhat.com>
+
+ * libjava.mauve/mauve.exp: Added support for XFAILs.
+ * libjava.mauve/xfails: New file.
+
+2001-01-26 Tom Tromey <tromey at redhat.com>
+
+ * libjava.jni/martin.c (Java_martin_myNative): Flush stdout.
+
+ * libjava.jni/martin.out: New file.
+ * libjava.jni/martin.c: New file.
+ * libjava.jni/martin.java: New file.
+
+2001-01-16 Richard Henderson <rth at redhat.com>
+
+ * lib/libjava.exp (bytecompile_file): Don't unset CLASSPATH.
+ (libjava_arguments): Use .jar extension for libgcj.
+
+2001-01-08 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.compile/SuperConstr.java: New test case.
+
+2000-12-18 Tom Tromey <tromey at redhat.com>
+
+ * libjava.mauve/mauve.exp (test_mauve): Don't look for exceptions
+ thrown in the test harness.
+ (test_mauve_sim): Likewise.
+
+2000-12-16 Tom Tromey <tromey at redhat.com>
+
+ * lib/libjava.exp (test_libjava_from_javac): Strange quoting trick
+ for `.class' link case.
+ (bytecompile_file): Change directory outside of `catch'.
+
+ * libjava.lang/Thread_1.java: Removed.
+ * libjava.lang/Thread_1.out: Likewise.
+
+ * libjava.lang/N19990310_4.xfail: New file.
+ * libjava.lang/stub.xfail: Added new failure modes.
+ * libjava.lang/stringconst.xfail: New file.
+ * libjava.lang/PR162.xfail: New file.
+ * libjava.lang/Final.xfail: Removed.
+
+2000-12-15 Tom Tromey <tromey at redhat.com>
+
+ * libjava.lang/instinit.out: Removed erroneous line.
+
+ * libjava.lang/Thread_1.out: Expect `0' active count.
+
+ * libjava.lang/stub.xfail: New file.
+ * libjava.lang/pr83.xfail: New file.
+ * libjava.lang/err8.xfail: New file.
+ * libjava.lang/err7.xfail: New file.
+ * libjava.lang/Shazam.xfail: New file.
+ * libjava.lang/err11.xfail: New file.
+
+ * libjava.lang/instinit2.java: Renamed class to `instinit2'.
+
+ * libjava.lang/anon3.out: Fixed typo.
+
+ * libjava.lang/Class_1.java (main): Uncommented out previously
+ failing code; now it works
+
+ * lib/libjava.exp (libjava_tcompile): New proc.
+ (test_libjava_from_source): Use it.
+ (test_libjava_from_javac): Likewise.
+ (find_javac): New proc.
+ (bytecompile_file): Use it.
+ (test_libjava_from_javac): Handle `xfail-gcjC' tag. If no-exec
+ set, then don't link even if program has a `main'.
+
+ * libjava.compile/static_3.xfail: New file.
+ * libjava.compile/weirddecl.xfail: New file.
+ * libjava.compile/static_2.xfail: New file.
+ * libjava.compile/not_a_redef.xfail: New file.
+ * libjava.compile/inner_1.xfail: New file.
+ * libjava.compile/assignment_2.xfail: New file.
+ * libjava.compile/assignment.xfail: New file.
+ * libjava.compile/abstr.xfail: New file.
+ * libjava.compile/PR375.xfail: New file.
+ * libjava.compile/PR374.java: New file.
+ * libjava.compile/PR238.xfail: New file.
+ * libjava.compile/PR208.xfail: New file.
+ * libjava.compile/PR207.xfail: New file.
+
+2000-11-30 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/instinit.java: Don't extend `foo'.
+
+2000-11-26 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/weirddecl.java: New file.
+
+Fri Nov 24 11:25:20 2000 Anthony Green <green at redhat.com>
+
+ * lib/libjava.exp (bytecompile_file): Change default from javac to
+ gcj -C.
+ (libjava_arguments): Fix classpath.
+
+ * libjava.compile/PR129_B.no-link: New file.
+
+2000-11-24 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/PR375.java: New file. For PR gcj/375.
+
+ * libjava.compile/PR374.java: New file. For PR gcj/374.
+
+2000-11-07 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/sjis_comment3.java: Removed.
+ * libjava.compile/sjis_comment2.java: Removed.
+ * libjava.compile/sjis_comment1.java: Removed.
+ * libjava.compile/euc_comment3.java: Removed.
+ * libjava.compile/euc_comment2.java: Removed.
+ * libjava.compile/euc_comment1.java: Removed.
+
+2000-11-03 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): Set --tag on libtool
+ invocation.
+
+Sun Oct 8 19:14:05 2000 Anthony Green <green at redhat.com>
+
+ * libjava.compile/ArrayClass.java: New file.
+
+2000-08-31 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/abstr.xfail: New file.
+ * libjava.compile/abstr.java: New file.
+
+2000-08-09 Tom Tromey <tromey at cygnus.com>
+
+ From PR gcj/310:
+ * libjava.compile/PR310.java: New file.
+ * libjava.compile/PR310.xfail: New file.
+
+2000-07-30 Anthony Green <green at redhat.com>
+
+ * libjava.compile/PR295.java: New file.
+ See PR gcj/295.
+
+2000-07-11 Andrew Haley <aph at cygnus.com>
+
+ * libjava.compile/static_init2.java: New file.
+
+2000-07-07 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/stringconst2.out: New file.
+ * libjava.lang/stringconst2.java: New file.
+
+2000-06-23 Tom Tromey <tromey at cygnus.com>
+
+ For PR gcj/260:
+ * libjava.lang/PR260.out: New file.
+ * libjava.lang/PR260.java: New file.
+
+2000-06-13 Warren Levy <warrenl at cygnus.com>
+
+ Test for PR java.lang/258:
+ * libjava.lang/Class_1.java: New file.
+ * libjava.lang/Class_1.out: New file.
+
+2000-05-29 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.lang/PR242.java: New file. PR gcj/242.
+
+2000-05-23 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/PR238.java: New file. For PR gcj/238.
+
+ * libjava.lang/stringconst.out: New file.
+ * libjava.lang/stringconst.java: New file.
+
+2000-05-22 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.compile/PR232B.java: Additional PR gcj/232 test.
+
+2000-05-22 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/PR235.java: New file. For PR gcj/235.
+
+2000-05-21 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/PR234.java: New file. For PR gcj/234.
+
+2000-05-22 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test for PR gcj/232:
+ * libjava.compile/PR232.java: New file.
+
+2000-05-18 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (bytecompile_file): Use exec, not system.
+
+2000-05-17 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/mauve.exp (test_mauve): Call `prune_warnings'.
+ (test_mauve_sim): Likewise.
+ (test_mauve): Redirect stderr in system call.
+ (test_mauve_sim): Likewise.
+ * lib/libjava.exp (test_libjava_from_source): Call
+ `prune_warnings'.
+ (test_libjava_from_javac): Likewise.
+ (bytecompile_file): Redirect stderr in system call.
+ * lib/libjava.exp (libjava_find_program): New proc.
+ (find_jvscan): Use it.
+ (find_gcjh): New proc.
+
+ * libjava.compile/compile.exp: Use "", not $options.
+
+2000-05-16 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/instance.out: New file.
+ * libjava.lang/instance.java: New file.
+
+2000-05-10 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.lang/StringBuffer_1.java: New file.
+ * libjava.lang/StringBuffer_1.out: New file.
+
+2000-05-08 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test for PR gcj/224:
+ * libjava.compile/PR224.java: New file.
+ * libjava.compile/PR224.xfail: New file.
+
+2000-04-28 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test for PR gcj/218:
+ * libjava.lang/PR218.java: New file.
+ * libjava.lang/PR218.out: New file.
+
+2000-04-25 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.compile/MethodFailure4.java: New file.
+ * libjava.compile/MethodFailure4.out: New file.
+
+2000-04-20 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.compile/block.java: New file.
+ * libjava.compile/block.out: New file.
+
+2000-04-20 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/throwit.out: Fixed output to be correct.
+
+ * libjava.jni/noclass.java (main): `find_it' throws an exception.
+
+2000-04-16 Anthony Green <green at redhat.com>
+
+ * libjava.compile/PR209.java: New file.
+
+2000-04-16 Anthony Green <green at redhat.com>
+
+ * libjava.compile/PR208.java: New file.
+
+2000-04-16 Anthony Green <green at redhat.com>
+
+ * libjava.compile/PR207.java: New file.
+ libjava.compile/PR207_A.java: New file.
+ libjava.compile/PR206.java: New file.
+ libjava.compile/PR206_A.java: New file.
+
+2000-04-14 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Additional test for PR gcj/148:
+ * libjava.compile/assignment_2.java: New file.
+
+2000-03-28 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test case for PR libgcj/184:
+ * libjava.lang/pr184.java: New file.
+ * libjava.lang/pr184.out: New file.
+
+2000-03-27 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/test_long.out: New file.
+ * libjava.lang/test_long.java: New file.
+
+2000-03-26 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Array_1.xfail: Removed.
+
+2000-03-23 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.lang/Thread_Wait.java: New file.
+ * libjava.lang/Thread_Sleep.java: New file.
+ * libjava.lang/Thread_Monitor.java: New file.
+ * libjava.lang/Thread_Wait.out: New file.
+ * libjava.lang/Thread_Sleep.out: New file.
+ * libjava.lang/Thread_Monitor.out: New file.
+ * libjava.lang/Thread_Interrupt.java: New file.
+ * libjava.lang/Thread_Wait_2.java: New file.
+ * libjava.lang/Thread_Wait_2.out: New file.
+ * libjava.lang/Thread_Wait_Interrupt.java: New file.
+ * libjava.lang/Thread_Wait_Interrupt.out: New file.
+ * libjava.lang/Thread_Interrupt.out: New file.
+ * libjava.lang/Thread_Join.java: New file.
+ * libjava.lang/Thread_Join.out: New file.
+ * libjava.lang/Thread_Alive.java: New file.
+ * libjava.lang/Thread_Alive.out: New file.
+
+2000-03-22 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/iface.java: New file.
+ * libjava.compile/static_3.java: New file.
+ * libjava.compile/static_2.java: New file.
+ * libjava.compile/static_1.xfail: New file.
+ * libjava.compile/static_1.java: New file.
+ * libjava.compile/redef6.xfail: New file.
+ * libjava.compile/redef6.java: New file.
+ * libjava.compile/redef5.xfail: New file.
+ * libjava.compile/redef5.java: New file.
+ * libjava.compile/redef4.xfail: New file.
+ * libjava.compile/redef4.java: New file.
+ * libjava.compile/redef3.xfail: New file.
+ * libjava.compile/redef3.java: New file.
+ * libjava.compile/redef2.xfail: New file.
+ * libjava.compile/redef2.java: New file.
+ * libjava.compile/redef1.xfail: New file.
+ * libjava.compile/redef1.java: New file.
+ * libjava.compile/not_a_redef.java: New file.
+ * libjava.compile/inner_1.java: New file.
+ * libjava.compile/static_init.xfail: New file.
+ * libjava.compile/static_init.java: New file.
+
+2000-03-21 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test case for PR libgcj/179:
+ * libjava.lang/pr179.java: New file.
+ * libjava.lang/pr179.out: New file.
+
+2000-03-18 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/pr109.java: Added `println' at end.
+
+2000-03-15 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/pr176.java: New file, for PR gcj/176.
+
+2000-03-15 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.compile/pr172.java: Correct classname to match file name.
+ * libjava.compile/pr174.java: ditto. Remove superfluous main()
+ method.
+ * libjava.compile/PR140.xfail: New file.
+
+2000-03-14 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/PR140.java: New file, for PR gcj/140.
+
+ * libjava.compile/pr172.java: New file, for PR gcj/172.
+
+ * libjava.compile/pr174.java: New file, for PR gcj/174.
+
+2000-03-07 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/PR162.java: Mention `PR162', not `Test', as class
+ name.
+
+2000-03-07 Bryce McKinlay <bryce at albatross.co.nz>
+
+ Test for PR gcj/163:
+ * libjava.lang/PR163.java: New file.
+ * libjava.lang/PR163.xfail: New file.
+
+2000-03-07 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (test_libjava_from_javac): Removed hack for
+ interfaces. Fail if jv-scan reports a parse error.
+
+ Test for PR gcj/162:
+ * libjava.lang/PR162.out: New file.
+ * libjava.lang/PR162.java: New file.
+
+2000-03-06 Tom Tromey <tromey at cygnus.com>
+
+ Test for PR gcj/164:
+ * libjava.compile/PR164.xfail: New file.
+ * libjava.compile/PR164.java: New file.
+
+2000-03-06 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.compile/PR127.java: New file.
+ * libjava.compile/PR127.xfail: New file.
+ PR 127 test case from Joerg Brunsmann.
+
+2000-03-05 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (test_libjava): Document `shouldfail' token.
+ (test_libjava_from_source): Handle `shouldfail' case.
+ (test_libjava_from_javac): Likewise.
+
+ Test for PR libgcj/124:
+ * libjava.compile/PR124.java: New file.
+ * libjava.compile/PR124.xfail: New file.
+
+2000-03-05 Anthony Green <green at redhat.com>
+
+ * libjava.lang/PR141.java: New file.
+ * libjava.lang/PR141.out: New file.
+ For PR java.io/141.
+
+2000-03-05 Anthony Green <green at redhat.com>
+
+ * libjava.compile/PR129_B.java: New file.
+ * libjava.compile/support/PR129_A.java: New file.
+ For PR gcj/129.
+
+2000-03-04 Anthony Green <green at redhat.com>
+
+ * libjava.lang/PR160.java: New file.
+ * libjava.lang/PR160.out: New file.
+
+2000-02-28 Mo DeJong <mdejong at cygnus.com>
+
+ * libjava.compile/static_inner.java: New file.
+
+2000-02-23 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/noclass.c: New file.
+ * libjava.jni/noclass.out: New file.
+ * libjava.jni/noclass.java: New file.
+
+2000-02-18 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/register.java: New file.
+ * libjava.jni/register.c: New file.
+ * libjava.jni/register.out: New file.
+
+2000-02-16 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/calls.c: New file.
+ * libjava.jni/calls.out: New file.
+ * libjava.jni/calls.java: New file.
+
+ * libjava.jni/throwit.java: New file.
+ * libjava.jni/throwit.c: New file.
+ * libjava.jni/throwit.out: New file.
+
+2000-02-15 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/findclass.java: New file
+ * libjava.jni/findclass.c: New file
+ * libjava.jni/findclass.out: New file
+
+2000-02-16 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.lang/InterfaceDispatch.java: New file.
+ * libjava.lang/InterfaceDispatch.out: New file.
+
+2000-02-15 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.jni/virtual.java: New file.
+ * libjava.jni/virtual.c: New file.
+ * libjava.jni/virtual.out: New file.
+ * libjava.jni/final_method.java: New file.
+ * libjava.jni/final_method.c: New file.
+ * libjava.jni/final_method.out: New file.
+ * libjava.jni/overload.java: New file.
+ * libjava.jni/overload.c: New file.
+ * libjava.jni/overload.out: New file.
+ * libjava.jni/simple_int.java: New file.
+ * libjava.jni/simple_int.c: New file.
+ * libjava.jni/simple_int.out: New file.
+ * libjava.jni/invoke.out: New file.
+ * libjava.jni/invoke.c: New file.
+ * libjava.jni/invoke.java: New file.
+
+2000-02-12 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/comment.java: New file.
+
+2000-02-12 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/assignment.java: New file.
+
+2000-02-12 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/inner_data.java: New file.
+
+2000-02-12 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/inner_inherit.java: New file.
+
+2000-02-12 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.lang/inner_interface.out: New file.
+ * libjava.lang/inner_interface.java: New file.
+ * libjava.lang/final_int.out: New file.
+ * libjava.lang/final_int.java: New file.
+ * libjava.lang/final_static_and_friend.out: New file.
+ * libjava.lang/final_static_and_friend.java: New file.
+
+2000-02-07 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.lang/anonarray3.out: New file.
+ * libjava.lang/anonarray3.java: New file.
+
+2000-02-09 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/inner_priv.java: New file.
+
+2000-02-07 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.lang/instinit2.out: New file.
+ * libjava.lang/instinit2.java: New file.
+ * libjava.lang/instinit.out: New file.
+ * libjava.lang/instinit.java: New file.
+ * libjava.lang/anonarray2.out: New file.
+ * libjava.lang/anonarray2.java: New file.
+ * libjava.lang/anonarray.out: New file.
+ * libjava.lang/anonarray.java: New file.
+ * libjava.lang/nested_with_ctor.out: New file.
+ * libjava.lang/nested_with_ctor.java: New file.
+ * libjava.lang/anfi.out: New file.
+ * libjava.lang/anfi.java: New file.
+ * libjava.lang/stub.out: New file.
+ * libjava.lang/stub.java: New file.
+
+2000-01-30 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.lang/final_inner.java: New file.
+ * libjava.lang/final_inner.out: Likewise.
+
+2000-01-20 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/BlankFinal.java: New file.
+
+2000-01-19 Alexandre Petit-Bianco <apbianco at cygnus.com>
+
+ * libjava.lang/anon.java, libjava.lang/anon2.java,
+ libjava.lang/anon3.java, libjava.lang/anon4.java,
+ libjava.lang/direct_read.java, libjava.lang/direct_write.java,
+ libjava.lang/indirect.java, libjava.lang/indirect_read.java,
+ libjava.lang/indirect_write.java, libjava.lang/inner1.java,
+ libjava.lang/inner2.java, libjava.lang/inner3.java,
+ libjava.lang/inner4.java, libjava.lang/inner_array.java,
+ libjava.lang/multiple_finit.java,
+ libjava.lang/private_direct_read.java,
+ libjava.lang/private_direct_write.java,
+ libjava.lang/private_indirect_read.java,
+ libjava.lang/private_indirect_write.java,
+ libjava.lang/search_outer.java, libjava.lang/tmi.java,
+ libjava.lang/tp.java, libjava.lang/update_outer.java: New files.
+
+2000-01-18 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/inner_pub.java: New file.
+
+2000-01-16 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/pr133.out: New file.
+ * libjava.lang/pr133.java: New file.
+
+ * libjava.lang/pr100.xpo: New file.
+ * libjava.lang/pr100.java: New file.
+
+2000-01-16 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/pr93.xpo: New file.
+ * libjava.lang/pr93.java: New file.
+
+2000-01-16 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/lang.exp: Handle regexp matches correctly.
+
+2000-01-16 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/pr83.out: New file.
+ * libjava.lang/pr83.java: New file.
+
+ * libjava.lang/pr109.out: New file.
+ * libjava.lang/pr109.java: New file.
+
+2000-01-11 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/klass.out: New file.
+ * libjava.lang/klass.java: New file.
+
+1999-12-31 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/mauve.exp (mauve_compute_uses): Let user select
+ specific tests to run.
+
+1999-10-19 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.compile/invokeinterface: New directory.
+ * libjava.compile/invokeinterface/Test.java: New file. Test code for
+ PR gcj/71 and PR gcj/72.
+ * libjava.compile/invokeinterface/A.java: New file.
+ * libjava.compile/invokeinterface/B.java: New file.
+
+1999-10-02 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/Case.xfail: Removed. This test should pass now.
+
+ * libjava.compile/compile.exp: Copied from test.exp.
+ * libjava.compile/test.exp: Removed.
+
+ * libjava.lang/lang.exp: Copied from test.exp.
+ * libjava.lang/test.exp: Removed.
+
+1999-10-01 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/PR56.out: New file.
+ * libjava.lang/PR56.java: New file.
+
+1999-09-29 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/PR55.out: New file.
+ * libjava.lang/PR55.java: New file.
+
+1999-08-25 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.toshiba/G19990304_01.out: New file.
+ * libjava.toshiba/G19990304_01.java: New file.
+
+ * libjava.lang/G19990310_01.out: New file.
+ * libjava.lang/G19990310_01.java: New file.
+
+1999-08-17 Tom Tromey <tromey at cygnus.com>
+
+ From Bryce McKinlay:
+ * libjava.lang/Array_2.java: New file.
+ * libjava.lang/Array_2.out: New file.
+
+1999-08-09 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/Primes.java: New file.
+ * libjava.lang/Primes.out: New file.
+
+1999-07-31 Alexandre Oliva <oliva at dcc.unicamp.br>
+
+ * lib/libjava.exp (bytecompile_file): Use `env(SUN_JAVAC)', that
+ defaults to javac, as Sun-javac compiler or compatible.
+ (libjava_init): Get GCJ from environment if neither GCJ_UNDER_TEST
+ nor TOOL_EXECUTABLE are set. Set `original_ld_library_path' from
+ environment.
+ (libjava_arguments): Prepend `.' and `$srcdir/$subdir' to
+ CLASSPATH, for `support' sources. Search for libgcj.spec in
+ `$objdir/..', by adding -B to GCJ_UNDER_TEST. Append
+ original_ld_library_path to ld_library_path.
+ * libjava.mauve/mauve.exp (test_mauve): Set `env(GCJ)' from
+ GCJ_UNDER_TEST, calculated just like in libjava.exp.
+
+1999-07-14 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/G19990217_02.no-link: New file.
+ * libjava.compile/test.exp: Look for `.no-link' file.
+ * lib/libjava.exp (test_libjava_from_source): Added `no-link'
+ option.
+ (test_libjava_from_javac): Likewise. Also, handle package
+ information from class name when creating class file name.
+
+1999-07-13 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/test.exp: New file.
+ * libjava.lang/err9.out: New file.
+ * libjava.lang/err9.java: New file.
+ * libjava.lang/err8.out: New file.
+ * libjava.lang/err8.java: New file.
+ * libjava.lang/err7.out: New file.
+ * libjava.lang/err7.java: New file.
+ * libjava.lang/err6.out: New file.
+ * libjava.lang/err6.java: New file.
+ * libjava.lang/err5.out: New file.
+ * libjava.lang/err5.java: New file.
+ * libjava.lang/err4.out: New file.
+ * libjava.lang/err4.java: New file.
+ * libjava.lang/err3.out: New file.
+ * libjava.lang/err3.java: New file.
+ * libjava.lang/err2.out: New file.
+ * libjava.lang/err2.java: New file.
+ * libjava.lang/err13.out: New file.
+ * libjava.lang/err13.java: New file.
+ * libjava.lang/err12.out: New file.
+ * libjava.lang/err12.java: New file.
+ * libjava.lang/err11.out: New file.
+ * libjava.lang/err11.java: New file.
+ * libjava.lang/err10.out: New file.
+ * libjava.lang/err10.java: New file.
+ * libjava.lang/err1.out: New file.
+ * libjava.lang/err1.java: New file.
+ * libjava.lang/N19990310_5.out: New file.
+ * libjava.lang/N19990310_5.java: New file.
+ * libjava.lang/N19990310_4.out: New file.
+ * libjava.lang/N19990310_4.java: New file.
+ * libjava.lang/N19990310_3.out: New file.
+ * libjava.lang/N19990310_3.java: New file.
+ * libjava.lang/N19990310_02.out: New file.
+ * libjava.lang/N19990310_02.java: New file.
+ * libjava.lang/G19990303_02.out: New file.
+ * libjava.lang/G19990303_02.java: New file.
+ * libjava.lang/G19990303_01.out: New file.
+ * libjava.lang/G19990303_01.java: New file.
+ * libjava.lang/G19990302_02.out: New file.
+ * libjava.lang/G19990302_02.java: New file.
+ * libjava.lang/G19990301_01.out: New file.
+ * libjava.lang/G19990301_01.java: New file.
+
+ * libjava.compile/N19990317.java: New file.
+ * libjava.compile/N19990310_01.java: New file.
+ * libjava.compile/G19990225_01.java: New file.
+ * libjava.compile/G19990217_02.java: New file.
+ * libjava.compile/G19990217_01.java: New file.
+ * libjava.compile/G19990210_3.java: New file.
+ * libjava.compile/G19990210_2.java: New file.
+ * libjava.compile/G19990210_1.java: New file.
+
+1999-07-06 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Final.xfail: Output fails, not exec.
+
+ * libjava.lang/Final.xfail: New file.
+ * libjava.compile/Case.xfail: New file.
+ * libjava.compile/Where.xfail: New file.
+ * libjava.compile/test.exp: Look for `.xfail' files.
+ * libjava.lang/test.exp: Don't look for `.arg' files.
+ Do look for `.xfail' files.
+ * lib/libjava.exp (test_libjava_from_source): Changed meaning of
+ `exec_args' argument. Handle `xfail-*' arguments.
+ (test_libjava_from_javac): Likewise.
+ (test_libjava): Likewise.
+ (libjava_read_xfail): New proc.
+
+1999-07-05 Bryce McKinlay <bryce at albatross.co.nz>
+
+ * libjava.lang/Final.java: Added.
+ * libjava.lang/Final.out: Added.
+
+1999-07-02 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Finalize_1.out: Removed.
+ * libjava.lang/Finalize_1.java: Removed.
+
+ * libjava.lang/Thread_1.out: Updated.
+ * libjava.lang/Thread_1.java: Don't run exit test.
+
+Thu Jul 1 16:22:19 1999 Anthony Green <green at cygnus.com>
+
+ * libjava.mauve/mauve.exp: Don't stop counting test results
+ prematurely.
+
+1999-06-25 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (test_libjava_from_javac): Fixed typo. Always
+ make class_files a list.
+
+ * lib/libjava.exp (test_libjava_from_javac): Prepend `$objdir/' to
+ class file names.
+
+1999-06-24 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): If `libtool' not found in
+ build tree, just use $GCJ_UNDER_TEST as compiler.
+
+1999-06-23 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): Handle -lzgcj.
+
+1999-05-24 Anthony Green <green at cygnus.com>
+
+ * libjava.lang/Shazam.java: New file.
+ libjava.lang/Shazam.out: New file.
+
+1999-05-12 Andrew Haley <aph at cygnus.com>
+
+ * libjava.lang/Invoke_2.java: New file.
+
+1999-05-03 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): Don't use -nodefaultlibs.
+ (libjava_find_lib): Add `-L' option to find the actual library.
+
+ * libjava.mauve/mauve.exp (test_mauve): Pass `link' to
+ libjava_arguments when linking.
+ (test_mauve_sim): Likewise.
+ * lib/libjava.exp (libjava_arguments): Run `libtool' to link.
+ Don't use `-static'. Added `mode' argument. Use -nodefaultlibs
+ when linking.
+ (test_libjava_from_source): Mention why target_compile failed.
+ Pass `link' to libjava_arguments when linking. Only do `xfails'
+ for tests we would actually have run.
+ (test_libjava_from_javac): Likewise.
+ (libjava_find_lib): Return name of `.la' file.
+
+1999-04-26 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_find_lib): New proc.
+ (libjava_arguments): Use it. Force static linking.
+
+Thu Apr 22 14:19:35 1999 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/OperatorBenchmark.java: New file.
+
+1999-04-09 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.mauve/mauve.exp (KEYS): Default to libgcj.
+
+1999-04-09 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/plusplus.java: New file.
+ From MoT <Sebastien.Villemot at ens.fr>.
+
+1999-04-06 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/mauve.exp (test_mauve_sim): Reference
+ mauve-libgcj.
+ (test_mauve): Likewise.
+
+1999-03-30 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/mauve.exp: Renamed from test.exp. With the new
+ name it is easier to run just the Mauve tests.
+
+ * libjava.mauve/test.exp (test_mauve): Added gnu/testlet/config to
+ list of files to link in.
+ (test_mauve_sim): Likewise.
+ * libjava.mauve/DejaGNUTestHarness.java (srcdir, tmpdir): New
+ static variables.
+ (DejaGNUTestHarness): Removed argument from constructor.
+ (dejasrcdir): New static variable.
+ (main): Set `dejasrcdir'.
+ (getSourceDirectory): New method.
+
+1999-03-08 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.compile/perc.java: New file.
+
+1999-02-26 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.util/test.exp: Removed.
+
+1999-02-25 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/test.exp: Make sure current directory is correct
+ after tests are run.
+
+ * libjava.mauve/test.exp (test_mauve): Removed extra arg in call
+ to bytecompile_file.
+ (test_mauve_sim): Likewise.
+
+Thu Feb 25 09:21:03 1999 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/euc_comment1.java,
+ libjava.compile/euc_comment2.java,
+ libjava.compile/euc_comment3.java,
+ libjava.compile/euc_comment1.java,
+ libjava.compile/euc_comment2.java,
+ libjava.compile/euc_comment3.java: New files.
+
+ * libjava.compile/Case.java, libjava.compile/support/Case.java:
+ New files.
+
+1999-02-24 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (find_jvscan): New proc.
+ (bytecompile_file): Removed `srcfile_in' argument.
+ (test_libjava_from_javac): Use `jv-scan' program to find name of
+ `main' and name of all generated classes. Compile all generated
+ classes, not just primary class. For no-exec tests, only try to
+ build the .o, not the full executable.
+
+Wed Feb 24 11:22:32 1999 Anthony Green <green at hoser.cygnus.com>
+
+ * libjava.compile/test.exp: Minor fix.
+
+1999-02-23 Anthony Green <green at cygnus.com>
+
+ * libjava.compile/Where.java, libjava.compile/support/Waldo.java,
+ libjava.compile/Twice.java, libjava.compile/Semi.java,
+ libjava.compile/Statics.java, libjava.compile/test.exp,
+ libjava.lang/Synch.java, libjava.lang/Synch.out: New files.
+
+1999-02-16 Tom Tromey <tromey at cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AUTOMAKE_OPTIONS): Added no-installinfo.
+
+Wed Feb 17 19:53:51 1999 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.mauve/test.exp: modified file allows Mauve tests to
+ run on JMR board; simplified script to use same procedure for
+ all testing
+
+1999-02-10 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): Updated to track library
+ renames.
+
+1999-02-07 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/slash.java: New file.
+ * libjava.lang/slash.out: New file.
+
+Mon Feb 1 05:17:40 1999 Anthony Green <green at fencer.cygnus.com>
+
+ * lib/libjava.exp: Test compiling from source as well as from
+ bytecodes.
+
+1999-01-11 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.mauve/test.exp (mauve_compute_uses): Read classes file,
+ not choices file.
+
+ * libjava.mauve/test.exp (test_mauve): Added
+ ResourceNotFoundException to list of harness files to compile.
+ (test_mauve_sim): Likewise.
+
+1998-12-17 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Invoke_1.java: New file.
+
+ * libjava.lang/Thread_1.java (Thread_1): Class now public.
+ * libjava.lang/Array_1.java (Array_1): Class now public.
+
+ * libjava.lang/Throw_1.out: New file.
+ * libjava.lang/Throw_1.java: New file.
+
+1998-12-11 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): New proc.
+ (test_libjava): Use it.
+ (bytecompile_file): Added classpath argument.
+ * libjava.mauve/test.exp: New file.
+ * libjava.mauve/DejaGNUTestHarness.java: New file.
+
+1998-12-08 Tom Tromey <tromey at cygnus.com>
+
+ * Various: removed all test files that migrated to Mauve.
+
+1998-12-07 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Array_1.java (main): Removed extraneous
+ getSuperclass call.
+
+1998-11-23 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Finalize_1.java (main): Clear `f' before GC.
+
+1998-10-08 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Thread_1.out: Added missing line.
+
+Fri Oct 2 14:55:46 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Array_1.java: Changed so Cloneable test can run
+ even if clone test itself fails.
+
+ * libjava.lang/Array_1.java: Uncommented calls to getSuperclass.
+ Added test to see if array implements Cloneable.
+
+Thu Oct 1 11:28:06 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Array_1.java: New file.
+ * libjava.lang/Array_1.out: New file.
+
+Thu Oct 1 13:51:00 1998 Anthony Green <green at cygnus.com>
+
+ * testsuite/lib/libjava.exp: Find qthreads library correctly.
+
+Tue Sep 29 16:36:43 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.util/Hashtable_1.java, libjava.util/Hashtable_1.out: Created.
+
+Tue Sep 29 00:40:26 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Thread_1.java (started): New field.
+ (run): Set `started'. Handle all synchronization here.
+ (Thread_1): Initialize `started'.
+ (doit): Just start both threads and let them handle their own
+ synchronization.
+
+ * libjava.lang/Boolean_5.out: Changed to reflect the
+ Boolean_5.java changes.
+ * libjava.lang/Boolean_5.java: Don't replace the system
+ properties, just augment them. Don't print the property object.
+ * libjava.lang/Long_2.out: Changed to reflect Long_2.java
+ changes.
+ * libjava.lang/Long_2.java: Don't replace the system properties,
+ just augment them. Don't print the property object.
+ * libjava.lang/Integer_2.out: Changed to reflect Integer_2.java
+ changes.
+ * libjava.lang/Integer_2.java: Don't replace the system
+ properties, just augment them. Don't print the property object.
+
+Sat Sep 26 15:57:39 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Thread_1.java (main): Catch InterruptedException.
+
+Tue Sep 22 13:45:58 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Thread_1.out: New file.
+ * libjava.lang/Thread_1.java: New file.
+
+Mon Sep 21 14:20:08 1998 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (test_libjava): Use runtest_file_p to see if
+ test should be short-circuited.
+
+Tue Sep 15 13:57:45 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Character_9.java: New file.
+ * libjava.lang/Character_9.out: New file.
+
+Mon Sep 14 12:27:04 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Character_8.out: New file.
+ * libjava.lang/Character_8.java: New file.
+ * libjava.lang/Character_7.out: New file.
+ * libjava.lang/Character_7.java: New file.
+ * libjava.lang/Character_6.out: New file.
+ * libjava.lang/Character_6.java: New file.
+ * libjava.lang/Character_5.out: New file.
+ * libjava.lang/Character_5.java: New file.
+ * libjava.lang/Character_4.out: New file.
+ * libjava.lang/Character_4.java: New file.
+ * libjava.lang/Character_3.out: New file.
+ * libjava.lang/Character_3.java: New file.
+ * libjava.lang/Character_2.out: New file.
+ * libjava.lang/Character_2.java: New file.
+
+Fri Sep 11 10:04:55 1998 Tom Tromey <tromey at cygnus.com>
+
+ * libjava.lang/Character_1.out: New file.
+ * libjava.lang/Character_1.java: New file.
+
+Fri Sep 18 14:43:59 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.lang/Long_1.java, libjava.lang/Long_1.out,
+ libjava.lang/Long_2.java, libjava.lang/Long_2.out: Created.
+
+Fri Sep 18 12:43:52 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.lang/Integer_1.java, libjava.lang/Integer_1.out,
+ libjava.lang/Integer_2.java, libjava.lang/Integer_2.out: Created.
+
+ * libjava.lang/String_2.java, libjava.lang/String_2.out: Use JDK 1.2
+ values for hashCode.
+
+Thu Sep 10 12:44:42 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.lang/String_1.java, libjava.lang/String_1.out,
+ libjava.lang/String_2.java, libjava.lang/String_2.out,
+ libjava.lang/String_3.java, libjava.lang/String_3.out,
+ libjava.lang/String_4.java, libjava.lang/String_4.out,
+ libjava.lang/String_5.java, libjava.lang/String_5.out,
+ libjava.lang/String_6.java, libjava.lang/String_6.out,
+ libjava.lang/String_7.java, libjava.lang/String_7.out,
+ libjava.lang/String_8.java, libjava.lang/String_8.out,
+ libjava.lang/String_9.java, libjava.lang/String_9.out: Created.
+
+Tue Sep 8 13:31:59 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.lang/Byte_1.java, libjava.lang/Byte_1.out,
+ libjava.lang/Short_1.java, libjava.lang/Short_1.out: New files.
+
+Thu Sep 3 15:57:57 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.lang/Boolean_1.java, libjava.lang/Boolean_1.out,
+ libjava.lang/Boolean_2.java, libjava.lang/Boolean_2.out,
+ libjava.lang/Boolean_3.java, libjava.lang/Boolean_3.out,
+ libjava.lang/Boolean_4.java, libjava.lang/Boolean_4.out,
+ libjava.lang/Boolean_5.java, libjava.lang/Boolean_5.out: Created.
+
+Tue Sep 1 12:27:54 1998 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp (bytecompile_file): Don't throw error if byte
+ compilation fails. Added `srcfile_in' argument. Changed return
+ value.
+ (test_libjava): Gracefully handle byte-compilation failure.
+
+ * libjava.lang/System_15.java (main): Typo fix.
+ (System_15): Choose correct class name.
+ (X): Moved into System_15.
+
+ * libjava.lang/System_1.java, libjava.lang/System_1.out,
+ libjava.lang/System_10.java, libjava.lang/System_10.out,
+ libjava.lang/System_11.java, libjava.lang/System_11.out,
+ libjava.lang/System_12.java, libjava.lang/System_12.out,
+ libjava.lang/System_13.java, libjava.lang/System_13.out,
+ libjava.lang/System_14.java, libjava.lang/System_14.out,
+ libjava.lang/System_15.java, libjava.lang/System_15.out,
+ libjava.lang/System_2.java, libjava.lang/System_2.out,
+ libjava.lang/System_3.java, libjava.lang/System_3.out,
+ libjava.lang/System_4.java, libjava.lang/System_4.out,
+ libjava.lang/System_5.java, libjava.lang/System_5.out,
+ libjava.lang/System_6.java, libjava.lang/System_6.out,
+ libjava.lang/System_7.java, libjava.lang/System_7.out,
+ libjava.lang/System_8.java, libjava.lang/System_8.out,
+ libjava.lang/System_9.java, libjava.lang/System_9.out: New files.
+
+ * lib/libjava.exp (test_libjava): Only add -lgc or -lqthreads if
+ library is actually found.
+
+ * lib/libjava.exp (test_libjava): Look for qthreads.
+
+Mon Aug 31 17:49:21 1998 Warren Levy <warrenl at cygnus.com>
+
+ * libjava.util/Random_1.java, libjava.util/Random_1.out,
+ libjava.util/Random_2.java, libjava.util/Random_2.out,
+ libjava.util/Random_3.java, libjava.util/Random_3.out,
+ libjava.util/Random_4.java, libjava.util/Random_4.out,
+ libjava.util/Random_5.java, libjava.util/Random_5.out,
+ libjava.util/Random_6.java, libjava.util/Random_6.out,
+ libjava.util/Random_7.java, libjava.util/Random_7.out,
+ libjava.util/Random_8.java, libjava.util/Random_8.out,
+ libjava.util/test.exp: Created.
+
+Mon Aug 31 16:37:19 1998 Tom Tromey <tromey at cygnus.com>
+
+ * lib/libjava.exp: Changed gjavac to gcj everywhere.
+
+Wed Aug 26 12:20:10 1998 Anthony Green <green at cygnus.com>
+
+ * Makefile.am (EXPECT,RUNTEST): Find expect and runtest
+ correctly.
+ * Makefile.in: Rebuild.
+
+Tue Aug 25 18:43:33 1998 Anthony Green <green at cygnus.com>
+
+ * lib/libjava.exp: Fix CLASSPATH setting.
+
+Tue Aug 25 17:27:37 1998 Anthony Green <green at cygnus.com>
+
+ * ChangeLog, lib/libjava.exp, config/default.exp,
+ libjava.lang/Finalize_1.java, libjava.lang/Finalize_1.out,
+ libjava.lang/Float_1.java, libjava.lang/Float_1.out
+ libjava.lang/test.exp, Makefile.am, Makefile.in: Created.
Added: llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.am?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.am Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = foreign dejagnu
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+
+# autoconf2.13's target_alias
+target_noncanonical = @target_noncanonical@
+
+# Setup the testing framework, if you have one
+EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
+ echo $(top_builddir)/../expect/expect ; \
+ else echo expect ; fi`
+
+RUNTEST = "`if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
+ echo $(top_srcdir)/../dejagnu/runtest ; \
+ else echo runtest; fi` $(AM_RUNTESTFLAGS)"
+
+## Tell dejagnu whether the interpreter is enabled.
+AM_RUNTESTFLAGS = INTERPRETER=$(INTERPRETER)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.in?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/Makefile.in Thu Nov 8 16:56:19 2007
@@ -0,0 +1,509 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = testsuite
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
+ $(top_srcdir)/../config/depstand.m4 \
+ $(top_srcdir)/../config/enable.m4 \
+ $(top_srcdir)/../config/gxx-include-dir.m4 \
+ $(top_srcdir)/../config/iconv.m4 \
+ $(top_srcdir)/../config/lcmessage.m4 \
+ $(top_srcdir)/../config/lead-dot.m4 \
+ $(top_srcdir)/../config/lib-ld.m4 \
+ $(top_srcdir)/../config/lib-link.m4 \
+ $(top_srcdir)/../config/lib-prefix.m4 \
+ $(top_srcdir)/../config/multi.m4 \
+ $(top_srcdir)/../config/no-executables.m4 \
+ $(top_srcdir)/../config/tls.m4 \
+ $(top_srcdir)/../config/unwind_ipinfo.m4 \
+ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \
+ $(top_srcdir)/pkg.m4 $(top_srcdir)/shlibpath.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+CONFIG_HEADER = $(top_builddir)/include/config.h \
+ $(top_builddir)/gcj/libgcj-config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DEJATOOL = $(PACKAGE)
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BACKTRACESPEC = @BACKTRACESPEC@
+BASH_JAR_FALSE = @BASH_JAR_FALSE@
+BASH_JAR_TRUE = @BASH_JAR_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHECKREFSPEC = @CHECKREFSPEC@
+CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DIRLTDL = @DIRLTDL@
+DIVIDESPEC = @DIVIDESPEC@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXCEPTIONSPEC = @EXCEPTIONSPEC@
+EXEEXT = @EXEEXT@
+GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+GCDEPS = @GCDEPS@
+GCINCS = @GCINCS@
+GCJ = @GCJ@
+GCJDEPMODE = @GCJDEPMODE@
+GCJFLAGS = @GCJFLAGS@
+GCJH = @GCJH@
+GCJVERSION = @GCJVERSION@
+GCLIBS = @GCLIBS@
+GCSPEC = @GCSPEC@
+GCTESTSPEC = @GCTESTSPEC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+HASH_SYNC_SPEC = @HASH_SYNC_SPEC@
+IEEESPEC = @IEEESPEC@
+INCLTDL = @INCLTDL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTERPRETER = @INTERPRETER@
+JAR = @JAR@
+JAVA_HOME = @JAVA_HOME@
+JAVA_HOME_SET_FALSE = @JAVA_HOME_SET_FALSE@
+JAVA_HOME_SET_TRUE = @JAVA_HOME_SET_TRUE@
+JC1GCSPEC = @JC1GCSPEC@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LD_FINISH_STATIC_SPEC = @LD_FINISH_STATIC_SPEC@
+LD_START_STATIC_SPEC = @LD_START_STATIC_SPEC@
+LIBART_CFLAGS = @LIBART_CFLAGS@
+LIBART_LIBS = @LIBART_LIBS@
+LIBFFI = @LIBFFI@
+LIBFFIINCS = @LIBFFIINCS@
+LIBGCJDEBUG = @LIBGCJDEBUG@
+LIBGCJTESTSPEC = @LIBGCJTESTSPEC@
+LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
+LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
+LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@
+LIBGCJ_SPEC = @LIBGCJ_SPEC@
+LIBICONV = @LIBICONV@
+LIBLTDL = @LIBLTDL@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+NATIVE_FALSE = @NATIVE_FALSE@
+NATIVE_TRUE = @NATIVE_TRUE@
+NEEDS_DATA_START_FALSE = @NEEDS_DATA_START_FALSE@
+NEEDS_DATA_START_TRUE = @NEEDS_DATA_START_TRUE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLATFORM_INNER_NAT_HDRS = @PLATFORM_INNER_NAT_HDRS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSDEP_SOURCES = @SYSDEP_SOURCES@
+SYSTEMSPEC = @SYSTEMSPEC@
+SYS_ZLIBS = @SYS_ZLIBS@
+TESTSUBDIR_FALSE = @TESTSUBDIR_FALSE@
+TESTSUBDIR_TRUE = @TESTSUBDIR_TRUE@
+THREADCXXFLAGS = @THREADCXXFLAGS@
+THREADDEPS = @THREADDEPS@
+THREADINCS = @THREADINCS@
+THREADLDFLAGS = @THREADLDFLAGS@
+THREADLIBS = @THREADLIBS@
+THREADSPEC = @THREADSPEC@
+THREADSTARTFILESPEC = @THREADSTARTFILESPEC@
+TOOLKIT = @TOOLKIT@
+UNZIP = @UNZIP@
+USE_LIBGCJ_BC_FALSE = @USE_LIBGCJ_BC_FALSE@
+USE_LIBGCJ_BC_TRUE = @USE_LIBGCJ_BC_TRUE@
+USING_BOEHMGC_FALSE = @USING_BOEHMGC_FALSE@
+USING_BOEHMGC_TRUE = @USING_BOEHMGC_TRUE@
+USING_DARWIN_CRT_FALSE = @USING_DARWIN_CRT_FALSE@
+USING_DARWIN_CRT_TRUE = @USING_DARWIN_CRT_TRUE@
+USING_GCC_FALSE = @USING_GCC_FALSE@
+USING_GCC_TRUE = @USING_GCC_TRUE@
+USING_NOGC_FALSE = @USING_NOGC_FALSE@
+USING_NOGC_TRUE = @USING_NOGC_TRUE@
+USING_NO_THREADS_FALSE = @USING_NO_THREADS_FALSE@
+USING_NO_THREADS_TRUE = @USING_NO_THREADS_TRUE@
+USING_POSIX_PLATFORM_FALSE = @USING_POSIX_PLATFORM_FALSE@
+USING_POSIX_PLATFORM_TRUE = @USING_POSIX_PLATFORM_TRUE@
+USING_POSIX_THREADS_FALSE = @USING_POSIX_THREADS_FALSE@
+USING_POSIX_THREADS_TRUE = @USING_POSIX_THREADS_TRUE@
+USING_WIN32_PLATFORM_FALSE = @USING_WIN32_PLATFORM_FALSE@
+USING_WIN32_PLATFORM_TRUE = @USING_WIN32_PLATFORM_TRUE@
+USING_WIN32_THREADS_FALSE = @USING_WIN32_THREADS_FALSE@
+USING_WIN32_THREADS_TRUE = @USING_WIN32_THREADS_TRUE@
+VERSION = @VERSION@
+XLIB_AWT_FALSE = @XLIB_AWT_FALSE@
+XLIB_AWT_TRUE = @XLIB_AWT_TRUE@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZINCS = @ZINCS@
+ZIP = @ZIP@
+ZLIBS = @ZLIBS@
+ZLIBSPEC = @ZLIBSPEC@
+ZLIBTESTSPEC = @ZLIBTESTSPEC@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_AS = @ac_ct_AS@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_GCJ = @ac_ct_GCJ@
+ac_ct_LD = @ac_ct_LD@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__fastdepGCJ_FALSE = @am__fastdepGCJ_FALSE@
+am__fastdepGCJ_TRUE = @am__fastdepGCJ_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_libsubdir = @build_libsubdir@
+build_os = @build_os@
+build_subdir = @build_subdir@
+build_vendor = @build_vendor@
+datadir = @datadir@
+dbexecdir = @dbexecdir@
+exec_prefix = @exec_prefix@
+extra_ldflags_libjava = @extra_ldflags_libjava@
+gxx_include_dir = @gxx_include_dir@
+here = @here@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_subdir = @host_subdir@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libstdcxx_incdir = @libstdcxx_incdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mkinstalldirs = @mkinstalldirs@
+multi_basedir = @multi_basedir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+
+# autoconf2.13's target_alias
+target_noncanonical = @target_noncanonical@
+target_os = @target_os@
+target_subdir = @target_subdir@
+target_vendor = @target_vendor@
+toolexecdir = @toolexecdir@
+toolexeclibdir = @toolexeclibdir@
+toolexecmainlibdir = @toolexecmainlibdir@
+AUTOMAKE_OPTIONS = foreign dejagnu
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+
+# Setup the testing framework, if you have one
+EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
+ echo $(top_builddir)/../expect/expect ; \
+ else echo expect ; fi`
+
+RUNTEST = "`if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
+ echo $(top_srcdir)/../dejagnu/runtest ; \
+ else echo runtest; fi` $(AM_RUNTESTFLAGS)"
+
+AM_RUNTESTFLAGS = INTERPRETER=$(INTERPRETER)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign testsuite/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-DEJAGNU: site.exp
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ l='$(DEJATOOL)'; for tool in $$l; do \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ done; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+site.exp: Makefile
+ @echo 'Making a new site.exp file...'
+ @echo '## these variables are automatically generated by make ##' >site.tmp
+ @echo '# Do not edit here. If you wish to override these values' >>site.tmp
+ @echo '# edit the last section' >>site.tmp
+ @echo 'set srcdir $(srcdir)' >>site.tmp
+ @echo "set objdir `pwd`" >>site.tmp
+ @echo 'set build_alias "$(build_alias)"' >>site.tmp
+ @echo 'set build_triplet $(build_triplet)' >>site.tmp
+ @echo 'set host_alias "$(host_alias)"' >>site.tmp
+ @echo 'set host_triplet $(host_triplet)' >>site.tmp
+ @echo 'set target_alias "$(target_alias)"' >>site.tmp
+ @echo 'set target_triplet $(target_triplet)' >>site.tmp
+ @echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
+ @test ! -f site.exp || \
+ sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
+ @-rm -f site.bak
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv site.tmp site.exp
+
+distclean-DEJAGNU:
+ -rm -f site.exp site.bak
+ -l='$(DEJATOOL)'; for tool in $$l; do \
+ rm -f $$tool.sum $$tool.log; \
+ done
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-DEJAGNU distclean-generic \
+ distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-DEJAGNU check-am clean clean-generic \
+ clean-libtool distclean distclean-DEJAGNU distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Added: llvm-gcc-4.2/trunk/libjava/testsuite/config/default.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/config/default.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/config/default.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/config/default.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+load_lib "standard.exp"
Added: llvm-gcc-4.2/trunk/libjava/testsuite/lib/libjava.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/lib/libjava.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/lib/libjava.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/lib/libjava.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,937 @@
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation
+
+proc load_gcc_lib { filename } {
+ global srcdir
+ load_file $srcdir/../../gcc/testsuite/lib/$filename
+}
+
+load_lib libgloss.exp
+load_gcc_lib target-libpath.exp
+
+# GCJ_UNDER_TEST is the compiler under test.
+
+global tmpdir
+
+if ![info exists tmpdir] {
+ set tmpdir "/tmp"
+}
+
+# This is like `prune_warnings', but it also prunes away a warning
+# from the bytecode front end that we don't care about.
+proc libjava_prune_warnings {text} {
+ set text [prune_warnings $text]
+ set tlist [split $text \n]
+ set len [llength $tlist]
+ for {set i [expr {$len - 1}]} {$i >= 2} {incr i -1} {
+ if {[string match "*unreachable bytecode*" [lindex $tlist $i]]} {
+ # Delete this line, all other unreachable warnings and the previous
+ # two lines containing the method and class.
+ set j [expr {$i - 1}]
+ while {[string match "*unreachable bytecode*" [lindex $tlist $j]]} {
+ incr j -1
+ }
+ incr j -1
+ set tlist [lreplace $tlist $j $i]
+ set i $j
+ }
+ }
+ return [join $tlist \n]
+}
+
+# This is like `target_compile' but it does some surgery to work
+# around stupid DejaGNU bugs. In particular DejaGNU has very poor
+# quoting, so for instance a `$' will be re-evaluated at spawn time.
+# We don't want that.
+proc libjava_tcompile {source destfile type options} {
+ # This strange-looking expression really does quote the `$'.
+ regsub -all -- {\$} $source {\$} source
+ regsub -all -- {\$} $destfile {\$} destfile
+ return [target_compile $source $destfile $type $options]
+}
+
+# Read an `xfail' file if it exists. Returns a list of xfail tokens.
+proc libjava_read_xfail {file} {
+ if {! [file exists $file]} {
+ return ""
+ }
+ set fd [open $file r]
+ set tokens [string trim [read $fd]]
+ close $fd
+ return $tokens
+}
+
+# Find a particular executable. FIXME: this relies on DejaGnu
+# internals. These should probably be exposed in a better way.
+proc libjava_find_program {prog} {
+ global tool_root_dir
+
+ set file [lookfor_file $tool_root_dir $prog]
+ if { $file == "" } {
+ set file [lookfor_file $tool_root_dir gcc/$prog];
+ }
+ if {$file == ""} {
+ set file $prog
+ }
+ return $file
+}
+
+# Find `jv-scan'.
+proc find_jvscan {} {
+ return [libjava_find_program jv-scan]
+}
+
+# Find `gcjh'.
+proc find_gcjh {} {
+ return [libjava_find_program gcjh]
+}
+
+proc find_javac {} {
+ global SUN_JAVAC GCJ_UNDER_TEST env libgcj_jar
+ # If JDK doesn't run on your platform but some other
+ # JDK-compatible javac does, you may set SUN_JAVAC to point to it.
+ # One of the most important properties of a SUN_JAVAC is that it
+ # must create class-files even for classes that have not been
+ # specified in the command line, but that were needed to compile
+ # those that have. For example, Pizza won't do it, but you can
+ # use `kaffe sun.tools.javac.Main', if you have Sun's classes.zip
+ # in the kaffe's default search path.
+ if {![info exists SUN_JAVAC]} {
+ if {[info exists env(SUN_JAVAC)]} {
+ set SUN_JAVAC $env(SUN_JAVAC)
+ } else {
+ set SUN_JAVAC "$GCJ_UNDER_TEST -C -I$libgcj_jar"
+ }
+ }
+ return $SUN_JAVAC
+}
+
+proc bytecompile_file { file objdir {classpath {}} } {
+ global env
+ set dirname [file dirname $file]
+
+ set javac [find_javac]
+ if {$classpath != ""} then {
+ set env(CLASSPATH) $classpath
+ }
+ set here [pwd]
+ cd $dirname
+ send_log "byte compile: $javac -g [list $file] -d $objdir 2>@ stdout\n"
+ if {[catch {
+ set q [eval exec "$javac -g [list $file] -d $objdir 2>@ stdout"]
+ } msg]} then {
+ send_log "couldn't compile $file: $msg\n"
+ set r 0
+ } else {
+ set r 1
+ }
+ cd $here
+ return $r
+}
+
+set libjava_initialized 0
+
+#
+# Build the status wrapper library as needed.
+#
+proc libjava_init { args } {
+ global wrapper_file;
+ global wrap_compile_flags;
+ global libjava_initialized libjava_uses_threads
+ global GCJ_UNDER_TEST
+ global TOOL_EXECUTABLE
+ global env objdir
+ global env libgcj_jar
+ global tool_root_dir
+ global libjava_libgcc_s_path
+ global target_triplet
+ global libjava_version
+
+ # We set LC_ALL and LANG to C so that we get the same error messages as expected.
+ setenv LC_ALL C
+ setenv LANG C
+
+ if { $libjava_initialized == 1 } { return; }
+
+ if ![info exists GCJ_UNDER_TEST] {
+ if [info exists TOOL_EXECUTABLE] {
+ set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
+ } else {
+ if [info exists env(GCJ)] {
+ set GCJ_UNDER_TEST $env(GCJ)
+ } else {
+ set GCJ_UNDER_TEST "[find_gcj]"
+ }
+ }
+ }
+
+ # Find the libgcj jar file.
+
+ # FIXME: This finds libgcj.spec for the default multilib.
+ # If thread models differ between multilibs, this has to be moved
+ # to libjava_arguments
+ set specdir [libjava_find_spec]
+
+ set text [eval exec "$GCJ_UNDER_TEST -B$specdir -v 2>@ stdout"]
+ regexp " version \[^\n\r\]*" $text version
+ set libjava_version [lindex $version 1]
+
+ verbose "version: $libjava_version"
+
+ set libgcj_jar [glob $objdir/../libgcj-$libjava_version.jar]
+ verbose "jar file is $libgcj_jar"
+
+ # The -B is so we find libgcj.spec.
+ regexp -- "Thread model: (\[^\n\]+)\n" $text ignore model
+ set libjava_uses_threads [expr {! ($model == "no"
+ || $model == "none"
+ || $model == "single")}]
+
+ # Always set encoding used by gcj.
+ append GCJ_UNDER_TEST " --encoding=UTF-8"
+
+ set wrapper_file "";
+ set wrap_compile_flags "";
+ if [target_info exists needs_status_wrapper] {
+ set result [build_wrapper "testglue.o"];
+ if { $result != "" } {
+ set wrapper_file [lindex $result 0];
+ set wrap_compile_flags [lindex $result 1];
+ } else {
+ warning "Status wrapper failed to build."
+ }
+ }
+
+ # Finally, add the gcc build directory so that we can find the
+ # shared libgcc. This, like much of dejagnu, is hideous.
+ set libjava_libgcc_s_path {}
+
+ if { [istarget "*-*-darwin*"] } {
+ set so_extension "dylib"
+ } else {
+ set so_extension "so"
+ }
+ set gccdir [lookfor_file $tool_root_dir gcc/libgcc_s.${so_extension}]
+ if {$gccdir != ""} {
+ set gccdir [file dirname $gccdir]
+ lappend libjava_libgcc_s_path $gccdir
+ verbose "libjava_libgcc_s_path = $libjava_libgcc_s_path"
+ set compiler ${gccdir}/xgcc
+ if { [is_remote host] == 0 && [which $compiler] != 0 } {
+ foreach i "[exec $compiler --print-multi-lib]" {
+ set mldir ""
+ regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
+ set mldir [string trimright $mldir "\;@"]
+ if { "$mldir" == "." } {
+ continue
+ }
+ if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.${so_extension}.*]] >= 1 } {
+ lappend libjava_libgcc_s_path "${gccdir}/${mldir}"
+ }
+ }
+ }
+ }
+
+ set libjava_initialized 1
+}
+
+# Find a library. We know where libtool puts the actual libraries,
+# and we look there. The implementation is fairly hacky. We can't
+# compile with -nodefaultlibs, because that will also eliminate the
+# system libraries we need. In order to have gcj still work, it must
+# find the appropriate libraries so we must add -L options for their
+# paths. However we can't simply use those libraries; we still need
+# libtool for linking.
+# Don't return the the lib${name}.la files here, since this causes the
+# libraries to be linked twice: once as lib${name}.so/dylib and another time
+# via gcj's implicit -l${name}. This is both unnecessary and causes the
+# Solaris ld to warn: attempted multiple inclusion of file. This warning
+# is not ignored by the dejagnu framework and cannot be disabled.
+proc libjava_find_lib {dir name} {
+ global base_dir
+ set gp [get_multilibs]
+ foreach extension {so dll dylib sl a} {
+ foreach sub {.libs _libs} {
+ if {$gp != ""} {
+ if {[file exists $gp/$dir/$sub/lib${name}.${extension}]} then {
+ # Just return the `-L' option. The library itself
+ # will be picked up via the spec file.
+ return "-L$gp/$dir/$sub"
+ }
+ }
+ # Just return the `-L' option. The library itself will be
+ # picked up via the spec file.
+ set lib [findfile \
+ $base_dir/../../$dir/$sub/lib${name}.${extension} \
+ "-L$base_dir/../../$dir/$sub" \
+ ""]
+ if {$lib != ""} {
+ return $lib
+ }
+ }
+ }
+ return ""
+}
+
+# Find libgcj.spec. We need to use the file corresponding to the multilib
+# under test since they might differ. Append a trailing slash since this
+# is used with -B.
+proc libjava_find_spec {} {
+ global objdir
+ return "$objdir/../"
+}
+
+# Find `gij'. Return empty string if not found.
+proc libjava_find_gij {} {
+ global base_dir objdir
+
+ set gijdir [lookfor_file [get_multilibs] libjava];
+ # Fall back if get_multilibs fails.
+ if {$gijdir == ""} {
+ set gijdir "$objdir/.."
+ }
+ if {! [file exists $gijdir/gij]} {
+ return ""
+ }
+ return $gijdir/gij
+}
+
+# Remove a bunch of files.
+proc gcj_cleanup {args} {
+ foreach file $args {
+ if {[string match *.o $file]} {
+ verbose "removing [file rootname $file].lo"
+ file delete -force [file rootname $file].lo
+ }
+ file delete -force -- $file
+ verbose "removing $file"
+ }
+ # It is simplest to do this instead of trying to figure out what
+ # bits in .libs ought to be removed.
+ catch {system "rm -rf .libs"}
+}
+
+# Compute arguments needed for compiler. MODE is a libtool mode:
+# either compile or link.
+proc libjava_arguments {{mode compile}} {
+ global base_dir
+ global LIBJAVA
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+ global env
+ global tool_root_dir
+ global libgcj_jar
+ global libjava_libgcc_s_path
+ global libjava_ld_library_path
+ global ld_library_path
+ global target_triplet
+
+ if [info exists LIBJAVA] {
+ set libjava $LIBJAVA;
+ } else {
+ set libjava [libjava_find_lib libjava gcj]
+ }
+
+ verbose "using LIBJAVA = $libjava" 2
+ set args ""
+
+ # Basically we want to build up a colon separated path list from
+ # the value of $libjava.
+
+ set lpath "."
+ foreach dir [list $libjava] {
+ foreach item [split $dir " "] {
+ switch -glob -- $item {
+ "-L*" {
+ lappend lpath [string range $item 2 end]
+ }
+ }
+ }
+ }
+
+ set lpath [concat $lpath $libjava_libgcc_s_path]
+ verbose "lpath = $lpath ; libgcc_s_path = $libjava_libgcc_s_path"
+ set ld_library_path [join $lpath :]
+ set libjava_ld_library_path "$ld_library_path"
+
+ # That's enough to make things work for the normal case.
+ # If we wanted to handle an arbitrary value of libjava,
+ # then we'd have to do a lot more work.
+
+ set_ld_library_path_env_vars
+ if [info exists env(LD_LIBRARY_PATH)] {
+ verbose "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
+ }
+
+ # Determine CLASSPATH separator
+ if { [string match "i?86-pc-mingw32*" $target_triplet] } {
+ set sep ";"
+ } else {
+ set sep ":"
+ }
+
+ # Set the CLASSPATH environment variable
+ global env
+ set env(CLASSPATH) \
+ [join [list . $srcdir/$subdir $objdir $libgcj_jar] $sep]
+ verbose "CLASSPATH is $env(CLASSPATH)"
+
+ if {$mode == "link"} {
+ global wrapper_file wrap_compile_flags
+ lappend args "additional_flags=$wrap_compile_flags"
+ lappend args "libs=$wrapper_file"
+ lappend args "libs=$libjava"
+ lappend args debug
+ }
+
+ if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
+ lappend args "libs=${gluefile}"
+ lappend args "ldflags=$wrap_flags"
+ }
+
+ if [info exists TOOL_OPTIONS] {
+ lappend args "additional_flags=$TOOL_OPTIONS"
+ }
+
+ # Determine libgcj.spec corresponding to multilib under test.
+ set specdir [libjava_find_spec]
+
+ # Search for libtool. We need it to link.
+ set found_compiler 0
+ set d [absolute $objdir]
+ foreach x {. .. ../.. ../../..} {
+ if {[file exists $d/$x/libtool]} then {
+ # We have to run silently to avoid DejaGNU lossage.
+ lappend args \
+ "compiler=$d/$x/libtool --silent --tag=GCJ --mode=$mode $GCJ_UNDER_TEST -B$specdir"
+ set found_compiler 1
+ break
+ }
+ }
+ if {! $found_compiler} {
+ # Append -B$specdir so that we find libgcj.spec before it
+ # is installed.
+ lappend args "compiler=$GCJ_UNDER_TEST -B$specdir"
+ }
+
+ # Avoid libtool wrapper scripts when possible.
+ # but not if libtool warnings results in FAILs
+ if {$mode == "link"} {
+ if {! [istarget "*-*-cygwin*"] && ! [istarget "*-*-mingw*"] } {
+ lappend args "additional_flags=-no-install"
+ }
+ if { [istarget "*-*-darwin*"] } {
+ lappend args "additional_flags=-bind_at_load"
+ lappend args "additional_flags=-multiply_defined suppress"
+ }
+ }
+
+ return $args
+}
+
+# Link a bunch of objects into a program. MAIN is the name of the
+# class holding `main'. Return 0 on failure.
+proc gcj_link {program main files {options {}}} {
+ set arguments [libjava_arguments link]
+ if {[llength $options]} {
+ eval lappend arguments $options
+ }
+ lappend arguments "additional_flags=--main=$main"
+ set x [libjava_prune_warnings \
+ [libjava_tcompile $files $program executable $arguments]]
+ if {$x != ""} {
+ verbose "link failure: $x" 2
+ fail "linking $program"
+ setup_xfail "*-*-*"
+ fail "running $program"
+ return 0
+ }
+
+ pass "linking $program"
+ return 1
+}
+
+# Invoke the program and see what happens. Return 0 on failure.
+proc gcj_invoke {program expectFile ld_library_additions} {
+ global env
+ global libjava_ld_library_path
+ global ld_library_path
+
+ set ld_library_path "$libjava_ld_library_path"
+ if {[llength $ld_library_additions] > 0} {
+ append ld_library_path :[join $ld_library_additions :]
+ }
+
+ set_ld_library_path_env_vars
+ if [info exists env(LD_LIBRARY_PATH)] {
+ verbose "LD_LIBRARY_PATH=$env(LD_LIBRARY_PATH)"
+ }
+
+ set result [libjava_load ./$program]
+ set status [lindex $result 0]
+ set output [lindex $result 1]
+
+ # Restore setting
+ restore_ld_library_path_env_vars
+
+ if {$status != "pass"} {
+ verbose "got $output"
+ fail "$program run"
+ untested "$program output"
+ return 0
+ }
+
+ set id [open $expectFile r]
+ set expected [read $id]
+ close $id
+
+ if {! [string compare $output $expected]} {
+ pass "$program output"
+ return 1
+ } else {
+ fail "$program output"
+ return 0
+ }
+}
+
+# Invoke a program and check its output. EXECUTABLE is the program;
+# ARGS are the arguments to the program. Returns 1 if tests passed
+# (or things were left untested), 0 otherwise.
+proc libjava_invoke {errname testName optName executable inpfile resultfile
+ ld_library_additions args} {
+ global env
+ global libjava_ld_library_path
+ global ld_library_path
+
+ set ld_library_path "$libjava_ld_library_path"
+ if {[llength $ld_library_additions] > 0} {
+ append ld_library_path :[join $ld_library_additions :]
+ }
+
+ set_ld_library_path_env_vars
+ if [info exists env(LD_LIBRARY_PATH)] {
+ verbose "LD_LIBRARY_PATH=$env(LD_LIBRARY_PATH)"
+ }
+
+ upvar $optName opts
+
+ if {[info exists opts(no-exec)]} {
+ if {[info exists opts(need-threads)]} {
+ # This means we wanted to try to run it but we couldn't
+ # because threads aren't supported. So we have to
+ # generate an `untested'.
+ untested "$errname execution - $testName"
+ untested "$errname output - $testName"
+ }
+ return 1
+ }
+
+ set result [libjava_load $executable $args "$inpfile"]
+ set status [lindex $result 0]
+ set output [lindex $result 1]
+
+ # Restore LD_LIBRARY_PATH setting.
+ restore_ld_library_path_env_vars
+
+ if {[info exists opts(xfail-exec)]} then {
+ setup_xfail *-*-*
+ }
+ $status "$errname execution - $testName"
+ if { $status != "pass" } {
+ untested "$errname output - $testName"
+ return 0
+ }
+
+ verbose "resultfile is $resultfile"
+ set id [open $resultfile r]
+ set expected ""
+ append expected [read $id]
+ regsub -all "\r" "$output" "" output
+ regsub "\n*$" $expected "" expected
+ regsub "\n*$" $output "" output
+ regsub "^\n*" $expected "" expected
+ regsub "^\n*" $output "" output
+ regsub -all "\[ \t\]\[ \t\]*" $expected " " expected
+ regsub -all "\[ \t\]*\n\n*" $expected "\n" expected
+ regsub -all "\[ \t\]\[ \t\]*" $output " " output
+ regsub -all "\[ \t\]*\n\n*" $output "\n" output
+ verbose "expected is $expected"
+ verbose "actual is $output"
+ set passed 0
+ if {[info exists opts(regexp_match)]} {
+ if [regexp $expected $output] {
+ set passed 1
+ }
+ } else {
+ if { $expected == $output } {
+ set passed 1
+ }
+ }
+ if {[info exists opts(xfail-output)]} {
+ setup_xfail *-*-*
+ }
+ if { $passed == 1 } {
+ pass "$errname output - $testName"
+ } else {
+ fail "$errname output - $testName"
+ }
+ close $id
+
+ return $passed
+}
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are options telling this proc how to work.
+#
+proc test_libjava_from_source { options srcfile compile_args inpfile resultfile exec_args } {
+ global base_dir
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+
+ # Make opts into an array.
+ set opts(_) x
+ unset opts(_)
+ foreach item $exec_args {
+ set opts($item) x
+ }
+
+ # If we need threads and we don't have them then set the `no-exec'
+ # flag. This is case is also handled specially later.
+ if {[info exists opts(need-threads)]} {
+ global libjava_uses_threads
+ if {! $libjava_uses_threads} {
+ set opts(no-exec) x
+ }
+ }
+
+ set errname [file rootname [file tail $srcfile]]
+ if {! [runtest_file_p $runtests $errname]} {
+ return
+ }
+
+ if {[info exists opts(no-link)]} {
+ set mode compile
+ } else {
+ set mode link
+ }
+ set args [libjava_arguments $mode]
+ if {! [info exists opts(no-link)]} {
+ # Add the --main flag
+ lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]"
+ if { $compile_args != "" } {
+ lappend args "additional_flags=$compile_args"
+ }
+ }
+
+ regsub "^.*/(\[^/.\]+)\[.\]\[^/]*$" "$srcfile" "\\1" out
+ set executable "${objdir}/$out"
+ if {[info exists opts(no-link)]} {
+ append executable ".o"
+ set target object
+ } else {
+ # DOS/win32 targets default to .exe if no suffix is given
+ # We then try to delete a file that doesn't exist. It is
+ # simpler to add the suffix everywhere.
+ append executable ".exe"
+ set target executable
+ }
+ if { $compile_args != "" } {
+ set errname "$errname $compile_args"
+ }
+
+ set removeList [list $executable]
+
+ set x [libjava_prune_warnings \
+ [libjava_tcompile $srcfile "$executable" $target $args]]
+ if {[info exists opts(xfail-gcj)]} {
+ setup_xfail *-*-*
+ }
+ if { $x != "" } {
+ verbose "target_compile failed: $x" 2
+
+ if {[info exists opts(shouldfail)]} {
+ pass "$errname compilation from source"
+ eval gcj_cleanup $removeList
+ return
+ }
+
+ fail "$errname compilation from source"
+ if {[info exists opts(xfail-gcj)]
+ || ! [info exists opts(no-exec)]
+ || [info exists opts(need-threads)]} {
+ untested "$errname execution from source compiled test"
+ untested "$errname output from source compiled test"
+ }
+ return
+ }
+ if {[info exists opts(shouldfail)]} {
+ fail "$errname compilation from source"
+ return
+ }
+ pass "$errname compilation from source"
+
+ # Set up the options the way they are expected by libjava_invoke.
+ if {[info exists opts(xfail-source-output)]} {
+ set opts(xfail-output) x
+ }
+ if {[libjava_invoke $errname "source compiled test" opts $executable \
+ $inpfile $resultfile ""]} {
+ # Everything ok, so clean up.
+ eval gcj_cleanup $removeList
+ }
+}
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are options telling this proc how to work.
+#
+proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile exec_args } {
+ global base_dir
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+ global INTERPRETER
+
+ # Make opts into an array.
+ set opts(_) x
+ unset opts(_)
+ foreach item $exec_args {
+ set opts($item) x
+ }
+
+ # If we need threads and we don't have them then set the `no-exec'
+ # flag. This is case is also handled specially later.
+ if {[info exists opts(need-threads)]} {
+ global libjava_uses_threads
+ if {! $libjava_uses_threads} {
+ set opts(no-exec) x
+ }
+ }
+ set errname [file rootname [file tail $srcfile]]
+ if {! [runtest_file_p $runtests $errname]} {
+ return
+ }
+
+ # bytecompile files with Sun's compiler for now.
+ set bc_ok [bytecompile_file $srcfile $objdir]
+
+ set javac [find_javac]
+ # This is an ugly heuristic but it will have to do.
+ if {[string match *gcj* $javac]} {
+ set tag gcjC
+ } else {
+ set tag javac
+ }
+ if {[info exists opts(xfail-$tag)]} {
+ setup_xfail *-*-*
+ }
+ if {! $bc_ok} then {
+ if {[info exists opts(shouldfail)]} {
+ pass "$errname byte compilation"
+ return
+ }
+ fail "$errname byte compilation"
+ untested "$errname compilation from bytecode"
+ if {! [info exists opts(no-exec)]
+ || [info exists opts(need-threads)]} {
+ untested "$errname execution from bytecode->native test"
+ untested "$errname output from bytecode->native test"
+ }
+ return
+ }
+ if {[info exists opts(shouldfail)]} {
+ fail "$errname byte compilation"
+ return
+ }
+ pass "$errname byte compilation"
+
+ set removeList {}
+
+ # Find name to use for --main, and name of all class files.
+ set jvscan [find_jvscan]
+ verbose "jvscan is $jvscan"
+ set main_name [string trim \
+ [libjava_prune_warnings \
+ [lindex [local_exec "$jvscan --encoding=UTF-8 $srcfile --print-main" "" "" 300] 1]]]
+ verbose "main name is $main_name"
+ set class_out [string trim \
+ [libjava_prune_warnings \
+ [lindex [local_exec "$jvscan --encoding=UTF-8 $srcfile --list-class" "" "" 300] 1]]]
+ verbose "class list is $class_out"
+
+ if {[string match "*parse error*" $main_name]
+ || [string match "*parse error*" $class_out]} {
+ untested "$errname compilation from bytecode"
+ if {! [info exists opts(no-exec)]
+ || [info exists opts(need-threads)]} {
+ untested "$errname execution from bytecode->native test"
+ untested "$errname output from bytecode->native test"
+ }
+ return
+ }
+
+ # Turn "a b" into "a.class b.class".
+ # Also, turn "foo.bar" into "foo/bar.class".
+ set class_files {}
+ foreach file [split [string trim $class_out]] {
+ set file [join [split $file .] /]
+ lappend class_files $objdir/$file.class
+ }
+
+ eval lappend removeList $class_files
+
+ # Usually it is an error for a test program not to have a `main'
+ # method. However, for no-exec tests it is ok. Treat no-link
+ # like no-exec here.
+ if {[info exists opts(no-link)]} {
+ set opts(no-exec) x
+ }
+ set largs {}
+
+ if {[info exists opts(no-exec)]} {
+ set type object
+ set mode compile
+ } elseif {$main_name == ""} {
+ perror "No `main' given in program $errname"
+ return
+ } else {
+ set type executable
+ lappend largs "additional_flags=--main=$main_name"
+ # DOS/win32 targets default to .exe if no suffix is given
+ # We then try to delete a file that doesn't exist. It is
+ # simpler to add the suffix everywhere.
+ set executable "${objdir}/${main_name}.exe"
+ set mode link
+ }
+
+ # We purposely ignore errors here; we still want to run the other
+ # appropriate tests.
+ set gij [libjava_find_gij]
+ # libjava_find_gij will return "" if it couldn't find the
+ # program; in this case we want to skip the test.
+ if {$INTERPRETER == "yes" && $gij != ""} {
+ libjava_invoke $errname "gij test" opts $gij \
+ $inpfile $resultfile "" $main_name
+ }
+
+ # Initial arguments.
+ set args [libjava_arguments $mode]
+ eval lappend args $largs
+
+ if { $compile_args != "" } {
+ lappend args "additional_flags=$compile_args"
+ }
+
+ if { $compile_args != "" } {
+ set errname "$errname $compile_args"
+ }
+
+ verbose "compilation command = $args" 2
+ # When compiling and not linking, we have to build each .o
+ # separately. We do this because DejaGNU's target_compile won't
+ # accept an empty "destfile" argument when the mode is "compile".
+ if {$mode == "compile"} {
+ foreach c_file $class_files {
+ set executable [file rootname [file tail $c_file]].o
+ # Don't write files which contain $ chars.
+ regsub -all "\\$" $executable "\^" executable
+ set x [libjava_prune_warnings \
+ [libjava_tcompile '$c_file' "$executable" $type $args]]
+ lappend removeList $executable
+ if {$x != ""} {
+ break
+ }
+ }
+ } else {
+ # This is so evil: we de-listify CLASS_FILES so that we can
+ # turn around and quote the `$' in it for the shell. I really
+ # hate DejaGNU. It is so !@#$!@# unpredictable.
+ set hack ""
+ foreach stupid $class_files {
+ set hack "$hack $stupid"
+ }
+ lappend removeList $executable
+ set x [libjava_prune_warnings \
+ [libjava_tcompile $hack "$executable" $type $args]]
+ }
+ if {[info exists opts(xfail-byte)]} {
+ setup_xfail *-*-*
+ }
+ if { $x != "" } {
+ verbose "target_compile failed: $x" 2
+ fail "$errname compilation from bytecode"
+ if {! [info exists opts(no-exec)]
+ || [info exists opts(need-threads)]} {
+ untested "$errname execution from bytecode->native test"
+ untested "$errname output from bytecode->native test"
+ }
+ return;
+ }
+ pass "$errname compilation from bytecode"
+
+ # Set up the options the way they are expected by libjava_invoke.
+ if {[info exists opts(xfail-byte-output)]} {
+ set opts(xfail-output) x
+ }
+ if {[libjava_invoke $errname "bytecode->native test" opts $executable \
+ $inpfile $resultfile ""]} {
+ # Everything ok, so clean up.
+ eval gcj_cleanup $removeList
+ }
+}
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are options telling this proc how to work.
+# `no-link' don't try to link the program
+# `no-exec' don't try to run the test
+# `xfail-gcj' compilation from source will fail
+# `xfail-javac' compilation with javac will fail
+# `xfail-gcjC' compilation with gcj -C will fail
+# `shouldfail' compilation from source is supposed to fail
+# This is different from xfail, which marks a known
+# failure that we just haven't fixed.
+# A compilation marked this way should fail with any
+# front end.
+# `xfail-byte' compilation from bytecode will fail
+# `xfail-exec' exec will fail
+# `xfail-output'
+# output will be wrong
+# `xfail-byte-output'
+# output will be wrong when compiled from bytecode
+# `xfail-source-output'
+# output will be wrong when compiled from source code
+# `need-threads'
+# test relies on thread support
+#
+proc test_libjava { options srcfile compile_args inpfile resultfile exec_args } {
+ test_libjava_from_source $options $srcfile $compile_args $inpfile $resultfile $exec_args
+ test_libjava_from_javac $options $srcfile $compile_args $inpfile $resultfile $exec_args
+
+ # Test BC-ABI compilation, currently for bytecode->native only
+ set compile_args_bcabi $compile_args
+ lappend compile_args_bcabi "-findirect-dispatch"
+
+ test_libjava_from_javac $options $srcfile $compile_args_bcabi $inpfile $resultfile $exec_args
+ }
+
+#
+# libjava_version -- extract and print the version number of libjavap
+#
+proc default_libjava_version {} {
+}
+
+proc default_libjava_start { } {
+}
+
+# Local Variables:
+# tcl-indent-level:4
+# End:
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Check if a method name is mangled properly in the presence
+// of an array parameter sharing a part of the type name
+// with a subsequent parameter.
+
+public class PR9577
+{
+ private native void sayHello (String[] s, Object o);
+
+ public static void main (String[] args)
+ {
+ PR9577 x = new PR9577( );
+ x.sayHello( null, null);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/PR9577.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Hello!
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/cni.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/cni.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/cni.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/cni.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,119 @@
+# Tests for CNI code.
+
+# Compile a single C++ file and produce a .o file. OPTIONS is a list
+# of options to pass to the compiler. Returns 0 on failure, 1 on
+# success.
+proc gcj_cni_compile_cxx_to_o {file {options {}}} {
+ global srcdir
+
+ set name [file rootname [file tail $file]]
+ set oname ${name}.o
+
+ # Find the generated header.
+ lappend options "additional_flags=-I. -I.."
+ # Find libgcj headers.
+ lappend options "additional_flags=-I$srcdir/.."
+
+ set x [libjava_prune_warnings \
+ [target_compile $file $oname object $options]]
+ if {$x != ""} {
+ verbose "target_compile failed: $x" 2
+ fail "[file tail $file] compilation"
+ return 0
+ }
+
+ pass "[file tail $file] compilation"
+ return 1
+}
+
+# Build header files given name of .java file. Return 0 on failure.
+proc gcj_cni_build_headers {file} {
+ set gcjh [find_gcjh]
+ set jvscan [find_jvscan]
+
+ set class_out [string trim \
+ [libjava_prune_warnings \
+ [lindex [local_exec "$jvscan --encoding=UTF-8 $file --list-class" "" "" 300] 1]]]
+ if {[string match "*parse error*" $class_out]} {
+ fail "$file header generation"
+ return 0
+ }
+
+ foreach file [split $class_out] {
+ set x [string trim [libjava_prune_warnings \
+ [lindex [local_exec "$gcjh $file" "" "" 300] 1]]]
+ if {$x != ""} {
+ verbose "local_exec failed: $x" 2
+ fail "$file header generation"
+ return 0
+ }
+ }
+
+ pass "$file header generation"
+ return 1
+}
+
+# Do all the work for a single CNI test. Return 0 on failure.
+proc gcj_cni_test_one {file} {
+ global runtests
+
+ # The base name. We use it for several purposes.
+ set main [file rootname [file tail $file]]
+ if {! [runtest_file_p $runtests $main]} {
+ # Simply skip it.
+ return 1
+ }
+
+ if {! [bytecompile_file $file [pwd]]} {
+ fail "bytecompile $file"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $file"
+
+ if {! [gcj_cni_build_headers $file]} {
+ # FIXME
+ return 0
+ }
+
+ set cfile [file join [file dirname $file] nat$main.cc]
+ if {! [gcj_cni_compile_cxx_to_o $cfile]} {
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_link $main $main [list $file nat$main.o]]} {
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_invoke $main [file rootname $file].out {}]} {
+ # FIXME
+ return 0
+ }
+
+ # When we succeed we remove all our clutter.
+ eval gcj_cleanup [glob -nocomplain -- ${main}.*] [list $main nat$main.o]
+
+ return 1
+}
+
+# Run the CNI tests.
+proc gcj_cni_run {} {
+ global srcdir subdir
+ global build_triplet host_triplet
+
+ # For now we only test CNI on native builds.
+ if {$build_triplet == $host_triplet} {
+ catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles
+
+ foreach x $srcfiles {
+ gcj_cni_test_one $x
+ }
+ } else {
+ verbose "CNI tests not run in cross-compilation environment"
+ }
+}
+
+gcj_cni_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+public class longfield
+{
+ long lval = 232300;
+ boolean bval = true;
+ String sval = "maude";
+
+ public native void doitc ();
+
+ public void doitj()
+ {
+ System.out.println(lval);
+ System.out.println(bval);
+ System.out.println(sval);
+ }
+
+ public static void main(String[] args)
+ {
+ longfield f = new longfield();
+ f.doitc();
+ f.doitj();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/longfield.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+232300
+true
+maude
+232300
+true
+maude
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natPR9577.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natPR9577.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natPR9577.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natPR9577.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+#include <stdio.h>
+
+#include "PR9577.h"
+
+void
+PR9577::sayHello (JArray< ::java::lang::String *> *x, ::java::lang::Object *y)
+ {
+ printf( "Hello!\n");
+ }
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natlongfield.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natlongfield.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natlongfield.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natlongfield.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+#include <gcj/cni.h>
+
+#include "longfield.h"
+#include <java/lang/System.h>
+#include <java/io/PrintStream.h>
+
+void
+longfield::doitc ()
+{
+ java::io::PrintStream *ps = java::lang::System::out;
+
+ ps->println(lval);
+ ps->println(bval);
+ ps->println(sval);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natshortfield.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natshortfield.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natshortfield.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/natshortfield.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+#include <stdio.h>
+#include "shortfield.h"
+
+void shortfield::ouch ()
+{
+ printf ("list: %d %d 0x%x\n",
+ modCount,
+ size__,
+ data);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+class shortfieldbase
+{
+ short modCount;
+}
+
+public class shortfield extends shortfieldbase
+{
+ short size__;
+ int data;
+
+ native void ouch ();
+
+ public static void main (String[] s)
+ {
+ shortfield f = new shortfield();
+ f.modCount = 99;
+ f.size__ = 2;
+ f.data = 0x12345678;
+ f.ouch();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.cni/shortfield.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+list: 99 2 0x12345678
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/ArrayClass.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/ArrayClass.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/ArrayClass.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/ArrayClass.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class ArrayClass
+{
+ public static void main (String[] args)
+ {
+ System.out.println (ArrayClass.class);
+ System.out.println (ArrayClass[].class);
+ System.out.println (ArrayClass[][].class);
+ System.out.println (ArrayClass[][][].class);
+ System.out.println (ArrayClass[][][][].class);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/AssertBug.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/AssertBug.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/AssertBug.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/AssertBug.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+// PR java/16927
+public class AssertBug {
+ public void bug(Integer i) {
+ assert(false):
+ i.toString() + "!";
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Case.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Case.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Case.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Case.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+// Simple compiler test.
+
+public class Case
+{
+ public static int foo (int i, support.Case x)
+ {
+ switch (i)
+ {
+ case x.A:
+ return 1;
+ default:
+ return 0;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+/*-------------------------------------------------------------------------*/
+/* File name : G19990210_1 */
+/* : */
+/* Cause : */
+/* : */
+/* Message : G19990210_1.java: In class `G19990210_1': */
+/* G19990210_1.java: In method `foo()': */
+/* G19990210_1.java:8: Unreachable statement. */
+/* return 0; */
+/* ^ */
+/* 1 error */
+/*-------------------------------------------------------------------------*/
+public class G19990210_1 {
+ int foo() {
+ try { ; } finally { ; }
+ return 0;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+/*-------------------------------------------------------------------------*/
+/* File name : G19990210_2 */
+/* : */
+/* Cause : */
+/* : */
+/* Message : G19990210_2.java: In class `G19990210_2': */
+/* : G19990210_2.java: In method `foo()': */
+/* : G19990210_2.java:5: Missing return statement. */
+/* : } */
+/* : ^ */
+/* : 1 error */
+/*-------------------------------------------------------------------------*/
+public class G19990210_2 {
+ public int foo () {
+ return 1;
+ ;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990210_3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+/*-------------------------------------------------------------------------*/
+/* File name : G19990210_3 */
+/* : */
+/* Cause : */
+/* : */
+/* Message : G19990210_3.java: In class `G19990210_3': */
+/* : G19990210_3.java: In method `foo()': */
+/* : G19990210_3.java:23: Invalid argument to `++'. */
+/* : o.i++; */
+/* : ^ */
+/* : 1 error */
+/*-------------------------------------------------------------------------*/
+public class G19990210_3 {
+ static void foo() {
+ bar o = new bar();
+ synchronized(o) {
+ o.i++;
+ }
+ }
+}
+class bar {
+ static int i;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+/*-------------------------------------------------------------------------*/
+/* File name : G19990217_01 */
+/* : */
+/* Cause : Compiler seems to run endlessly. */
+/* : */
+/* Message : No message. It's not stop to compile. */
+/*-------------------------------------------------------------------------*/
+
+public class G19990217_01 {
+ int foo() {
+ try {
+ return 0;
+ }
+ finally { ; }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+/*-------------------------------------------------------------------------*/
+/* File name : G19990217_02 */
+/* : */
+/* Cause : */
+/* : */
+/* Message : Can't access class `foo.bar'. */
+/* : Only public classes and interfaces in other packages can be */
+/* : accessed. */
+/* : public class G19990217_02 extends bar { */
+/* : ^ */
+/*-------------------------------------------------------------------------*/
+package foo;
+public class G19990217_02 extends bar {
+}
+class bar {
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.no-link
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.no-link?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.no-link (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990217_02.no-link Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Don't link me
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990225_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990225_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990225_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/G19990225_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class G19990225_01 {
+ static int foo ;
+ static {
+ foo = 0;
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/InnerExcept.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/InnerExcept.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/InnerExcept.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/InnerExcept.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+import java.io.*;
+
+// Test case for http://gcc.gnu.org/PR12866
+// From Mark Wielaard
+public class InnerExcept
+{
+ static private void createFile() throws IOException
+ {
+ new File("/dev/null");
+ }
+
+ class Inner
+ {
+ private void m() throws IOException
+ {
+ createFile();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,40 @@
+import java.util.*;
+
+public class MethodFailure4 {
+
+ public static String call(A obj) {
+ return "A";
+ }
+ public static String call(I obj) {
+ return "I";
+ }
+
+ interface I {}
+ static class A {}
+ static class B extends A implements I {}
+ static class C extends B {}
+
+
+ public static A getA() {
+ return new A();
+ }
+
+ public static B getB() {
+ return new B();
+ }
+
+ public static C getC() {
+ return new C();
+ }
+
+ public static I getI() {
+ return new C();
+ }
+
+ // this method invocation is ambiguous
+
+ public static void main(String[] argv) {
+ call( getC() );
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/MethodFailure4.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990310_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990310_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990310_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990310_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+/*--------------------------------------------------------------------------*/
+/* name : N19990310_01 */
+/* : */
+/* cause : When compare string with connected strings, error. */
+/* : */
+/* Message : Internal compiler error: program jc1 got */
+/* : fatal signal 11 */
+/*--------------------------------------------------------------------------*/
+
+public class N19990310_01 {
+ public static void main(String[] args) {
+
+ if ( "Hello" == ("Hel"+"lo") ) {
+ }
+
+ System.out.println("OK");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990317.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990317.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990317.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/N19990317.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+/*--------------------------------------------------------------------------*/
+/* Name : N19990317.java */
+/* : */
+/* Cause : When initialize valiable whose name is equal to method */
+/* : return value, error. */
+/* : */
+/* Message : Internal compiler error: program jc1 got */
+/* : fatal signal 11 */
+/*--------------------------------------------------------------------------*/
+
+class Point {}
+
+public class N19990317 {
+
+ Point func() {
+ return null;
+ }
+
+ public static void main(String[] args) {
+ int Point = 2;
+ System.out.println("OK");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/OperatorBenchmark.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/OperatorBenchmark.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/OperatorBenchmark.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/OperatorBenchmark.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,886 @@
+
+/*
+ * Copyright (c) 1996, 1997 by Doug Bell <dbell at shvn.com>. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+
+// This file has been hacked to compile without the rest of the
+// benchmark code.
+
+class OperatorBenchmark {
+
+ public int getSampleCount() { return 0; }
+ public int getSampleMillis() { return 0; }
+ public boolean go;
+ public int useint[];
+ public void startTest () { }
+ public long finishTest () { return 0; }
+ public void startTimer (boolean b) { }
+ public void stopTimer (int a, int b) { }
+ public void report (String s) { }
+ public void println (String s) { }
+
+ public int getTestTime () {
+ return (int) (100 * getSampleCount() * getSampleMillis()) / 1000;
+ }
+
+ public int getRunningTime () {
+ return (int) (1.1 * getTestTime());
+ }
+
+ public long runTest () {
+ int dummy1 = 0, dummy2 = 0, dummy3 = 0; // occupy implicit index slots
+ int cnt, ii;
+ byte b1 = 1, b2 = 2, b3 = 3;
+ short s1 = 1, s2 = 2, s3 = 3;
+ int i1 = 1, i2 = 2, i3 = 3;
+ long l1 = 1, l2 = 2, l3 = 3;
+ float f1 = 1, f2 = 2, f3 = 3;
+ double d1 = 1, d2 = 2, d3 = 3;
+
+ startTest();
+
+ println("--- byte operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1++;
+ stopTimer(cnt, ii);
+ }
+ report("byte++");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 += b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte += byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 + b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte + byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 *= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte *= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 * b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte * byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 *= 2;
+ stopTimer(cnt, ii);
+ }
+ report("byte *= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 <<= 1;
+ stopTimer(cnt, ii);
+ }
+ report("byte <<= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 %= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte %= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 % b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte % byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 /= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte /= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 / b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte / byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 /= 2;
+ stopTimer(cnt, ii);
+ }
+ report("byte /= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 >>= 1;
+ stopTimer(cnt, ii);
+ }
+ report("byte >>= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 >>= i2;
+ stopTimer(cnt, ii);
+ }
+ report("byte >>= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 >> i3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte >> int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 |= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte |= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 | b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte | byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 &= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte &= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 & b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte & byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 ^= b2;
+ stopTimer(cnt, ii);
+ }
+ report("byte ^= byte");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ b1 = (byte) (b2 ^ b3);
+ stopTimer(cnt, ii);
+ }
+ report("byte = byte ^ byte");
+
+
+ println("--- short operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1++;
+ stopTimer(cnt, ii);
+ }
+ report("short++");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 += s2;
+ stopTimer(cnt, ii);
+ }
+ report("short += short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 + s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short + short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 *= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short *= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 * s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short * short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 *= 2;
+ stopTimer(cnt, ii);
+ }
+ report("short *= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 <<= 1;
+ stopTimer(cnt, ii);
+ }
+ report("short <<= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 %= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short %= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 % s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short % short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 /= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short /= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 / s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short / short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 /= 2;
+ stopTimer(cnt, ii);
+ }
+ report("short /= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 >>= 1;
+ stopTimer(cnt, ii);
+ }
+ report("short >>= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 >>= i2;
+ stopTimer(cnt, ii);
+ }
+ report("short >>= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 >> i3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short >> int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 |= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short |= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 | s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short | short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 &= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short &= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 & s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short & short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 ^= s2;
+ stopTimer(cnt, ii);
+ }
+ report("short ^= short");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ s1 = (short) (s2 ^ s3);
+ stopTimer(cnt, ii);
+ }
+ report("short = short ^ short");
+
+
+ println("--- int operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1++;
+ stopTimer(cnt, ii);
+ }
+ report("int++");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 += i2;
+ stopTimer(cnt, ii);
+ }
+ report("int += int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = (i2 + i3);
+ stopTimer(cnt, ii);
+ }
+ report("int = int + int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 *= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int *= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = (i2 * i3);
+ stopTimer(cnt, ii);
+ }
+ report("int = int * int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 *= 2;
+ stopTimer(cnt, ii);
+ }
+ report("int *= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 <<= 1;
+ stopTimer(cnt, ii);
+ }
+ report("int <<= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 %= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int %= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = (i2 % i3);
+ stopTimer(cnt, ii);
+ }
+ report("int = int % int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 /= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int /= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = (i2 / i3);
+ stopTimer(cnt, ii);
+ }
+ report("int = int / int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 /= 2;
+ stopTimer(cnt, ii);
+ }
+ report("int /= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 >>= 1;
+ stopTimer(cnt, ii);
+ }
+ report("int >>= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 >>= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int >>= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = i2 >> i3;
+ stopTimer(cnt, ii);
+ }
+ report("int = int >> int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 |= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int |= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = i2 | i3;
+ stopTimer(cnt, ii);
+ }
+ report("int = int | int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 &= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int &= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = i2 & i3;
+ stopTimer(cnt, ii);
+ }
+ report("int = int & int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 ^= i2;
+ stopTimer(cnt, ii);
+ }
+ report("int ^= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ i1 = i2 ^ i3;
+ stopTimer(cnt, ii);
+ }
+ report("int = int ^ int");
+
+
+ println("--- long operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1++;
+ stopTimer(cnt, ii);
+ }
+ report("long++");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 += l2;
+ stopTimer(cnt, ii);
+ }
+ report("long += long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = (l2 + l3);
+ stopTimer(cnt, ii);
+ }
+ report("long = long + long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 *= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long *= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = (l2 * l3);
+ stopTimer(cnt, ii);
+ }
+ report("long = long * long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 *= 2;
+ stopTimer(cnt, ii);
+ }
+ report("long *= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 <<= 1;
+ stopTimer(cnt, ii);
+ }
+ report("long <<= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 %= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long %= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = (l2 % l3);
+ stopTimer(cnt, ii);
+ }
+ report("long = long % long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 /= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long /= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = (l2 / l3);
+ stopTimer(cnt, ii);
+ }
+ report("long = long / long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 /= 2;
+ stopTimer(cnt, ii);
+ }
+ report("long /= 2");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 >>= 1;
+ stopTimer(cnt, ii);
+ }
+ report("long >>= 1");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 >>= i2;
+ stopTimer(cnt, ii);
+ }
+ report("long >>= int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = l2 >> i3;
+ stopTimer(cnt, ii);
+ }
+ report("long = long >> int");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 |= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long |= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = l2 | l3;
+ stopTimer(cnt, ii);
+ }
+ report("long = long | long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 &= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long &= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = l2 & l3;
+ stopTimer(cnt, ii);
+ }
+ report("long = long & long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 ^= l2;
+ stopTimer(cnt, ii);
+ }
+ report("long ^= long");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ l1 = l2 ^ l3;
+ stopTimer(cnt, ii);
+ }
+ report("long = long ^ long");
+
+
+ println("--- float operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 += f2;
+ stopTimer(cnt, ii);
+ }
+ report("float += float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 = (float) (f2 + f3);
+ stopTimer(cnt, ii);
+ }
+ report("float = float + float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 *= f2;
+ stopTimer(cnt, ii);
+ }
+ report("float *= float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 = (float) (f2 * f3);
+ stopTimer(cnt, ii);
+ }
+ report("float = float * float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 %= f2;
+ stopTimer(cnt, ii);
+ }
+ report("float %= float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 = (float) (f2 % f3);
+ stopTimer(cnt, ii);
+ }
+ report("float = float % float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 /= f2;
+ stopTimer(cnt, ii);
+ }
+ report("float /= float");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ f1 = (float) (f2 / f3);
+ stopTimer(cnt, ii);
+ }
+ report("float = float / float");
+
+
+ println("--- double operators, local vars");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 += d2;
+ stopTimer(cnt, ii);
+ }
+ report("double += double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 = (d2 + d3);
+ stopTimer(cnt, ii);
+ }
+ report("double = double + double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 *= d2;
+ stopTimer(cnt, ii);
+ }
+ report("double *= double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 = (d2 * d3);
+ stopTimer(cnt, ii);
+ }
+ report("double = double * double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 %= d2;
+ stopTimer(cnt, ii);
+ }
+ report("double %= double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 = (d2 % d3);
+ stopTimer(cnt, ii);
+ }
+ report("double = double % double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 /= d2;
+ stopTimer(cnt, ii);
+ }
+ report("double /= double");
+
+ for (cnt = getSampleCount(); --cnt >= 0; ) {
+ startTimer(true);
+ for (ii = 0; go; ii++)
+ d1 = (d2 / d3);
+ stopTimer(cnt, ii);
+ }
+ report("double = double / double");
+
+ useint[0] = dummy1; useint[1] = dummy2; useint[2] = dummy3;
+ return finishTest();
+ }
+} // class OperatorBenchmark
+
+// EOF
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class PR11600 implements Cloneable
+{
+ public Object clone ()
+ {
+ return super.clone ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR11600.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12374.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12374.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12374.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12374.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+public class PR12374 {
+
+ /* We weren't coping with field refs on a string constant... */
+
+ Object Foo()
+ {
+ return "".CASE_INSENSITIVE_ORDER;
+ }
+
+ /* Special casing access to array.length while analysing syntax is
+ evil. Especially when it means we can't cope with a type
+ called length. */
+
+ class length
+ {
+ static final int i = 2;
+ }
+
+ int bar()
+ {
+ return length.i;
+ }
+
+ public static void main (String[] argv)
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+import java.lang.reflect.*;
+
+public class PR124
+{
+ public static void main (String[] args)
+ {
+ System.out.println (new InvocationTargetException ());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR124.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+// Test case for PR127:
+// gcj dumps core on method invocation on a primitive type
+
+class PR127
+{
+ void f()
+ {
+ int i;
+ i.f();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR127.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12857.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12857.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12857.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR12857.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+// Based on original test case from Yves Martin.
+interface PR12857 {
+ static final String CONST = PR12857.class.getName();
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+import support.PR129_A;
+
+public class PR129_B {
+ public static void main ( String[] args ) {
+ int length = PR129_A.strArr.length;
+ System.out.println ( "Array length: " + length );
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.no-link
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.no-link?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.no-link (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR129_B.no-link Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Don't link me
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13024.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13024.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13024.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13024.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+import java.io.*;
+import java.util.zip.*;
+
+class PR13024 {
+ void isZipOrJarArchive(File file) throws IOException {
+ ZipFile zipFile = null;
+
+ try {
+ zipFile = new ZipFile(file);
+ } finally {
+ if (zipFile != null) {
+ try {
+ zipFile.close();
+ } catch (IOException ignored) {}
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13237.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13237.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13237.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13237.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+class PR13237 {
+ double kappa = Math.sqrt(2.0);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR1343.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR1343.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR1343.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR1343.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+import java.util.Vector;
+
+public class PR1343
+{
+ void f(Object[] l)
+ {
+ class x1
+ {
+ };
+ }
+ void f(Vector l)
+ {
+ class x1
+ {
+ };
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+// 15.26: "The type of an assignment expression is the type of the variable"
+// (LHS).
+class PR13733 {
+ String a, c = "";
+ Object b;
+
+ void bug() {
+ a = (b = c); // invalid without cast
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR13733.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class PR140 {
+ public static void fill(int[] a) {
+ for (int i = 0; i < a.length; i++) {
+ a[i] = i;
+ }
+ }
+ public static void main(String[] args) {
+ int[] a = new int[3];
+ fill(a);
+ a.length = 3000;
+ fill(a);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR140.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+class tt
+{
+ static final tt tt1 = new tt();
+ tt()
+ {
+ }
+}
+
+public class PR14853
+{
+ public static void main (String[] args)
+ {
+ // This is an invalid assignment. gcj would get confused in
+ // definite assignment when compiling to object code.
+ tt.tt1 = new tt();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR14853.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR15769.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR15769.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR15769.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR15769.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+class PR15769 {
+ private boolean foo () { return false; }
+
+
+ public boolean bar (double blaz)
+ {
+ return (Double.POSITIVE_INFINITY != blaz) && foo ();
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16249.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16249.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16249.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16249.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Regression test for PR java/16249.
+
+class PR16249
+{
+ static void bug(byte[] iCode, int pc)
+ {
+ while (pc < 100) {
+ try {
+ switch (iCode[pc] & 0xff) {
+ case 666:
+ iCode[++pc] = 1;
+ }
+ }
+ catch (Throwable ex) {
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+// Test case for the PR gcj/163
+
+// Uninitalized final variables should not be permitted.
+
+class PR163
+{
+ final int foo;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR163.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+// Test from PR 164.
+
+class PR164
+{
+ volatile final int foo = 8;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR164.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16675.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16675.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16675.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16675.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class PR16675 {
+ public PR16675(Object obj) { }
+
+ public void someTestMethod() {
+ // gcj crashed compiling this, as `null' had type `void*'.
+ new PR16675(null) { };
+ }
+
+ public void someTestMethod2() {
+ new PR16675((Object) null) { };
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16701.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16701.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16701.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR16701.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+class Cl
+{
+ private static final int CONSTANT1 = 0x001;
+ public static final int CONSTANT2 = 0x002 >> CONSTANT1;
+}
+
+public class PR16701
+{
+ public static final int VALUE = Cl.CONSTANT2;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+class PR19277
+{
+ void snafu (int[] array)
+ {
+ array.length++;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19277.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19295.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19295.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19295.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19295.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+public class PR19295 implements myInterface {
+ public long tagBits = 0;
+
+ public final boolean isArrayType() {
+ return (tagBits & IsArrayType) != 0;
+ }
+}
+
+abstract class blah {
+ public final static int Bit1 = 0x2;
+}
+
+interface myInterface {
+ long IsArrayType = blah.Bit1;
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19674.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19674.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19674.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR19674.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public interface PR19674
+{
+ public interface Inside
+ {
+ void m(int p, int p2);
+ };
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+/* Can't throw what the overridden method doesn't. */
+public class PR20312
+{
+ public String toString( ) throws java.io.IOException
+ {
+ return "SNAFU";
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20312.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class PR20418
+{
+ public static void main( String[] args)
+ {
+ java.io.File = new java.io.File( "junk");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20418.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR206.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR206.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR206.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR206.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+class PR206 {
+
+ PR206 (String s)
+ {
+ support.PR206_A x;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20697.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20697.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20697.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR20697.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+public class PR20697
+{
+ public interface I
+ {
+ public void m();
+ }
+
+ public static class A2 implements I
+ {
+ public void m()
+ {
+ return;
+ }
+ }
+
+}
+
+class Test extends PR20697.A2
+{
+ public void m()
+ {
+ return;
+ }
+
+ public void n()
+ {
+ m();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+class PR207 {
+ PR207 (String s)
+ {
+ System.out.println (s + support.PR207_A.hello());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR207.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+public class PR208
+{
+ public String toString ()
+ {
+ StringBuffer sb = new StringBuffer("");
+
+ sb.append (new java.util.Date().getTime() / 1000);
+
+ try {
+ }
+ catch (java.io.IOException e) {
+ }
+
+ return sb.toString();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR208.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR209.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR209.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR209.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR209.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+public class PR209
+{
+ public int i = java.sql.Types.TINYINT;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR21045.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR21045.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR21045.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR21045.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class PR21045
+{
+ class InnerBase {
+ InnerBase() throws Exception, NullPointerException {}
+ }
+ void method() {
+ try {
+ InnerBase obj = new InnerBase() {};
+ } catch (Exception e) {}
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// File PrivateInnerInterface.java
+
+public class PR224 {
+ private interface Inter {}
+}
+
+
+class PrivateInnerInterface_Test extends PR224 {
+ void foo() {
+ // Implement the interface with an innerclass
+ Inter i = new Inter() { } ;
+ }
+}
+
+// This should fail to compile because Inter is private in the superclass
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR224.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// Use of a "static final String" as a monitor causes ICE
+// in jc1 (20000520)
+//
+// Program received signal SIGSEGV, Segmentation fault.
+// put_decl_node (node=0x0) at ../../../gcc/java/lang.c:413
+// 413 if (TREE_CODE (node) == POINTER_TYPE)
+
+class PR232
+{
+ static final String lock= "LOCK";
+
+ void a()
+ {
+ synchronized(lock) {}
+ }
+};
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232B.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232B.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232B.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR232B.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+// This triggers a failure when compiling from bytecode (only) with 20000519
+
+public class PR232B
+{
+ private static Object lock = new Object();
+ private static PR232B instance = null;
+
+ public void a()
+ {
+ synchronized(lock)
+ {
+ instance = new PR232B();
+ }
+ }
+};
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR234.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR234.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR234.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR234.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+// PR234.java
+public class PR234 extends B implements I
+{
+ public static void main(String args[])
+ {
+ PR234 x = new PR234();
+ x.m();
+ }
+}
+
+// B.java
+class B
+{
+ public void m()
+ {
+ System.out.println ("yes");
+ }
+}
+
+// I.java
+interface I
+{
+ public void m();
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+abstract class Foo
+{
+ public abstract void bar( );
+}
+
+class PR23431_1 extends Foo
+{
+ private void bar( ) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_1.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+interface Foo
+{
+ public void bar( );
+}
+
+class PR23431_2 implements Foo
+{
+ private void bar( ) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR23431_2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR235.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR235.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR235.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR235.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class PR235
+{
+ public static Class[] ConstructArgs =
+ {
+ Integer.TYPE
+ };
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class PR238
+{
+ void foo(A a)
+ {
+ a.toString();
+ }
+
+ class A {}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR238.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR295.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR295.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR295.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR295.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class PR295 {
+ public class csemi {
+ };
+
+ public int foo;
+
+ public interface isemi {
+ };
+
+ public int bar;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class PR310
+{
+ void m (long l)
+ {
+ switch (l)
+ {
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR310.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+// Make sure that assignment conversion checks are done for `return'.
+
+class PR3417
+{
+ char func (int i) { return i; }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR3417.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR374.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR374.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR374.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR374.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class PR374
+{
+ Object a, b[], c[];
+
+ public void foo ()
+ {
+ c = new Object[10];
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR375.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR375.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR375.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR375.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class PR375
+{
+ public void foo ()
+ {
+ (Boolean.TRUE).booleanValue ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR4766.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR4766.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR4766.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR4766.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Test that bytecode generation works even when `finally' clause
+// doesn't return normally.
+
+public class PR4766
+{
+ public static int myfunction()
+ {
+ try
+ {
+ System.out.println ("hi");
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
+ finally
+ {
+ return 0;
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+interface I
+{
+ void m();
+}
+abstract class C implements I {}
+class Foo
+{
+ void Bar(C c)
+ {
+ c.m();
+ }
+ void blah(C c)
+ {
+ c.m();
+ }
+
+ public static void main (String[] args)
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5641.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+import java.util.Vector;
+import java.util.Enumeration;
+
+public class PR5848
+{
+ private Vector data;
+ void sub()
+ {
+ long sz = 0;
+ for (Enumeration e = data.elements() ; e.hasMoreElements() ;) {
+ sz =+ ((byte[])e.nextElement()).length;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5848.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5902.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5902.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5902.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5902.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+class PR5902
+{
+ double d = 019f;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5913.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5913.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5913.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR5913.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+class PR5913
+{
+ boolean test1 = ("" + 1) instanceof String;
+ // This also tests literal parsing, as mentioned in PR 5902.
+ boolean test2 = "" + 0x1instanceof String;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6026.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6026.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6026.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6026.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+class PR6026
+{
+ double d = 0.4e1+0.8;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+// gcj crashes on this
+public class PR6865
+{
+ private foo;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/PR6865.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Semi.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Semi.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Semi.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Semi.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+// Simple compiler test.
+
+public class Semi
+{
+ Semi () { };
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Statics.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Statics.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Statics.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Statics.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+// Simple compiler test.
+
+public interface Statics {
+
+ public static final int OwnerGrabButtonMask = 1<<24;
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/SuperConstr.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/SuperConstr.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/SuperConstr.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/SuperConstr.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+// It is legal to reference "this" from an enclosing type, or an instance
+// field from an enclosing type, in a super constructor call.
+
+public class SuperConstr
+{
+ SuperConstr (Object x, Outer y) {}
+}
+
+class Outer
+{
+ Object x;
+
+ class Sub extends SuperConstr
+ {
+ Sub()
+ {
+ super(x, Outer.this);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020529.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020529.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020529.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020529.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+public class T20020529
+{
+ public void checkXMLLangAttributeValue(String lang)
+ {
+ int offset = -1;
+ if (lang.length() >= 2) {
+ char ch0 = lang.charAt(0);
+ }
+ if (offset > 0) {
+ char ch = lang.charAt(offset++);
+ if (ch != '-') {
+ offset = -1;
+ } else {
+ while (true)
+ {
+ if (ch == '-')
+ ch = lang.charAt(offset++);
+ ch = lang.charAt(offset++);
+ }
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020604.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020604.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020604.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/T20020604.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+// Regression test for gcj crash, when compiled with -O2 on
+// i686-pc-linux-gnu.
+public class T20020604
+{
+ static double d2 = 0.0;
+
+ static Object lockObject = new Object();
+
+ public static double f(double d1) {
+
+ synchronized (lockObject){
+ d2 = Math.max(d1, d2);
+ }
+
+ return d2;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Twice.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Twice.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Twice.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Twice.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Simple compiler test.
+
+public class Twice
+{
+ Twice (boolean q)
+ {
+ if (q)
+ for (int p = 0; p < 10; p++);
+ else
+ for (int p = 0; p < 10; p++);
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+// Simple compiler test.
+
+public final class Where implements support.Waldo
+{
+ int WhereIsWaldo ()
+ {
+ // The compiler should find 'here' in support.Waldo.
+ return here;
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/Where.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+xfail-gcj
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/XercesBug.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/XercesBug.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/XercesBug.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/XercesBug.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+// This is java/4007
+public final class XercesBug
+{
+ static final class OrderedHashtable
+ {
+ private Entry[] fEntries = null;
+ public static final class Entry
+ {
+ int x;
+ }
+
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// This fails to compile from bytecode for some versions of the compiler.
+
+interface foo
+{
+ public void start ();
+}
+
+public abstract class abstr implements foo
+{
+ public void doit ()
+ {
+ start ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/abstr.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+// A definite assignment test.
+
+public class assignment
+{
+ public static Byte foo ()
+ {
+ Byte b;
+
+ while (true) {
+ try {
+ b = Byte.decode ("42");
+ break;
+ } catch (NumberFormatException ignored) {}
+ }
+
+ return b;
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/assignment_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+
+/**
+ * assignment_2.java
+ *
+ *
+ * Created: Thu Apr 13 16:48:40 2000
+ *
+ * @author Oliver Brandt
+ * @version
+ */
+
+public class assignment_2 {
+ public assignment_2 ()
+ {
+ }
+
+ public int foo ()
+ {
+ int result;
+
+ try
+ {
+ result = 0;
+ }
+ finally
+ {
+ }
+ return result;
+
+ }
+
+}// test
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Class block
+// Generated on Thu Apr 20 15:03:23 PDT 2000
+// It is illegal to use modifiers for in-block (local) classes
+
+class block {
+ public void foo ()
+ {
+ public class xxx {}
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `block'...");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/block.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/comment.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/comment.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/comment.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/comment.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class comment
+{
+ /***
+ // This is supposed to be a comment.
+ */
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/compile.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/compile.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/compile.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/compile.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+global srcdir subdir
+
+catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles
+verbose "srcfiles are $srcfiles"
+
+set prefix ""
+foreach x $srcfiles {
+ set args [libjava_read_xfail [file rootname $x].xfail]
+ if {[file exists [file rootname $x].no-link]} {
+ lappend args no-link
+ }
+ lappend args no-exec
+
+ test_libjava "" "$x" "" "" "" $args
+ test_libjava "" "$x" "-O3" "" "" $args
+}
+
+# Local Variables:
+# tcl-indent-level:4
+# End:
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+public class consthrow
+{
+ public consthrow () throws Object
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/consthrow.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+no-link
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+class f {
+ final static char c = 3;
+ final static byte b = 0.1;
+ final static short s = 3.5f;
+ final static int i = 4L;
+ final static long x = 2.5;
+ final static float y = 2.6;
+ final static String S = new Object ();
+ void foo () {
+ final int i = 2.1;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_assignment_check.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+// This test case was insipred by
+// http://gcc.gnu.org/ml/java/2001-09/msg00181.html
+
+class M {
+ int size () { return 3; }
+}
+
+class final_initialization_in_ctor {
+
+ final float loadFactor;
+
+ public final_initialization_in_ctor(M m)
+ {
+ this(Math.max(m.size() * 2, 30), (float)40.0);
+ }
+
+ public final_initialization_in_ctor(int initialCapacity, float loadFactor)
+ {
+ this.loadFactor = loadFactor;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_local_switch.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_local_switch.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_local_switch.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/final_local_switch.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// This bug was discovered while working on java/1413 (compiling freetds.)
+// http://gcc.gnu.org/ml/java-prs/2000-q4/msg00156.html
+// The following code should build.
+
+class final_local_switch {
+ void foo (int type) {
+ final byte CHARSET_CHANGE = (byte)3;
+ final byte CHARSET_CHANGES = (byte)4;
+ switch (type) {
+ case CHARSET_CHANGE:
+ break;
+ case CHARSET_CHANGES:
+ break;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/iface.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/iface.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/iface.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/iface.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+// Test for searching through interface extension.
+
+interface basei
+{
+ public int method ();
+}
+
+interface basei2
+{
+ public int confuse ();
+}
+
+interface derivedi extends basei, basei2
+{
+ public void nothing ();
+}
+
+public class iface
+{
+ public int try_it (derivedi x)
+ {
+ return x.method ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// inner class regression test.
+
+package bar.foo;
+
+class other {
+ class foo {}
+}
+
+class inner_1 {
+ static void bar () {
+ inner_1 xxxx; // Refers to inner_1
+ bar.foo.another xyz; // Refers to non inner another
+ bar.foo.other.foo X; // OK to declare, inner class foo
+ bar.foo.inner_1.t bar; // Inner class t
+ inner_1.t foo; // Inner class t
+ t foobar; // Inner class t
+ other.foo zag; // Valid for declaration.
+ t.ungah x;
+ }
+ void foo () {
+ // z.t.u foo;
+ t t1 = new t();
+ t1.print ();
+ new t().print();
+ }
+
+ class t {
+ void print () {
+ System.out.println ("This is `inner_1.t'");
+ }
+ class ungah {}
+ }
+}
+
+class another {
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_1.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+xfail-gcj
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_data.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_data.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_data.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_data.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Test referencing protected data from parent of inner class.
+
+import java.util.Random;
+
+public class inner_data
+{
+ private class Randomer extends Super {
+ public long xxx ()
+ {
+ return seed;
+ }
+ }
+}
+
+class Super
+{
+ protected long seed;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_inherit.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_inherit.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_inherit.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_inherit.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Test to insure that we can refer to methods inherited through an
+// inner class.
+
+public class inner_inherit
+{
+ private class Agent extends Thread {
+ }
+
+ public void f ()
+ {
+ Agent a = new Agent();
+ a.setDaemon(true);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_priv.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_priv.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_priv.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_priv.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+// Test to ensure that private inner classes are ok.
+
+public class inner_priv
+{
+ private class K
+ {
+ int z;
+ }
+
+ K foo;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_pub.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_pub.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_pub.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/inner_pub.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+// Test to ensure that public inner classes work.
+
+public class inner_pub
+{
+ public class really_inner
+ {
+ int z;
+ }
+
+ really_inner foo;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/A.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/A.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/A.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/A.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+public interface A
+{
+ public void a();
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/B.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/B.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/B.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/B.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+public interface B extends A
+{
+ public void b();
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/Test.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/Test.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/Test.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/invokeinterface/Test.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+public class Test implements B
+{
+ public static void main(String args[])
+ {
+ Test t = new Test();
+ B a = (B) t;
+ a.a();
+ }
+
+ public void a()
+ {
+ System.out.println("A");
+ }
+
+ public void b()
+ {
+ System.out.println("B");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/narrow_case.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/narrow_case.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/narrow_case.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/narrow_case.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class narrow_case
+{
+ private int test(byte b)
+ {
+ switch (b)
+ {
+ case '0' :return 0;
+ }
+ return 99;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// This is not a redef.
+
+class not_a_redef {
+ class baz { class bar { class foo {}} class foo {}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/not_a_redef.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/perc.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/perc.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/perc.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/perc.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+// This generates code that `gcj -C' doesn't like.
+
+public class perc
+{
+ public static void main (String[] args)
+ {
+ System.out.println (27.0 % 10.0);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/plusplus.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/plusplus.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/plusplus.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/plusplus.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+// Test from MoT <Sebastien.Villemot at ens.fr>.
+
+class plusplus {
+ public static void main(String[] args)
+ {
+ int n = 5;
+ int[] gnu = new int[10];
+ gnu[n]++;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr10459.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr10459.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr10459.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr10459.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+public class pr10459
+{
+ pr10459 x;
+
+ public void aMethod() throws Throwable
+ {
+ for (; ;x.foo().foo())
+ ;
+ }
+
+ pr10459 foo()
+ {
+ return null;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr13788.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr13788.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr13788.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr13788.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+class pr13788 {
+ private static final int DUMMY1 = 1 >>> 1;
+
+ public static void main(String [] args) {
+ System.out.println(DUMMY1);
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+// This used to cause a gcj crash in error_if_numeric_overflow.
+
+public class pr15656 {
+ public static void defineClass ()
+ {
+ Object ctor = new Object;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr15656.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr172.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr172.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr172.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr172.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+// jc1 (2.96 20000313) says "`A_Inner' not found"
+
+public class pr172
+{
+ class A_Inner
+ {
+ A_Inner (A_Inner i) {}
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17329.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17329.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17329.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17329.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// gcj had a problem with "SomeClass.field++" when gimplifying.
+
+class helper
+{
+ static int value;
+}
+
+public class pr17329
+{
+ static void doit ()
+ {
+ helper.value += 2;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr174.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr174.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr174.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr174.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+class A
+{
+}
+
+public class pr174
+{
+ public pr174()
+ {
+ A a = new A();
+ }
+
+ class A
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17500.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17500.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17500.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr17500.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// gcj had a problem compiling code where two anonymous classes had
+// captured constructor arguments of the same type but with different
+// names.
+
+public class pr17500
+{
+ public Object m1 (final Object one)
+ {
+ return new Comparable()
+ {
+ public int compareTo(Object other)
+ {
+ return one == other ? 0 : 1;
+ }
+ };
+ }
+
+ public Object m2 (final Object two)
+ {
+ return new Comparable()
+ {
+ public int compareTo(Object other)
+ {
+ return two == other ? 0 : 1;
+ }
+ };
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr176.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr176.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr176.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr176.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+// gcj (20000313) reports "Type `x' not found in the declaration of the
+// return type of method `getX'."
+
+public class pr176
+{
+ class A
+ {
+ x getX()
+ {
+ return new x();
+ }
+
+ class x {}
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public class pr21519 {
+ char[] source;
+ public int compute(int pos) {
+ for (int i = 0; i < pos; ++i)
+ if (!(source[i] == ' ' || source[i] == '\t')) return -1;
+ return pos;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.no-link
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21519.no-link?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21540.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21540.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21540.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr21540.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+public class pr21540
+{
+ public static final long xxx = 555;
+
+ public boolean fn (int v)
+ {
+ switch (v)
+ {
+ case ((int) xxx >>> 32):
+ return true;
+ default:
+ return false;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr25429.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr25429.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr25429.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr25429.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class pr25429
+{
+ private static final int CONST = 0;
+ class I {
+ public void f () {
+ switch(0) {
+ case CONST:
+ }
+ }
+ }
+
+ public static void main(String[] args) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr26042.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr26042.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr26042.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr26042.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+class One
+{
+ long l; // no ICE if this is int, not long
+ int b; // no ICE if this line is gone; type doesn't matter
+}
+
+public class pr26042
+{
+ class Three extends One { }
+ Three three () { return new Three (); }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr7912.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr7912.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr7912.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr7912.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public class pr7912
+{
+ static Cloneable c;
+ public static void main(String[] args)
+ {
+ c = new int[1];
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8712.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8712.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8712.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8712.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class pr8712
+{
+ boolean x(pr8712 a)
+ {
+ return (!(a instanceof pr8712));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8955.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8955.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8955.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/pr8955.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class pr8955
+{
+ static final int val = Integer.MIN_VALUE;
+ void foo()
+ {
+ switch(1) {
+ case val:
+ break;
+ case 1:
+ break;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// A case of innerclass redefinition
+
+class redef1 {
+ class redef1 {}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef1.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// A case of innerclass redefinition
+
+class redef2 {
+ class foo {class redef2{}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// A case of innerclass redefinition
+
+class redef3 {
+ class foo { class bar {} class bar {}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef3.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// A case of innerclass redefinition
+
+class redef4 {
+ class foo { class bar { class foo {}}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef4.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// Redefining and stuffing the redefined class with something
+
+class redef5 {
+ class redef5 {void foobar() {}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef5.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package bar.foo;
+// Redefining and stuffing the redefined class with something
+
+class redef6 {
+ class redef6 {int foo;}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/redef6.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh174912.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh174912.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh174912.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh174912.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+// Derived from Red Hat bugzilla 174912
+// https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=174912
+// The bug is that the anonymous class constructor here will end up
+// with a bogus '[3C' in its signature.
+
+public class rh174912 {
+ public rh174912(char[][] args) { }
+
+ public Object m() {
+ return new rh174912(new char[][] { "hi".toCharArray(),
+ "bob".toCharArray(),
+ "and joe".toCharArray() }) {
+ };
+ }
+
+ public static void main(String[] args) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh175833.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh175833.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh175833.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/rh175833.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+// Follow-on to PR 25429
+public class rh175833
+{
+ private static final Object CONST = new Object();
+ class I {
+ public Object f () {
+ // We need an accessor here.
+ return CONST;
+ }
+ }
+
+ public static void main(String[] args) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+package bar.foo;
+
+class static_1 {
+ class bar {
+ // No Static members: methods, fields, inner classes.
+ static int foo;
+ static int xyzzy (){return 0;}
+ static {}
+ static class foo {}
+ // No Member interface FIXME
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_1.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+package bar.foo;
+
+class static_2 {
+ static class koink {
+ static int i;
+ static void foo (){}
+ static {}
+ static class foo {}
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+package bar.foo;
+
+class static_3 {
+ static class zoink { static class zork {}}
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_3.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+class static_init
+{
+ native { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_init2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+class static_init2 {
+ static final float two_to_the_30 =
+ (float) (1L << 30);
+
+ static float[] floatValues = {
+ (float)1.0,
+ (float)two_to_the_30,
+ };
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_inner.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_inner.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_inner.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/static_inner.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+// File Parent.java
+class Parent {
+ public static class Kid {
+ public Kid(int age) {
+ this.age = age;
+ }
+
+ int age;
+ }
+}
+
+// File NewParent.java
+public class static_inner extends Parent {
+
+ public static void main(String[] argv) {
+ Kid kid = new Kid(2);
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Case.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Case.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Case.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Case.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package support;
+
+public class Case
+{
+ public static final int A = 9;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR129_A.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR129_A.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR129_A.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR129_A.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+package support;
+
+public class PR129_A {
+ public static String[] strArr = { "A", "B", "C" };
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR206_A.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR206_A.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR206_A.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR206_A.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+package support;
+
+public final class PR206_A {
+ static
+ {
+ String s = System.getProperty ("soylent");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR207_A.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR207_A.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR207_A.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/PR207_A.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+package support;
+
+public final class PR207_A {
+ static
+ {
+ String s = System.getProperty ("soylent");
+ }
+
+ public static String hello ()
+ {
+ return "green";
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Waldo.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Waldo.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Waldo.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/support/Waldo.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+package support;
+
+public interface Waldo {
+
+ public static final int here = 9;
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class uesc
+{
+ public foo (Object[] v[])
+ {
+ char z = '\uuu00a0';
+ char y = '\u00au0'; // At one point we erroneously
+ // accepted this.
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/uesc.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+shouldfail
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public class weirddecl
+{
+ // Weird but legal decl.
+ public String foo (String[] dumb[])
+ {
+ return dumb[0][0];
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/weirddecl.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+no-link
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/zeroexp.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/zeroexp.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/zeroexp.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.compile/zeroexp.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+public class zeroexp
+{
+ public static void main (String[] argv)
+ {
+ // gcj used to give an error about this literal.
+ float f = 0E-6F;
+ double d = 0E-9;
+ System.out.println ("" + f + " " + d);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,122 @@
+# Run the Jacks test suite.
+# See http://www-124.ibm.com/developerworks/oss/cvs/jikes/~checkout~/jacks/jacks.html
+
+load_gcc_lib target-libpath.exp
+
+proc gcj_jacks_setup_xfail {ary} {
+ upvar $ary array
+ global srcdir
+
+ set fd [open $srcdir/libjava.jacks/jacks.xfail]
+ while {! [eof $fd]} {
+ set array([gets $fd]) {}
+ }
+ close $fd
+}
+
+proc gcj_jacks_write {filename} {
+ global GCJ_UNDER_TEST
+ global libgcj_jar
+ global libjava_libgcc_s_path
+ global ld_library_path
+
+ set gcjl [split $GCJ_UNDER_TEST]
+ set gcj_cmd [lindex $gcjl 0]
+ set rest [join [lreplace $gcjl 0 0]]
+ append rest " -C"
+
+ set fd [open $filename w]
+ puts $fd "set JAVAC $gcj_cmd"
+ puts $fd "set JAVA_CLASSPATH \"$libgcj_jar\""
+ puts $fd "set JAVAC_FLAGS [list $rest]"
+ puts $fd "set JAVA [list [libjava_find_gij]]"
+
+ # Without an explicit limit on the heap size, tests depending on
+ # an OutOfMemoryError (e.g. "15.9.4-runtime-creation-2") can result
+ # in a lot of unnecessary thrashing.
+ puts $fd "set JAVA_FLAGS \"-mx=64m\""
+
+ puts $fd "set JAVAC_ENCODING_FLAG --encoding="
+ puts $fd "set JAVAC_DEPRECATION_FLAG -Wdeprecated"
+ puts $fd "set tcltest::testConstraints(encoding) 1"
+ puts $fd "set tcltest::testConstraints(gcj) 1"
+ puts $fd "set tcltest::testConstraints(assert) 1"
+ # "Time-consuming JVM limitation tests".
+ # puts $fd "set tcltest::testConstraints(jvm) 1"
+ close $fd
+
+ set ld_library_path $libjava_libgcc_s_path
+ set_ld_library_path_env_vars
+}
+
+proc gcj_jacks_parse {file} {
+ if {[catch {open $file} fd]} {
+ verbose "couldn't parse Jacks output: $fd"
+ return
+ }
+
+ verbose "Reading jacks.xfail"
+ gcj_jacks_setup_xfail xfails
+
+ while {! [eof $fd]} {
+ set line [gets $fd]
+ if {[string match RESULT* $line]} {
+ set linelist [split $line]
+ set test [lindex $linelist 1]
+ if {[info exists xfails($test)]} {
+ setup_xfail "*-*-*"
+ }
+ if {[lindex $linelist 2] == "PASSED"} {
+ pass $test
+ } else {
+ fail $test
+ }
+ }
+ }
+
+ close $fd
+}
+
+proc gcj_jacks_run {} {
+ global srcdir
+
+ if {! [file isdirectory $srcdir/libjava.jacks/jacks]} {
+ # No tests.
+ verbose "Jacks tests not found"
+ return
+ }
+
+ # Jacks forces us to do this. You can't run it from a separate
+ # tree.
+ verbose "Copying Jacks..."
+ catch {system "rm -rf jacks"}
+ catch {system "cp -r $srcdir/libjava.jacks/jacks jacks"}
+
+ set here [pwd]
+ cd jacks
+
+ verbose "Writing Jacks setup file"
+ gcj_jacks_write gcj_setup
+
+ verbose "Running Jacks..."
+ # Just ignore error exits from the jacks program.
+ # It will always error exit for us, since don't completely pass.
+ # At the moment jacks has a hardcoded call to tclsh8.3. To override this,
+ # we check here on the version and launch the script directly with the
+ # tclsh$tcl_ver.
+ set tcl_ver [info tclversion]
+ if {[package vcompare $tcl_ver 8.3] >= 0 } {
+ if {[catch {exec tclsh$tcl_ver jacks gcj} msg]} {
+ send_log "Couldn't run jacks: $msg\n"
+ return
+ }
+ gcj_jacks_parse logging/gcj.log
+ } else {
+ send_log "No suitable tclsh found, you need at least version 8.3 or up.\n"
+ return
+ }
+
+ cd $here
+}
+
+gcj_jacks_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jacks/jacks.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1,686 @@
+12.4.1-runtime-1
+12.4.1-runtime-2
+12.4.1-runtime-3
+12.4.1-runtime-4
+13.1-runtime-constant-1
+13.1-runtime-constant-3
+13.1-runtime-field-1
+13.1-runtime-method-6
+13.4.8-constant-runtime-1
+13.4.8-constant-runtime-2
+14-runtime-jump-1
+14-runtime-jump-2
+14.14-label-1
+14.14-label-2
+14.14-label-5
+14.14-label-8
+14.14-plain-2
+14.14-plain-5
+14.17-null-1
+14.17-null-3
+14.17-null-4
+14.17-null-5
+14.19-shadow-12
+14.19-shadow-13
+14.19-shadow-14
+14.19-shadow-15
+14.19-shadow-4
+14.19-shadow-5
+14.19-shadow-6
+14.19-shadow-7
+14.19.exception-13
+14.19.exception-14
+14.19.exception-15
+14.19.exception-16
+14.19.exception-21
+14.19.exception-22
+14.19.exception-23
+14.19.exception-24
+14.20-abrupt-10
+14.20-abrupt-14
+14.20-abrupt-2
+14.20-abrupt-6
+14.20-block-4
+14.20-block-9
+14.20-catch-15
+14.20-catch-17
+14.20-do-10
+14.20-do-11
+14.20-do-12
+14.20-do-13
+14.20-do-14
+14.20-do-15
+14.20-do-16
+14.20-do-17
+14.20-do-18
+14.20-do-19
+14.20-do-20
+14.20-do-21
+14.20-do-22
+14.20-do-23
+14.20-do-24
+14.20-do-25
+14.20-do-26
+14.20-do-27
+14.20-do-28
+14.20-do-29
+14.20-do-30
+14.20-do-31
+14.20-do-32
+14.20-do-33
+14.20-do-6
+14.20-do-9
+14.20-for-15
+14.20-for-16
+14.20-for-17
+14.20-for-18
+14.20-for-19
+14.20-for-20
+14.20-for-21
+14.20-for-22
+14.20-for-4
+14.20-for-8
+14.20-for-update-1
+14.20-if-6
+14.20-label-10
+14.20-label-11
+14.20-label-12
+14.20-label-13
+14.20-label-14
+14.20-label-15
+14.20-label-5
+14.20-label-8
+14.20-label-9
+14.20-local-2
+14.20-switch-14
+14.20-switch-17
+14.20-switch-18
+14.20-switch-19
+14.20-switch-20
+14.20-switch-21
+14.20-switch-22
+14.20-switch-23
+14.20-switch-24
+14.20-switch-8
+14.20-synchronized-3
+14.20-try-14
+14.20-try-18
+14.20-try-22
+14.20-try-27
+14.20-try-3
+14.20-try-31
+14.20-try-9
+14.20-while-12
+14.20-while-13
+14.20-while-14
+14.20-while-15
+14.20-while-16
+14.20-while-17
+14.20-while-18
+14.20-while-19
+14.20-while-4
+14.3-1
+14.3-scope-10
+14.3-scope-2
+14.3-scope-4
+14.3-scope-5
+14.3-scope-9
+14.3.1-runtime-3
+14.4.2-shadow-5
+14.4.2-shadow-6
+14.4.2-shadow-7
+14.4.2-shadow-9
+14.7-shadow-3
+15.11.1-ambiguous-2
+15.11.1-ambiguous-3
+15.11.1-explicit-constructor-3
+15.11.1-runtime-static-1
+15.11.1-runtime-static-2
+15.11.1-runtime-static-3
+15.11.1-runtime-static-4
+15.11.2-explicit-constructor-2
+15.11.2-meaning-11
+15.11.2-meaning-13
+15.11.2-meaning-14
+15.11.2-meaning-17
+15.11.2-meaning-6
+15.11.2-meaning-8
+15.11.2-meaning-9
+15.11.2-runtime-1
+15.11.2-runtime-2
+15.11.2-syntax-1
+15.12.1-syntax-1
+15.12.1-type-14
+15.12.2.1-accessibility-method-3
+15.12.2.1-accessibility-method-5
+15.12.2.1-accessibility-method-6
+15.12.2.2-ambiguous-10
+15.12.2.2-ambiguous-12
+15.12.2.2-ambiguous-14
+15.12.2.2-ambiguous-17
+15.12.2.2-ambiguous-18
+15.12.2.2-ambiguous-21
+15.12.2.2-ambiguous-25
+15.12.2.2-ambiguous-27
+15.12.2.2-ambiguous-3
+15.12.2.2-ambiguous-6
+15.12.2.2-ambiguous-9
+15.12.3-abstract-1
+15.12.3-abstract-2
+15.12.3-abstract-3
+15.12.3-explicit-constructor-10
+15.12.3-explicit-constructor-3
+15.12.3-explicit-constructor-4
+15.12.3-explicit-constructor-5
+15.12.3-explicit-constructor-7
+15.12.3-explicit-constructor-9
+15.12.3-runtime-mode-1
+15.12.3-runtime-mode-2
+15.12.3-runtime-mode-3
+15.12.3-runtime-mode-4
+15.12.3-runtime-mode-6
+15.12.4.1-runtime-static-1
+15.12.4.1-runtime-static-2
+15.12.4.1-runtime-super-1
+15.12.4.1-runtime-super-2
+15.14-runtime-3
+15.14-runtime-4
+15.15-runtime-3
+15.15-runtime-4
+15.16-semantic-5
+15.16-value-1
+15.16-value-2
+15.17-mod-3
+15.17-mod-4
+15.17.3-assoc-2
+15.17.3-double-1
+15.17.3-double-10
+15.17.3-double-11
+15.17.3-double-12
+15.17.3-double-13
+15.17.3-double-14
+15.17.3-double-2
+15.17.3-double-3
+15.17.3-double-4
+15.17.3-double-5
+15.17.3-double-6
+15.17.3-double-7
+15.17.3-double-8
+15.17.3-double-9
+15.17.3-float-1
+15.17.3-float-10
+15.17.3-float-11
+15.17.3-float-12
+15.17.3-float-13
+15.17.3-float-14
+15.17.3-float-2
+15.17.3-float-3
+15.17.3-float-4
+15.17.3-float-5
+15.17.3-float-6
+15.17.3-float-7
+15.17.3-float-8
+15.17.3-float-9
+15.18.1-double-1
+15.18.1-double-10
+15.18.1-double-11
+15.18.1-double-12
+15.18.1-double-13
+15.18.1-double-2
+15.18.1-double-3
+15.18.1-double-4
+15.18.1-double-5
+15.18.1-double-6
+15.18.1-double-7
+15.18.1-double-8
+15.18.1-double-9
+15.18.1-float-1
+15.18.1-float-10
+15.18.1-float-11
+15.18.1-float-12
+15.18.1-float-2
+15.18.1-float-3
+15.18.1-float-4
+15.18.1-float-5
+15.18.1-float-6
+15.18.1-float-7
+15.18.1-float-8
+15.18.1-float-9
+15.18.1-valid-1
+15.20-2-runtime-1
+15.25-runtime-1
+15.26.2-add-12
+15.26.2-and-10
+15.26.2-and-12
+15.26.2-div-12
+15.26.2-left-shift-12
+15.26.2-mod-12
+15.26.2-mult-12
+15.26.2-or-10
+15.26.2-or-12
+15.26.2-signed-right-shift-12
+15.26.2-sub-12
+15.26.2-unsigned-right-shift-12
+15.26.2-xor-10
+15.26.2-xor-12
+15.28-cast-simple-name-1
+15.28-cast-simple-name-2
+15.28-cast-simple-name-3
+15.28-instanceof-3
+15.28-notstring-1
+15.28-null-1
+15.28-null-3
+15.28-primitive-15
+15.28-primitive-17
+15.28-primitive-3
+15.28-qualified-name-10
+15.28-qualified-name-5
+15.28-qualified-name-6
+15.28-qualified-name-7
+15.28-qualified-name-8
+15.28-qualified-name-9
+15.28-qualified-namestr-7
+15.28-qualified-namestr-8
+15.28-qualified-namestr-9
+15.28-simple-name-6
+15.28-simple-name-8
+15.28-simple-namestr-1
+15.28-simple-namestr-2
+15.28-simple-namestr-3
+15.28-simple-namestr-4
+15.28-string-15
+15.28-string-17
+15.28-string-18
+15.28-string-2
+15.28-string-5
+15.28-string-9
+15.28-uninitialized-simple-name-3
+15.8.2-synthetic-1
+15.8.2-type-11
+15.8.2-type-12
+15.8.2-type-13
+15.8.2-type-14
+15.8.4-static-2
+15.8.5-field-expression-6
+15.8.5-method-expression-8
+15.8.5-variable-5
+15.8.5-variable-6
+15.8.5-variable-7
+15.8.5-variable-8
+15.9-runtime-numcalls-1
+15.9.1-qualified-anonymous-10
+15.9.1-qualified-anonymous-12
+15.9.1-qualified-anonymous-13
+15.9.1-qualified-anonymous-14
+15.9.1-qualified-anonymous-17
+15.9.1-qualified-anonymous-18
+15.9.1-qualified-anonymous-2
+15.9.1-qualified-anonymous-20
+15.9.1-qualified-anonymous-22
+15.9.1-qualified-anonymous-26
+15.9.1-qualified-anonymous-28
+15.9.1-qualified-anonymous-4
+15.9.1-qualified-anonymous-5
+15.9.1-qualified-concrete-12
+15.9.1-qualified-concrete-14
+15.9.1-qualified-concrete-16
+15.9.1-qualified-concrete-24
+15.9.1-qualified-concrete-4
+15.9.1-qualified-concrete-5
+15.9.1-unqualified-anonymous-12
+15.9.1-unqualified-anonymous-14
+15.9.1-unqualified-anonymous-15
+15.9.1-unqualified-anonymous-2
+15.9.1-unqualified-anonymous-23
+15.9.1-unqualified-anonymous-24
+15.9.1-unqualified-anonymous-26
+15.9.1-unqualified-anonymous-27
+15.9.1-unqualified-anonymous-4
+15.9.1-unqualified-anonymous-5
+15.9.1-unqualified-concrete-14
+15.9.1-unqualified-concrete-15
+15.9.1-unqualified-concrete-2
+15.9.1-unqualified-concrete-4
+15.9.1-unqualified-concrete-5
+15.9.4-runtime-creation-1
+15.9.4-runtime-creation-2
+15.9.4-runtime-creation-5
+15.9.5.1-exception-4
+15.9.5.1-superconstructor-7
+15.9.5.1-superconstructor-8
+16-instance-5
+16-instance-6
+16-instance-7
+16-static-1
+16-static-2
+16.1.2-definite-unassignment-fail-6
+16.1.3-definite-unassignment-fail-6
+16.1.5-not-assignable-7
+16.1.5-not-assignable-8
+16.1.7-compound-definite-unassignment-fail-6
+16.1.7-compound-definite-unassignment-fail-7
+16.2.10-definite-assign-pass-2
+16.2.10-definite-unassign-pass-1
+16.2.10-definite-unassign-pass-2
+16.2.10-definite-unassign-pass-3
+16.2.10-definite-unassign-pass-4
+16.2.10-definite-unassign-pass-5
+16.2.10-definite-unassign-pass-6
+16.2.10-definite-unassign-pass-7
+16.2.10-definite-unassign-pass-8
+16.2.11-definite-assign-pass-2
+16.2.11-definite-unassign-pass-1
+16.2.11-definite-unassign-pass-2
+16.2.11-definite-unassign-pass-3
+16.2.11-definite-unassign-pass-4
+16.2.11-definite-unassign-pass-5
+16.2.11-definite-unassign-pass-6
+16.2.11-definite-unassign-pass-7
+16.2.11-definite-unassign-pass-8
+16.2.14-definite-unassign-fail-12
+16.2.14-definite-unassign-fail-13
+16.2.14-definite-unassign-fail-5
+16.2.14-definite-unassign-fail-6
+16.2.14-definite-unassign-fail-7
+16.2.14-definite-unassign-fail-8
+16.2.3-local-class-11
+16.2.3-local-class-4
+16.2.3-local-class-5
+16.2.5-definite-unassign-pass-1
+16.2.5-definite-unassign-pass-2
+16.2.5-definite-unassign-pass-3
+16.2.8-final-3
+16.2.8-final-4
+16.2.8-unassigned-1
+16.2.8-unassigned-20
+16.2.8-unassigned-21
+16.2.8-unassigned-22
+16.2.8-unassigned-23
+16.2.8-unassigned-6
+16.2.8-unassigned-8
+16.2.8-unassigned-9
+16.2.9-definite-assign-pass-2
+16.2.9-definite-unassign-pass-1
+16.2.9-definite-unassign-pass-2
+16.2.9-definite-unassign-pass-3
+16.2.9-definite-unassign-pass-4
+16.2.9-definite-unassign-pass-5
+16.2.9-definite-unassign-pass-6
+16.2.9-definite-unassign-pass-7
+16.5-anonymous-3
+16.5-runtime-1
+16.5-runtime-2
+16.5-runtime-3
+16.5-runtime-4
+16.5-runtime-5
+16.8-constructor-8
+201-enhanced-for-final
+201-enhanced-for-int-array
+201-enhanced-for-Iterable
+201-enhanced-for-object
+201-enhanced-for-with-generics
+3.10.1-invalid-3
+3.10.1-invalid-4
+3.10.2-double-13
+3.10.2-double-14
+3.10.2-round-10
+3.10.2-round-11
+3.10.2-round-12
+3.10.2-round-7
+3.10.2-round-9
+3.2-valid-1
+4.5.4-parameter-2
+4.5.4-parameter-3
+4.5.4-static-1
+4.5.4-static-5
+4.7.10-jvms-class-18
+4.7.10-jvms-class-6
+4.7.10-jvms-class-7
+4.7.10-jvms-class-8
+4.7.10-jvms-constructor-6
+4.7.10-jvms-constructor-8
+4.7.10-jvms-field-6
+4.7.10-jvms-field-8
+4.7.10-jvms-method-6
+4.7.10-jvms-method-8
+5.1.2-btd-1
+5.1.2-btd-3
+5.1.2-btd-5
+5.1.2-btf-1
+5.1.2-btf-3
+5.1.2-btf-5
+5.1.2-std-3
+5.1.2-std-5
+5.1.2-stf-1
+5.1.2-stf-3
+5.1.2-stf-5
+6.3-1
+6.5.1-type-15
+6.5.1-type-16
+6.5.1-typeorpackage-2
+6.5.4.1-simple-10
+6.5.4.1-simple-11
+6.5.4.1-simple-6
+6.5.5.1-import-2
+6.5.5.1-import-3
+6.5.5.1-nested-14
+6.5.5.1-nested-19
+6.5.5.1-nested-20
+6.5.5.1-nested-21
+6.5.5.1-nested-23
+6.5.5.1-nested-8
+6.5.5.1-nested-9
+6.5.5.2-type-4
+6.5.5.2-type-5
+6.5.5.2-type-6
+6.5.5.2-type-7
+6.5.5.2-type-8
+6.5.6.1-explicit-constructor-2
+6.5.6.1-field-6
+6.5.6.1-local-3
+6.5.6.1-local-4
+6.5.6.2-expression-6
+6.5.6.2-type-2
+6.5.6.2-type-6
+6.5.6.2-type-8
+6.5.6.2-type-9
+6.6.1-11
+6.6.1-8
+6.6.1-array-11
+6.6.1-array-13
+6.6.1-array-14
+6.6.1-array-17
+6.6.1-array-2
+6.6.1-array-20
+6.6.1-array-22
+6.6.1-array-23
+6.6.1-array-26
+6.6.1-array-29
+6.6.1-array-3
+6.6.1-array-31
+6.6.1-array-32
+6.6.1-array-35
+6.6.1-array-5
+6.6.1-array-8
+6.6.2.1-protected-type-2
+6.6.2.2-protected-creation-3
+7.1-named-5
+7.1-named-6
+7.1-named-7
+7.4.2-2
+7.5.1-accessible-4
+7.5.1-accessible-5
+7.5.1-canonical-3
+7.5.1-duplicate-4
+7.5.1-shadow-2
+7.5.2-accessible-1
+7.5.2-accessible-3
+7.5.2-accessible-4
+7.5.2-canonical-2
+7.5.2-canonical-3
+7.5.2-duplicate-1
+7.5.2-duplicate-2
+7.5.2-duplicate-3
+7.5.2-duplicate-4
+7.6-optional-restrictions-1
+7.6-unnamed-scope-1
+7.6-unnamed-scope-2
+8.1.1.1-default-abstract-11
+8.1.1.1-default-abstract-13
+8.1.1.1-default-abstract-15
+8.1.1.1-default-abstract-19
+8.1.1.1-default-abstract-21
+8.1.1.1-default-abstract-25
+8.1.2-enclosing-10
+8.1.2-enclosing-4
+8.1.2-enclosing-5
+8.1.2-enclosing-7
+8.1.2-runtime-1
+8.1.2-static-1
+8.1.2-static-11
+8.1.2-static-16
+8.1.3-object-3
+8.3-inheritance-1
+8.3-inheritance-2
+8.3-inheritance-3
+8.3-runtime-1
+8.3.1.2-final-17
+8.3.1.2-final-19
+8.3.1.2-final-2
+8.3.1.2-final-21
+8.3.1.2-final-24
+8.3.1.2-final-27
+8.3.1.2-final-28
+8.3.1.2-final-29
+8.3.2-abrupt-3
+8.3.2-abrupt-5
+8.3.2.2-super-2
+8.3.2.3-illegal-forward-instance-1
+8.3.2.3-illegal-forward-instance-2
+8.3.2.3-illegal-forward-instance-3
+8.3.2.3-illegal-forward-instance-4
+8.3.2.3-illegal-forward-instance-5
+8.3.2.3-illegal-forward-instance-6
+8.3.2.3-illegal-forward-instance-7
+8.3.2.3-illegal-forward-instance-8
+8.3.2.3-illegal-forward-instance-9
+8.3.2.3-illegal-forward-static-1
+8.3.2.3-illegal-forward-static-10
+8.3.2.3-illegal-forward-static-2
+8.3.2.3-illegal-forward-static-3
+8.3.2.3-illegal-forward-static-4
+8.3.2.3-illegal-forward-static-5
+8.3.2.3-illegal-forward-static-6
+8.3.2.3-illegal-forward-static-7
+8.3.2.3-illegal-forward-static-8
+8.3.2.3-illegal-forward-static-9
+8.3.2.3-legal-forward-instance-11
+8.4.6-inheritance-1
+8.4.6-inheritance-2
+8.4.6.1-override-3
+8.4.6.2-hiding-3
+8.4.6.3-default-10
+8.4.6.3-default-12
+8.4.6.3-default-14
+8.4.6.3-default-4
+8.4.6.3-default-6
+8.4.6.3-modifier-10
+8.4.6.3-modifier-11
+8.4.6.3-modifier-12
+8.4.6.3-modifier-13
+8.4.6.3-modifier-8
+8.4.6.3-modifier-9
+8.4.6.3-signature-4
+8.4.6.4-abstract-1
+8.4.6.4-abstract-10
+8.4.6.4-abstract-2
+8.4.6.4-abstract-9
+8.4.6.4-multiple-3
+8.4.6.4-multiple-4
+8.4.6.4-multiple-7
+8.4.6.4-multiple-8
+8.5-inheritance-1
+8.5-inheritance-2
+8.5-inheritance-3
+8.5-inheritance-6
+8.5.2-non-static-member-usage-4
+8.5.2-non-static-member-usage-5
+8.6-abrupt-1
+8.6-abrupt-4
+8.6-checked-exception-10
+8.6-checked-exception-11
+8.6-checked-exception-12
+8.6-checked-exception-2
+8.6-checked-exception-4
+8.6-checked-exception-5
+8.6-checked-exception-6
+8.6-checked-exception-8
+8.6-complete-1
+8.6-complete-4
+8.6-complete-5
+8.7-abrupt-1
+8.7-complete-1
+8.7-complete-3
+8.8.5.1-example-1
+8.8.5.1-example-3
+8.8.5.1-qualified-1
+8.8.5.1-qualified-10
+8.8.5.1-qualified-11
+8.8.5.1-qualified-12
+8.8.5.1-qualified-13
+8.8.5.1-qualified-15
+8.8.5.1-qualified-2
+8.8.5.1-qualified-3
+8.8.5.1-qualified-4
+8.8.5.1-runtime-super-1
+8.8.7-accessible-default-constructor-inner-18
+8.8.7-accessible-default-constructor-inner-26
+8.8.7-runtime-accessible-default-1
+9.1.1-in-class-17
+9.1.1-in-class-24
+9.1.1-in-interface-16
+9.1.1-in-interface-2
+9.1.1-in-interface-3
+9.1.1-in-interface-9
+9.1.2-supertype-1
+9.2-implicit-18
+9.2-implicit-19
+9.2-implicit-2
+9.2-implicit-3
+9.2-implicit-4
+9.2-implicit-6
+9.2-implicit-7
+9.3.1-illegal-forward-1
+9.3.1-illegal-forward-2
+9.3.1-init-1
+9.4.1-conflict-2
+non-jls-argument-expansion-11
+non-jls-argument-expansion-12
+non-jls-argument-expansion-error-1
+non-jls-argument-expansion-error-2
+non-jls-argument-expansion-tokens-1
+non-jls-jsr41.2-clash-1
+non-jls-jsr41.3-runtime-2
+non-jls-jsr41.4-definite-unassignment-fail-22
+non-jls-jsr41.4-definite-unassignment-pass-10
+non-jls-jsr41.4-definite-unassignment-pass-9
+non-jls-jsr41.4-definite-unassignment-try-1
+non-jls-jsr41.4-definite-unassignment-try-2
+non-jls-jsr41.4-definite-unassignment-try-3
+non-jls-jsr41.4-definite-unassignment-try-4
+non-jls-jsr41.4-definite-unassignment-try-5
+non-jls-jsr41.4-definite-unassignment-try-6
+non-jls-jsr41.4-definite-unassignment-try-7
+non-jls-jsr41.4-definite-unassignment-try-8
+non-jls-jsr41.4-loop-1
+non-jls-jsr41.4-loop-10
+non-jls-jsr41.4-loop-11
+non-jls-jsr41.4-loop-12
+non-jls-jsr41.4-loop-13
+non-jls-jsr41.4-loop-14
+non-jls-jsr41.4-loop-15
+non-jls-jsr41.4-loop-2
+non-jls-jsr41.4-loop-3
+non-jls-jsr41.4-loop-7
+non-jls-jsr41.4-loop-8
+non-jls-jsr41.4-loop-9
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/jar.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/jar.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/jar.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/jar.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,67 @@
+# Tests for .jar files.
+
+# Compile a single .jar file to an executable.
+# Returns 0 on failure.
+proc gcj_jar_link {jarfile mainclass} {
+}
+
+proc gcj_jar_compile_one {jarfile mainclass} {
+ set base [file rootname [file tail $jarfile]]
+ set out [file rootname $jarfile].out
+
+ if {! [gcj_link $base $mainclass [list $jarfile]]} {
+ return
+ }
+
+ gcj_invoke $base $out {}
+}
+
+proc gcj_jar_interpret {jarfile} {
+ global INTERPRETER srcdir
+
+ set gij [libjava_find_gij]
+ # libjava_find_gij will return "" if it couldn't find the
+ # program; in this case we want to skip the test.
+ if {$INTERPRETER != "yes" || $gij == ""} {
+ untested "$jarfile execution - gij test"
+ untested "$jarfile output - gij test"
+ return
+ }
+
+ set opts(_) {}
+ set out [file rootname $jarfile].out
+ libjava_invoke $jarfile "gij test" opts $gij {} $out \
+ "" -jar $jarfile
+}
+
+proc gcj_jar_run {} {
+ global srcdir subdir env
+ foreach jar [lsort [glob -nocomplain ${srcdir}/${subdir}/*.jar]] {
+ set xff [file rootname $jar].xfail
+ set main {}
+ set interp 1
+ foreach item [libjava_read_xfail $xff] {
+ if {[string match main=* $item]} {
+ set main [string range $item 5 end]
+ break
+ } elseif {$item == "no-interpret"} {
+ set interp 0
+ }
+ }
+
+ gcj_jar_compile_one $jar $main
+ if {$interp} {
+ gcj_jar_interpret $jar
+ }
+ }
+ # When we succeed we remove all our clutter.
+ eval gcj_cleanup [glob -nocomplain -- ${main}.*] [list $main ]
+
+ # Reset CLASSPATH that we do not look into testsuite/libjava.jar for *.jar
+ # files which do not belong to the libgcj itself.
+ set env(CLASSPATH) ""
+
+ return 1
+}
+
+gcj_jar_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.jar
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.jar?rev=43913&view=auto
==============================================================================
Binary file - no diff available.
Propchange: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class simple
+{
+ public static void main(String[] args)
+ {
+ System.out.println("hi");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+hi
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jar/simple.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+main=simple
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+#include <stdio.h>
+#include <jni.h>
+#include "PR15133.h"
+
+JNIEXPORT void JNICALL
+Java_PR15133_printIt (JNIEnv *env, jobject x, jint y)
+{
+ printf ("%d\n", y);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+/* Test case for PR java/15133 */
+public class PR15133
+{
+ public void printIt (String dummy) { }
+
+ public native void printIt (int num);
+
+ public static void main (String[] args)
+ {
+ System.loadLibrary ("PR15133");
+
+ new PR15133( ).printIt( 1729);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR15133.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+1729
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <PR18116.h>
+
+// The purpose of this test is to ensure that signatures with non-top
+// level class arguments work.
+
+static jint
+some_random_name (JNIEnv *env, jclass k, jobject v)
+{
+ return 555;
+}
+
+JNIEXPORT jint JNICALL
+JNI_OnLoad (JavaVM *vm, void *nothing)
+{
+ JNIEnv *env;
+ JNINativeMethod meth;
+ jclass k;
+ jint r;
+
+ r = (*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_2);
+ assert (r == JNI_OK);
+ k = (*env)->FindClass (env, "PR18116");
+ assert (k != NULL);
+
+ meth.name = "doit";
+ meth.signature = "(Ljava/lang/String;)I";
+ meth.fnPtr = some_random_name;
+
+ r = (*env)->RegisterNatives (env, k, &meth, 1);
+ assert (r == JNI_OK);
+
+ return JNI_VERSION_1_2;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// PR18116.java - Test RegisterNatives with more complex signatures.
+
+public class PR18116
+{
+ static
+ {
+ System.loadLibrary ("PR18116");
+ }
+
+ public static native int doit (java.lang.String s);
+
+ public static void main (String[] args)
+ {
+ System.out.println (doit ("Hello World!"));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR18116.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+555
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+#include <PR28178.h>
+
+void
+Java_PR28178_m (JNIEnv *env, jclass ignore)
+{
+ (*env)->DeleteLocalRef(env, NULL);
+ (*env)->DeleteGlobalRef(env, NULL);
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+// Regression test for PR 28178.
+
+public class PR28178
+{
+ static {
+ System.loadLibrary("PR28178");
+ }
+
+ public static native void m();
+
+ public static void main(String[] args)
+ {
+ m();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/PR28178.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,62 @@
+#include "bytebuffer.h"
+
+static void
+test_buffer (JNIEnv *env, jobject buffer, const char *name)
+{
+ void *tmp = (*env)->GetDirectBufferAddress (env, buffer);
+
+ if (tmp == NULL)
+ printf ("PASS: address of %s\n", name);
+ else
+ printf ("FAIL: address of %s\n", name);
+
+ int tmplen = (*env)->GetDirectBufferCapacity (env, buffer);
+
+ if (tmplen == -1)
+ printf ("PASS: length of %s\n", name);
+ else
+ printf ("FAIL: length of %s\n", name);
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testByteBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.ByteBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testCharBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.CharBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testDoubleBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.DoubleBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testFloatBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.FloatBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testIntBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.IntBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testLongBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.LongBuffer");
+}
+
+JNIEXPORT void JNICALL
+Java_bytebuffer_testShortBuffer (JNIEnv *env, jclass k, jobject buffer)
+{
+ test_buffer (env, buffer, "java.nio.ShortBuffer");
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,38 @@
+// Test to make sure JNI implementation catches exceptions.
+
+import java.nio.*;
+
+public class bytebuffer
+{
+ static
+ {
+ System.loadLibrary("bytebuffer");
+ }
+
+ public static native void testByteBuffer(ByteBuffer bb);
+ public static native void testCharBuffer(CharBuffer b);
+ public static native void testDoubleBuffer(DoubleBuffer b);
+ public static native void testFloatBuffer(FloatBuffer b);
+ public static native void testIntBuffer(IntBuffer b);
+ public static native void testLongBuffer(LongBuffer b);
+ public static native void testShortBuffer(ShortBuffer b);
+
+ public static void main(String[] args)
+ {
+ ByteBuffer bb = ByteBuffer.allocate(1024);
+ testByteBuffer(bb);
+ testCharBuffer(bb.asCharBuffer());
+ testDoubleBuffer(bb.asDoubleBuffer());
+ testFloatBuffer(bb.asFloatBuffer());
+ testIntBuffer(bb.asIntBuffer());
+ testLongBuffer(bb.asLongBuffer());
+ testShortBuffer(bb.asShortBuffer());
+
+ testCharBuffer(CharBuffer.allocate(1024));
+ testDoubleBuffer(DoubleBuffer.allocate(1024));
+ testFloatBuffer(FloatBuffer.allocate(1024));
+ testIntBuffer(IntBuffer.allocate(1024));
+ testLongBuffer(LongBuffer.allocate(1024));
+ testShortBuffer(ShortBuffer.allocate(1024));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/bytebuffer.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,26 @@
+PASS: address of java.nio.ByteBuffer
+PASS: length of java.nio.ByteBuffer
+PASS: address of java.nio.CharBuffer
+PASS: length of java.nio.CharBuffer
+PASS: address of java.nio.DoubleBuffer
+PASS: length of java.nio.DoubleBuffer
+PASS: address of java.nio.FloatBuffer
+PASS: length of java.nio.FloatBuffer
+PASS: address of java.nio.IntBuffer
+PASS: length of java.nio.IntBuffer
+PASS: address of java.nio.LongBuffer
+PASS: length of java.nio.LongBuffer
+PASS: address of java.nio.ShortBuffer
+PASS: length of java.nio.ShortBuffer
+PASS: address of java.nio.CharBuffer
+PASS: length of java.nio.CharBuffer
+PASS: address of java.nio.DoubleBuffer
+PASS: length of java.nio.DoubleBuffer
+PASS: address of java.nio.FloatBuffer
+PASS: length of java.nio.FloatBuffer
+PASS: address of java.nio.IntBuffer
+PASS: length of java.nio.IntBuffer
+PASS: address of java.nio.LongBuffer
+PASS: length of java.nio.LongBuffer
+PASS: address of java.nio.ShortBuffer
+PASS: length of java.nio.ShortBuffer
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <calls.h>
+
+JNIEXPORT jint JNICALL
+Java_calls_docall (JNIEnv *env, jobject _this)
+{
+ jmethodID method;
+ jclass klass, super;
+
+ jbyte b;
+ jshort s;
+ jchar c;
+ jint i;
+ jlong l;
+ jfloat f;
+ jdouble d;
+
+ jvalue val;
+
+ jint fails = 0;
+
+ klass = (*env)->GetObjectClass (env, _this);
+ super = (*env)->GetSuperclass (env, klass);
+
+ method = (*env)->GetMethodID (env, klass, "byte_f", "()B");
+ b = (*env)->CallByteMethod (env, _this, method);
+ if (b != 23)
+ ++fails;
+
+ method = (*env)->GetMethodID (env, klass, "char_f", "(I)C");
+ val.i = 10;
+ c = (*env)->CallCharMethodA (env, _this, method, &val);
+ if (c != ('a' + 10))
+ ++fails;
+
+ method = (*env)->GetMethodID (env, super, "int_f", "()I");
+ i = (*env)->CallNonvirtualIntMethod (env, _this, super, method);
+ if (i != 27)
+ ++fails;
+
+ i = (*env)->CallIntMethod (env, _this, method);
+ if (i != 1023)
+ ++fails;
+
+ method = (*env)->GetStaticMethodID (env, klass, "long_f", "(J)J");
+ l = (*env)->CallStaticLongMethod (env, klass, method, (jlong) 10);
+ if (l != 2033)
+ ++fails;
+
+ method = (*env)->GetStaticMethodID (env, klass, "longpb_f", "(BJBJBJ)J");
+ l = (*env)->CallStaticLongMethod (env, klass, method, (jbyte) 13, (jlong) 3,
+ (jbyte) 13, (jlong) 3, (jbyte) 13, (jlong) 4);
+ if (l != 3033)
+ ++fails;
+
+ method = (*env)->GetMethodID (env, klass, "void_f", "()V");
+ (*env)->CallVoidMethod (env, _this, method);
+
+ method = (*env)->GetStaticMethodID (env, klass, "short_f", "()S");
+ s = (*env)->CallStaticShortMethod (env, klass, method);
+ if (s != 2)
+ ++fails;
+
+ method = (*env)->GetMethodID (env, klass, "double_f", "()D");
+ d = (*env)->CallDoubleMethod (env, _this, method);
+ if (d != -1.0)
+ ++fails;
+
+ method = (*env)->GetMethodID (env, klass, "float_f", "()F");
+ f = (*env)->CallFloatMethod (env, _this, method);
+ if (f != 1.0)
+ ++fails;
+
+ return fails;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,72 @@
+// Test a bunch of different calls.
+
+class base
+{
+ public int int_f ()
+ {
+ return 27;
+ }
+}
+
+public class calls extends base
+{
+ static
+ {
+ System.loadLibrary ("calls");
+ }
+
+ public native int docall ();
+
+ public byte byte_f ()
+ {
+ return 23;
+ }
+
+ public char char_f (int z)
+ {
+ return (char) ('a' + z);
+ }
+
+ public int int_f ()
+ {
+ return 1023;
+ }
+
+ public static long long_f (long q)
+ {
+ return q + 2023;
+ }
+
+ public static long longpb_f (byte b1, long q1, byte b2, long q2,
+ byte b3, long q3)
+ {
+ return q1 + q2 + q3 + 3023;
+ }
+
+ public void void_f ()
+ {
+ System.out.println ("void");
+ }
+
+ public static short short_f ()
+ {
+ return 2;
+ }
+
+ public double double_f ()
+ {
+ return -1.0;
+ }
+
+ public float float_f ()
+ {
+ return (float) 1.0;
+ }
+
+ public static void main (String[] args)
+ {
+ calls c = new calls ();
+ if (c.docall () != 0)
+ System.out.println ("fail");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/calls.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+void
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+#include <jni.h>
+#include <cxxtest.h>
+
+jobjectArray
+Java_cxxtest_fetch (JNIEnv *env, jobject _this)
+{
+ jclass cls;
+ jfieldID fid;
+ jobjectArray obj;
+
+ cls = env->GetObjectClass (_this);
+ if (! cls)
+ return 0;
+
+ fid = env->GetFieldID (cls, "F", "[Ljava/lang/Object;");
+ if (! fid)
+ return 0;
+
+ obj = reinterpret_cast<jobjectArray> (env->GetObjectField (_this, fid));
+
+ return obj;
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Test for array field lookup.
+
+public class cxxtest
+{
+ // A field for us to look up.
+ public Object[] F = new Object[7];
+
+ public native Object[] fetch ();
+
+ public void doit ()
+ {
+ System.out.println (F == fetch ());
+ }
+
+ public static void main (String[] args)
+ {
+ cxxtest q = new cxxtest ();
+ q.doit ();
+ }
+
+ static
+ {
+ System.loadLibrary ("cxxtest");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/cxxtest.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,75 @@
+#include <stdlib.h>
+
+#include "directbuffer.h"
+
+#define BUFFER_SIZE 1024
+
+static void *address;
+
+JNIEXPORT jobject JNICALL
+Java_directbuffer_createDirectByteBuffer (JNIEnv *env, jclass k)
+{
+ address = malloc (BUFFER_SIZE);
+ return (*env)->NewDirectByteBuffer (env, address, 1024);
+}
+
+static void
+test_buffer (JNIEnv *env, jobject buffer, const char *name, int len)
+{
+ void *tmp = (*env)->GetDirectBufferAddress (env, buffer);
+
+ if (address == tmp)
+ printf ("PASS: address of %s\n", name);
+ else
+ printf ("FAIL: address of %s\n", name);
+
+ int tmplen = (*env)->GetDirectBufferCapacity (env, buffer);
+
+ if (len == tmplen)
+ printf ("PASS: length of %s\n", name);
+ else
+ printf ("FAIL: length of %s\n", name);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testDirectByteBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "direct java.nio.ByteBuffer", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testCharBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.CharBuffer view", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testDoubleBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.DoubleBuffer view", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testFloatBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.FloatBuffer view", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testIntBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.IntBuffer view", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testLongBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.LongBuffer view", len);
+}
+
+JNIEXPORT void JNICALL
+Java_directbuffer_testShortBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
+{
+ test_buffer (env, buffer, "java.nio.ShortBuffer view", len);
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,40 @@
+// Test to make sure JNI implementation catches exceptions.
+
+import java.nio.*;
+
+public class directbuffer
+{
+ static
+ {
+ System.loadLibrary("directbuffer");
+ }
+
+ public static native ByteBuffer createDirectByteBuffer();
+
+ public static native void testDirectByteBuffer(ByteBuffer bb, int len);
+ public static native void testCharBuffer(CharBuffer b, int len);
+ public static native void testDoubleBuffer(DoubleBuffer b, int len);
+ public static native void testFloatBuffer(FloatBuffer b, int len);
+ public static native void testIntBuffer(IntBuffer b, int len);
+ public static native void testLongBuffer(LongBuffer b, int len);
+ public static native void testShortBuffer(ShortBuffer b, int len);
+
+ public static void main(String[] args)
+ {
+ ByteBuffer bb = createDirectByteBuffer();
+ CharBuffer cb = bb.asCharBuffer();
+ DoubleBuffer db = bb.asDoubleBuffer();
+ FloatBuffer fb = bb.asFloatBuffer();
+ IntBuffer ib = bb.asIntBuffer();
+ LongBuffer lb = bb.asLongBuffer();
+ ShortBuffer sb = bb.asShortBuffer();
+
+ testDirectByteBuffer(bb, 1024);
+ testCharBuffer(cb, 512);
+ testDoubleBuffer(db, 128);
+ testFloatBuffer(fb, 256);
+ testIntBuffer(ib, 256);
+ testLongBuffer(lb, 128);
+ testShortBuffer(sb, 512);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/directbuffer.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+PASS: address of direct java.nio.ByteBuffer
+PASS: length of direct java.nio.ByteBuffer
+PASS: address of java.nio.CharBuffer view
+PASS: length of java.nio.CharBuffer view
+PASS: address of java.nio.DoubleBuffer view
+PASS: length of java.nio.DoubleBuffer view
+PASS: address of java.nio.FloatBuffer view
+PASS: length of java.nio.FloatBuffer view
+PASS: address of java.nio.IntBuffer view
+PASS: length of java.nio.IntBuffer view
+PASS: address of java.nio.LongBuffer view
+PASS: length of java.nio.LongBuffer view
+PASS: address of java.nio.ShortBuffer view
+PASS: length of java.nio.ShortBuffer view
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+#include <jni.h>
+#include <field.h>
+
+JNIEXPORT jobjectArray JNICALL
+Java_field_fetch (JNIEnv *env, jobject this)
+{
+ jclass cls;
+ jfieldID fid;
+ jobjectArray obj;
+
+ cls = (*env)->GetObjectClass (env, this);
+ if (! cls)
+ return 0;
+
+ fid = (*env)->GetFieldID (env, cls, "F", "[Ljava/lang/Object;");
+ if (! fid)
+ return 0;
+
+ obj = (*env)->GetObjectField (env, this, fid);
+
+ return obj;
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Test for array field lookup.
+
+public class field
+{
+ // A field for us to look up.
+ public Object[] F = new Object[7];
+
+ public native Object[] fetch ();
+
+ public void doit ()
+ {
+ System.out.println (F == fetch ());
+ }
+
+ public static void main (String[] args)
+ {
+ field q = new field ();
+ q.doit ();
+ }
+
+ static
+ {
+ System.loadLibrary ("field");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/field.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+#include <final_method.h>
+
+JNIEXPORT jstring JNICALL
+Java_final_1method_meth (JNIEnv *env, jobject thisv)
+{
+ return (*env)->NewStringUTF (env, "zardoz has spoken");
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+// Minimal test a non-static final method.
+
+public class final_method
+{
+ static
+ {
+ System.loadLibrary ("final_method");
+ }
+
+ public final native String meth ();
+
+ public static void main (String[] args)
+ {
+ final_method fm = new final_method ();
+ System.out.println (fm.meth ());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/final_method.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+zardoz has spoken
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+#include <stdlib.h>
+
+#include <findclass.h>
+
+JNIEXPORT jclass JNICALL
+Java_findclass_doit (JNIEnv *env, jclass klass, jstring name)
+{
+ const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
+ jclass k = (*env)->FindClass (env, buf);
+ (*env)->ReleaseStringUTFChars (env, name, buf);
+ return k;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// Test FindClass part of JNI.
+
+public class findclass
+{
+ static
+ {
+ System.loadLibrary ("findclass");
+ }
+
+ public static native Class doit (String name);
+
+ public static void main (String[] args)
+ {
+ System.out.println ("" + doit ("java/lang/String"));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/findclass.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+class java.lang.String
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,40 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <iface.h>
+
+void check (JNIEnv *);
+
+void check(JNIEnv *env)
+{
+ if ((*env)->ExceptionCheck(env) != JNI_FALSE)
+ {
+ fprintf(stderr, "UNEXPECTED EXCEPTION\n");
+ exit(-1);
+ }
+}
+
+void
+Java_iface_doCalls (JNIEnv *env, jobject self, jobject other)
+{
+ jclass iface_class, comparable_class;
+ jmethodID iface_meth, comparable_meth;
+ jvalue args[1];
+
+ iface_class = (*env)->FindClass(env, "iface");
+ check (env);
+ comparable_class = (*env)->FindClass (env, "mycomp");
+ check (env);
+
+ iface_meth = (*env)->GetMethodID (env, iface_class, "compareTo",
+ "(Ljava/lang/Object;)I");
+ check (env);
+ comparable_meth = (*env)->GetMethodID (env, comparable_class, "compareTo",
+ "(Ljava/lang/Object;)I");
+ check (env);
+
+ args[0].l = other;
+ (*env)->CallObjectMethodA (env, self, iface_meth, args);
+ check (env);
+ (*env)->CallObjectMethodA (env, self, comparable_meth, args);
+ check (env);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// JNI calls via an interface method were broken in a couple releases.
+
+interface mycomp
+{
+ int compareTo(Object x);
+}
+
+public class iface implements mycomp
+{
+ static
+ {
+ System.loadLibrary("iface");
+ }
+
+ public int compareTo (Object x)
+ {
+ System.out.println ("hi maude");
+ return 3;
+ }
+
+ public native void doCalls(Object x);
+
+ public static void main (String[] args)
+ {
+ new iface().doCalls(args);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/iface.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+hi maude
+hi maude
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,43 @@
+#include <assert.h>
+#include <jni.h>
+
+union env_union
+{
+ void *void_env;
+ JNIEnv *jni_env;
+};
+
+int
+main (int argc, const char** argv)
+{
+ union env_union tmp;
+ JNIEnv* env;
+ JavaVM* jvm;
+ JavaVMInitArgs vm_args;
+ JavaVMOption options[1];
+ jclass class_id;
+ jmethodID method_id;
+ jint result;
+
+ options[0].optionString = "-DPR16923=optionReceived";
+
+ vm_args.version = JNI_VERSION_1_2;
+ vm_args.ignoreUnrecognized = JNI_TRUE;
+ vm_args.options = options;
+ vm_args.nOptions = 1;
+
+ result = JNI_CreateJavaVM (&jvm, &tmp.void_env, &vm_args);
+ assert (result >= 0);
+
+ env = tmp.jni_env;
+
+ class_id = (*env)->FindClass (env, "PR16923");
+ assert (class_id);
+
+ method_id = (*env)->GetStaticMethodID (env, class_id, "printIt", "()V");
+ assert (method_id);
+
+ (*env)->CallStaticVoidMethod (env, class_id, method_id, NULL);
+
+ return 0;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+public class PR16923
+{
+ public static void printIt ()
+ {
+ System.out.println (System.getProperty ("PR16923"));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invocation/PR16923.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+optionReceived
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+#include <invoke.h>
+
+JNIEXPORT jint JNICALL
+Java_invoke_val (JNIEnv *env, jclass klass)
+{
+ return 23;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Test to make sure the minimal invocation works.
+
+public class invoke
+{
+ public static native int val ();
+
+ static
+ {
+ System.out.println ("trying...");
+ System.loadLibrary ("invoke");
+ System.out.println ("loaded");
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (val ());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/invoke.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+trying...
+loaded
+23
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jni.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jni.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jni.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jni.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,324 @@
+# Tests for JNI code.
+
+# Compile a single C file and produce a .so file. OPTIONS is a list
+# of options to pass to the compiler. Returns 0 on failure, 1 on
+# success.
+proc gcj_jni_compile_c_to_so {file {options {}}} {
+ global srcdir
+ global host_triplet
+ verbose "options: $options"
+ set options_cxx $options
+ set options ""
+
+# Apple uses a different extension for shared/dynamic libraries
+# so we check against powerpc-apple-darwin and set them to
+# dylib.
+# HP-UX uses sl, so we check this too, otherwise we take so.
+
+ if { [istarget "*-*-darwin*"] } {
+ set so_extension "dylib"
+ set so_flag "-dynamiclib"
+ } elseif { [istarget "hppa*-hp-hpux*"] } {
+ set so_extension "sl"
+ set so_flag "-shared"
+ } else {
+ set so_extension "so"
+ set so_flag "-shared"
+ }
+ set filename [file tail $file]
+ set name [file rootname $filename]
+ set soname lib${name}.${so_extension}
+
+ lappend options "additional_flags=${so_flag} -fPIC"
+ # Find the generated header.
+ lappend options "additional_flags=-I. -I.."
+
+ # Ensure that the generated header has correct prototypes.
+ set cfile [file rootname $file].c
+ if { [file exists $cfile]} {
+ # This option is only valid for C sources.
+ lappend options "additional_flags=-Wmissing-prototypes"
+ }
+
+ # Find jni.h and jni_md.h.
+ lappend options "additional_flags=-I$srcdir/../include -I$srcdir/../classpath/include"
+
+ # Append C++ options
+ lappend options "additional_flags=$options_cxx"
+
+ set x [libjava_prune_warnings \
+ [target_compile $file $soname executable $options]]
+ if {$x != ""} {
+ verbose "target_compile failed: $x" 2
+ fail "$filename compilation"
+ return 0
+ }
+
+ pass "$filename compilation"
+ return 1
+}
+
+# Build a header file from a .class file. Return 0 on failure.
+proc gcj_jni_build_header {file} {
+ set gcjh [find_gcjh]
+ set file [file rootname $file]
+ set x [string trim [libjava_prune_warnings \
+ [lindex [local_exec "$gcjh -jni $file" "" "" 300] 1]]]
+ if {$x != ""} {
+ verbose "local_exec failed: $x" 2
+ fail "$file header generation"
+ return 0
+ }
+
+ pass "$file header generation"
+ return 1
+}
+
+# Do all the work for a single JNI test. Return 0 on failure.
+proc gcj_jni_test_one {file} {
+ global runtests
+ global host_triplet
+ global INTERPRETER
+
+# Apple uses a different extension for shared/dynamic libraries
+# so we check against powerpc-apple-darwin and set them to
+# dylib.
+# HP-UX uses sl, so we check this too, otherwise we take so.
+
+ if { [istarget "*-*-darwin*"] } {
+ set so_extension "dylib"
+ } elseif { [istarget "hppa*-hp-hpux*"] } {
+ set so_extension "sl"
+ } else {
+ set so_extension "so"
+ }
+
+ # The base name. We use it for several purposes.
+ set main [file rootname [file tail $file]]
+ if {! [runtest_file_p $runtests $main]} {
+ # Simply skip it.
+ return 1
+ }
+
+ if {! [bytecompile_file $file [pwd]]} {
+ fail "bytecompile $file"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $file"
+
+ set bytefile [file rootname [file tail $file]].class
+ if {! [gcj_jni_build_header $bytefile]} {
+ # FIXME
+ return 0
+ }
+
+ set cfile [file rootname $file].c
+ set cxxflags ""
+ set cxxldlibflags {}
+ # If there is no `.c' file, assume there is a `.cc' file.
+ if {! [file exists $cfile]} {
+ set cfile [file rootname $file].cc
+
+ set cxxflaglist {}
+ foreach arg [split [libjava_find_lib libstdc++-v3/src stdc++] " "] {
+ switch -glob -- $arg {
+ "-L*" {
+ set arg [string range $arg 2 end]
+ lappend cxxldlibflags $arg
+ # Strip the `.libs' directory; we link with libtool which
+ # doesn't need it.
+ set arg "-L[file dirname $arg]"
+ }
+ }
+ lappend cxxflaglist $arg
+ # In case the libstdc++ is not installed yet, we pass the build
+ # directory of it to the cxxflaglist.
+ lappend cxxflaglist "-L$cxxldlibflags"
+ }
+
+ # If you're building the compiler with --prefix set to a place
+ # where it's not yet installed, then the linker won't be able to
+ # find the libgcc used by libffi.dylib. We could pass the
+ # -dylib_file option, but that's complicated, and it's much easier
+ # to just make the linker find libgcc using -L options.
+ if { [istarget "*-*-darwin*"] } {
+ lappend cxxflaglist "-shared-libgcc -lstdc++"
+ } else {
+ lappend cxxflaglist "-lstdc++"
+ }
+
+ set cxxflags [join $cxxflaglist]
+ }
+
+ if {! [gcj_jni_compile_c_to_so $cfile $cxxflags]} {
+ # FIXME
+ return 0
+ }
+
+ set args [list "additional_flags=-fjni"]
+ if {! [gcj_link $main $main $file $args]} {
+ # FIXME
+ return 0
+ }
+
+ set resultfile [file rootname $file].out
+
+ if {! [gcj_invoke $main $resultfile $cxxldlibflags]} {
+ # FIXME
+ return 0
+ }
+
+ # We purposely ignore errors here; we still want to run the other
+ # appropriate tests.
+ set errname [file rootname [file tail $file]]
+ set gij [libjava_find_gij]
+ # libjava_find_gij will return "" if it couldn't find the
+ # program; in this case we want to skip the test.
+ # If the libraries are not installed yet, we have to pass them via
+ # cxxldlibflags to libjava_invoke.
+ if {$INTERPRETER == "yes" && $gij != ""} {
+ libjava_invoke $errname "gij test" opts $gij \
+ "" $resultfile $cxxldlibflags $main
+ }
+
+ # When we succeed we remove all our clutter.
+ eval gcj_cleanup [glob -nocomplain -- ${main}.*] \
+ [list $main lib${main}.${so_extension}]
+
+ return 1
+}
+
+# Compile a single C file and produce a binary. OPTIONS is a list of
+# options to pass to the compiler. Returns 0 on failure, 1 on
+# success.
+proc gcj_jni_invocation_compile_c_to_binary {file {options {}}} {
+ global srcdir
+ global host_triplet
+ verbose "options: $options"
+ set options_cxx $options
+ set options ""
+
+ set filename [file tail $file]
+ set name [file rootname $filename]
+
+ # Set some darwin specific options
+ if { [istarget "*-*-darwin*"] } {
+ lappend options "additional_flags= -bind_at_load -multiply_defined suppress"
+ }
+ # Find the generated header.
+ lappend options "additional_flags=-I. -I.."
+
+ # Find jni.h and jni_md.h.
+ lappend options "additional_flags=-I$srcdir/../include -I$srcdir/../classpath/include"
+
+ # Append C++ options
+ lappend options "additional_flags=$options_cxx"
+
+ set x [libjava_prune_warnings \
+ [target_compile $file $name executable $options]]
+ if {$x != ""} {
+ verbose "target_compile failed: $x" 2
+ fail "$filename compilation"
+ return 0
+ }
+
+ pass "$filename compilation"
+ return 1
+}
+
+# Do all the work for a single invocation API test. Return 0 on
+# failure.
+proc gcj_jni_invocation_test_one {file} {
+ global runtests
+ global host_triplet
+ global INTERPRETER
+
+ # The base name. We use it for several purposes.
+ set main [file rootname [file tail $file]]
+ if {! [runtest_file_p $runtests $main]} {
+ # Simply skip it.
+ return 1
+ }
+
+ if {! [bytecompile_file $file [pwd]]} {
+ fail "bytecompile $file"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $file"
+
+ set cfile [file rootname $file].c
+ # Darwin needs -liconv linked, otherwise we get some unresolved.
+ # If you're building the compiler with --prefix set to a place
+ # where it's not yet installed, then the linker won't be able to
+ # find the libgcc used by libffi.dylib. We could pass the
+ # -dylib_file option, but that's complicated, and it's much easier
+ # to just make the linker find libgcc using -L options.
+ # Similar logic applies to libgcj.
+ if { [istarget "*-*-darwin*"] } {
+ set cxxflags "-L../.libs -shared-libgcc -ljvm -lgcj -liconv"
+ } else {
+ global LIBJAVA
+ if [info exists LIBJAVA] {
+ set libjava $LIBJAVA;
+ } else {
+ set libjava [libjava_find_lib libjava gcj]
+ }
+ set cxxflags "$libjava -ljvm"
+ }
+
+ if { [istarget "*-*-solaris*"] } {
+ lappend cxxflags "-lsocket"
+ }
+
+ if {! [gcj_jni_invocation_compile_c_to_binary $cfile $cxxflags]} {
+ # FIXME
+ return 0
+ }
+
+ set resultfile [file rootname $file].out
+
+ if {! [gcj_invoke $main $resultfile ""]} {
+ # FIXME
+ return 0
+ }
+
+ # We purposely ignore errors here; we still want to run the other
+ # appropriate tests.
+ set errname [file rootname [file tail $file]]
+
+ # When we succeed we remove all our clutter.
+ eval gcj_cleanup [glob -nocomplain -- ${main}.*] \
+ [list $main]
+
+ return 1
+}
+
+# Run the JNI tests.
+proc gcj_jni_run {} {
+ global srcdir subdir
+ global build_triplet host_triplet
+
+ # For now we only test JNI on native builds.
+ if {$build_triplet == $host_triplet} {
+ catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles
+
+ foreach x $srcfiles {
+ gcj_jni_test_one $x
+ }
+
+ # Run JNI invocation API tests
+ catch { lsort [glob -nocomplain ${srcdir}/${subdir}/invocation/*.java] } srcfiles
+
+ foreach x $srcfiles {
+ gcj_jni_invocation_test_one $x
+ }
+ } else {
+ verbose "JNI tests not run in cross-compilation environment"
+ }
+}
+
+gcj_jni_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+#include <jniutf.h>
+
+JNIEXPORT void JNICALL
+Java_jniutf_printString (JNIEnv *env, jobject obj, jstring str)
+{
+ const char *cstr;
+
+ cstr = (*env)->GetStringUTFChars (env, str, NULL);
+ (*env)->ReleaseStringUTFChars (env, str, cstr);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+public class jniutf
+{
+ native void printString (String str);
+
+ static
+ {
+ System.loadLibrary ("jniutf");
+ }
+
+ public static void main (String[] args)
+ {
+
+ String s1 = new String("\u3040\u3041\u3042\u3043\u3044\u3045\u3046\u3047\u3048\u3049\u304A\u304B\u304C\u304D\u304E\u304F\u3050\u3051\u3052\u3053\u3054\u3055\u3056\u3057\u3058\u3059\u305A\u305B");
+ new jniutf().printString (s1);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/jniutf.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,43 @@
+#include <jni.h>
+#include "martin.h"
+#include <stdio.h>
+
+JNIEXPORT void JNICALL
+Java_martin_myNative(JNIEnv* env, jobject this, jstring s)
+{
+ jclass cls;
+ jfieldID fid;
+ jobject obj;
+ jmethodID mid;
+
+ printf("From C\n");
+ fflush(stdout);
+
+ cls = (*env)->FindClass(env, "java/lang/System");
+ if (cls == 0) {
+ printf("java/lang/System lookup failed\n");
+ return;
+ }
+ fid = (*env)->GetStaticFieldID(env, cls, "out", "Ljava/io/PrintStream;");
+ if (fid == 0) {
+ printf("java/lang/System::out lookup failed\n");
+ return;
+ }
+ obj = (*env)->GetStaticObjectField(env, cls, fid);
+ if (obj == 0) {
+ printf("GetStaticObjectField call failed\n");
+ return;
+ }
+ cls = (*env)->GetObjectClass(env, obj);
+ if (cls == 0) {
+ printf("GetObjectClass(out) failed\n");
+ return;
+ }
+ mid = (*env)->GetMethodID(env, cls, "println", "(Ljava/lang/String;)V");
+ if (mid == 0) {
+ printf("println method lookup failed\n");
+ return;
+ }
+ (*env)->CallVoidMethod(env, obj, mid, s);
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+// Test case from Martin Kahlert <martin.kahlert at infineon.com>
+
+public class martin {
+ public native void myNative(String s);
+
+ public void myJava(String s) {
+ s = s + ", Java";
+ System.out.println(s);
+ }
+
+ public static void main(String args[]) {
+ martin x = new martin();
+ x.myJava("Hello");
+ x.myNative("Hello, Java (from C)");
+ x.myJava("Goodbye");
+ }
+
+ static {
+ System.loadLibrary("martin");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/martin.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+Hello, Java
+From C
+Hello, Java (from C)
+Goodbye, Java
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+#include <noclass.h>
+
+JNIEXPORT void JNICALL
+Java_noclass_find_1it (JNIEnv *env, jclass k)
+{
+ /* We cause an exception by asking for a class we know does not
+ exist. */
+ k = (*env)->FindClass (env, "java/lang/Sarcophagus");
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Test to make sure JNI implementation catches exceptions.
+
+public class noclass
+{
+ static
+ {
+ System.loadLibrary ("noclass");
+ }
+
+ public static native void find_it ();
+
+ public static void main (String[] args)
+ {
+ try
+ {
+ find_it ();
+ }
+ catch (Throwable _)
+ {
+ // If find_it() causes a crash, or doesn't throw an exception,
+ // we won't be running this next line.
+ System.out.println ("Ok");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/noclass.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+#include <overload.h>
+
+JNIEXPORT jint JNICALL
+Java_overload_over__I (JNIEnv *env, jclass klass, jint val)
+{
+ return val;
+}
+
+
+JNIEXPORT jint JNICALL
+Java_overload_over__II (JNIEnv *env, jclass klass, jint one, jint two)
+{
+ return one + two;
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Test to make sure overloaded functions with long names work.
+
+public class overload
+{
+ static
+ {
+ System.loadLibrary ("overload");
+ }
+
+ public static native int over (int one);
+ public static native int over (int one, int two);
+
+ public static void main (String[] args)
+ {
+ System.out.println (over (1));
+ System.out.println (over (1, 2));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/overload.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+1
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include <pr11951.h>
+
+JNIEXPORT void JNICALL
+Java_pr11951_nmethod (JNIEnv *env, jclass myclass)
+{
+ jmethodID method;
+ jobject r;
+
+ method = (*env)->GetStaticMethodID (env, myclass, "dosomething",
+ "()Ljava/lang/Object;");
+ r = (*env)->CallStaticObjectMethod (env, myclass, method);
+ printf ("%d\n", r == NULL);
+
+ (*env)->ExceptionClear (env);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+public class pr11951
+{
+ public static Object dosomething()
+ {
+ throw new Error();
+ }
+
+ public static native void nmethod();
+
+ public static void main(String[] args)
+ {
+ nmethod();
+ }
+
+ static {
+ System.loadLibrary("pr11951");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr11951.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+#include <jni.h>
+#include <stdio.h>
+
+#include "pr18278.h"
+
+jobject Java_pr18278_weakRef(JNIEnv *env, jclass cls, jobject data)
+{
+ jobject r = (* env)->NewWeakGlobalRef(env, data);
+ return r;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class pr18278 {
+ public pr18278() {}
+
+ public static void main(String[] args) {
+ System.loadLibrary("pr18278");
+ String bob = "Bob";
+ Object o = weakRef("Bob");
+ System.out.println(o);
+ System.out.println(bob == o);
+ }
+
+ static native Object weakRef(Object o);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr18278.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Bob
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include "pr23739.h"
+
+JNIEXPORT void JNICALL
+Java_pr23739_checkOrder (JNIEnv *env, jclass cls, jclass clazz1, jclass clazz2)
+{
+ printf ("B extends A\n");
+ printf ("isAssignableFrom (A, B): %d\n",
+ (*env)->IsAssignableFrom (env, clazz1, clazz2));
+ printf ("isAssignableFrom (B, A): %d\n",
+ (*env)->IsAssignableFrom (env, clazz2, clazz1));
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+public class pr23739
+{
+ static
+ {
+ System.loadLibrary ("pr23739");
+ }
+
+ public static class A
+ {
+ }
+
+ public static class B extends A
+ {
+ }
+
+ static native void checkOrder (Class clazz1, Class clazz2);
+
+ public static void main (String[] args)
+ {
+ checkOrder (A.class, B.class);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/pr23739.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+B extends A
+isAssignableFrom (A, B): 0
+isAssignableFrom (B, A): 1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <register.h>
+
+static jint
+some_random_name (JNIEnv *env, jclass k, jint v)
+{
+ return v - 1;
+}
+
+JNIEXPORT jint JNICALL
+JNI_OnLoad (JavaVM *vm, void *nothing)
+{
+ JNIEnv *env;
+ JNINativeMethod meth;
+ jclass k;
+ jint r;
+
+ r = (*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_2);
+ assert (r == JNI_OK);
+ k = (*env)->FindClass (env, "register");
+ assert (k != NULL);
+
+ meth.name = "doit";
+ meth.signature = "(I)I";
+ meth.fnPtr = some_random_name;
+
+ r = (*env)->RegisterNatives (env, k, &meth, 1);
+ assert (r == JNI_OK);
+
+ return JNI_VERSION_1_2;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// register.java - Test RegisterNatives.
+
+public class register
+{
+ static
+ {
+ System.loadLibrary ("register");
+ }
+
+ public static native int doit (int z);
+
+ public static void main (String[] args)
+ {
+ System.out.println (doit (24));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+23
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,48 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <register2.h>
+
+static int
+twentythree (JNIEnv *env, jclass k)
+{
+ return 23;
+}
+
+static int
+oneninetyseven (JNIEnv *env, jclass k)
+{
+ return 197;
+}
+
+JNIEXPORT jint JNICALL
+JNI_OnLoad (JavaVM *vm, void *nothing)
+{
+ JNIEnv *env;
+ JNINativeMethod meth;
+ jclass k;
+ jint r;
+
+ r = (*vm)->GetEnv (vm, (void **) &env, JNI_VERSION_1_2);
+ assert (r == JNI_OK);
+ k = (*env)->FindClass (env, "register2$I1");
+ assert (k != NULL);
+
+ meth.name = "doit";
+ meth.signature = "()I";
+ meth.fnPtr = twentythree;
+
+ r = (*env)->RegisterNatives (env, k, &meth, 1);
+ assert (r == JNI_OK);
+
+ k = (*env)->FindClass (env, "register2$I2");
+ assert (k != NULL);
+
+ meth.name = "doit";
+ meth.signature = "()I";
+ meth.fnPtr = oneninetyseven;
+
+ r = (*env)->RegisterNatives (env, k, &meth, 1);
+ assert (r == JNI_OK);
+
+ return JNI_VERSION_1_2;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Another test of RegisterNatives.
+// We neglected to track the class name in our internal hash table.
+// This is a regression test for the fix.
+
+public class register2
+{
+ static
+ {
+ System.loadLibrary ("register2");
+ }
+
+ static class I1
+ {
+ public static native int doit ();
+ }
+
+ static class I2
+ {
+ public static native int doit ();
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (new I1().doit());
+ System.out.println (new I2().doit());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/register2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+23
+197
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+#include <simple_int.h>
+
+JNIEXPORT jint JNICALL
+Java_simple_1int_nat (JNIEnv *env, jclass klass, jint val)
+{
+ return 2 * val;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+// Test a simple static function with an `int' argument.
+
+public class simple_int
+{
+ public static native int nat (int z);
+
+ static
+ {
+ System.loadLibrary ("simple_int");
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (nat (23));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/simple_int.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+46
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+#include <stdlib.h>
+#include <throwit.h>
+
+JNIEXPORT void JNICALL
+Java_throwit_throwit (JNIEnv *env, jclass klass, jstring name,
+ jboolean is_new)
+{
+ const char *buf = (*env)->GetStringUTFChars (env, name, NULL);
+ jclass k = (*env)->FindClass (env, buf);
+ (*env)->ReleaseStringUTFChars (env, name, buf);
+
+ if (k == NULL || (*env)->ExceptionCheck (env))
+ return;
+
+ if (is_new)
+ (*env)->ThrowNew (env, k, "the word is zardoz");
+ else
+ {
+ jmethodID id = (*env)->GetMethodID (env, k, "<init>",
+ "(Ljava.lang.String;)V");
+ jstring z = (*env)->NewStringUTF (env, "zardoz is the word");
+ jobject obj = (*env)->NewObject (env, k, id, z);
+ (*env)->Throw (env, obj);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+// Test to see if throw works.
+
+public class throwit
+{
+ static
+ {
+ System.loadLibrary ("throwit");
+ }
+
+ public static native void throwit (String name, boolean is_new);
+
+ public static void main (String[] args)
+ {
+ try
+ {
+ throwit ("java/lang/UnknownError", false);
+ }
+ catch (Throwable x)
+ {
+ System.out.println (x.getClass ());
+ System.out.println (x.getMessage ());
+ }
+ try
+ {
+ throwit ("java/lang/Throwable", true);
+ }
+ catch (Throwable x)
+ {
+ System.out.println (x.getClass ());
+ System.out.println (x.getMessage ());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/throwit.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+class java.lang.UnknownError
+zardoz is the word
+class java.lang.Throwable
+the word is zardoz
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.c?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.c (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.c Thu Nov 8 16:56:19 2007
@@ -0,0 +1,7 @@
+#include <virtual.h>
+
+JNIEXPORT jboolean JNICALL
+Java_virtual_equals (JNIEnv *env, jobject thisv, jobject other)
+{
+ return JNI_FALSE;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+// Minimal test of a virtual method.
+
+public class virtual
+{
+ static
+ {
+ System.loadLibrary ("virtual");
+ }
+
+ public native boolean equals (Object obj);
+
+ public static void main (String[] args)
+ {
+ Object v = new virtual ();
+ System.out.println (v.equals (v));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jni/virtual.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+// Test JVMTI event notifications
+
+public class events
+{
+ public static native void do_events_tests ();
+
+ public static void main (String[] args)
+ {
+ System.out.println ("JVMTI event notification tests");
+ do_events_tests ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/events.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,59 @@
+JVMTI event notification tests
+- enable tests -
+created JVMTI environment #0
+created JVMTI environment #1
+created JVMTI environment #2
+setting callbacks for envs
+RequestedEvents:
+enable VM_INIT for env0, env1, env2
+RequestedEvents: VMInit,
+enable VM_DEATH for env1,env2
+RequestedEvents: VMInit,VMDeath,
+enable THREAD_END for env2
+RequestedEvents: VMInit,VMDeath,ThreadEnd,
+disposing of env1
+RequestedEvents: VMInit,VMDeath,ThreadEnd,
+disposing of env0
+RequestedEvents: VMInit,VMDeath,ThreadEnd,
+disable VMInit in env2
+RequestedEvents: VMDeath,ThreadEnd,
+clear VMDeath callback in env2
+RequestedEvents: ThreadEnd,
+sending VMInit
+sending ThreadEnd
+ThreadEndCB jni_env=0x5678 thread=0x1234
+sending VMDeath
+disposing of env2
+RequestedEvents:
+- callback arg tests -
+RequestedEvents: VMInit,VMDeath,ThreadStart,ThreadEnd,ClassFileLoadHook,ClassLoad,ClassPrepare,VMStart,Exception,ExceptionCatch,SingleStep,FramePop,Breakpoint,FieldAccess,FieldModification,MethodEntry,MethodExit,NativeMethodBind,CompiledMethodLoad,CompiledMethodUnload,DynamicCodeGenerated,DataDumpRequest,MonitorWait,MonitorWaited,MonitorContendedEnter,MonitorContendedEntered,GarbageCollectionStart,GarbageCollectionFinish,ObjectFree,VMObjectAlloc,
+VMInitCB jni_env=0x1 thread=0x2
+VMDeathCB jni_env=0x1
+ThreadStartCB jni_env=0x1 thread=0x2
+ThreadEndCB jni_env=0x1 thread=0x2
+ClassFileLoadHookCB jni_env=0x1 class_being_redefined=0x2 loader=0x3 name=4 protection_domain=0x5 class_data_len=6 class_data=0x7 new_class_data_len=0x8 new_class_data=0x9
+ClassLoadCB jni_env=0x1 thread=0x2 klass=0x3
+ClassPrepareCB jni_env=0x1 thread=0x2 klass=0x3
+VMStartCB jni_env=0x1
+ExceptionCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 exception=0x5 catch_method=0x6 catch_location=0x7
+ExceptionCatchCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 exception=0x5
+SingleStepCB jni_env=0x1 thread=0x2 method=0x3 location=0x4
+FramePopCB jni_env=0x1 thread=0x2 method=0x3 was_pooped_by_exception=1
+BreakpointCB jni_env=0x1 thread=0x2 method=0x3 location=0x4
+FieldAccessCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 field_klass=0x5 object=0x6 field=0x7
+FieldModificationCB jni_env=0x1 thread=0x2 method=0x3 location=0x4 field_klass=0x5 object=0x6 field=0x7 signature_type=8 new_value=9
+MethodEntryCB jni_env=0x1 thread=0x2 method=0x3
+MethodExitCB jni_env=0x1 thread=0x2 method=0x3 was_popped_by_exception=1 return_value=5
+NativeMethodBindCB jni_env=0x1 thread=0x2 method=0x3 address=0x4 new_address_ptr=0x5
+CompiledMethodLoadCB method=0x1 code_size=0x2 code_addr=0x3 map_length=4 map=0x5 compile_info=0x6
+CompiledMethodUnloadCB method=0x1 code_addr=0x2
+DynamicCodeGeneratedCB name=1 address=0x2 length=3
+DataDumpRequestCB
+MonitorWaitCB jni_env=0x1 thread=0x2 object=0x3 timeout=4
+MonitorWaitedCB jni_env=0x1 thread=0x2 object=0x3 timed_out=1
+MonitorContendedEnterCB jni_env=0x1 thread=0x2 object=0x3
+MonitorContendedEnteredCB jni_env=0x1 thread=0x2 object=0x3
+GarbageCollectionStartCB
+GarbageCollectionFinishCB
+ObjectFreeCB tag=1
+VMObjectAllocCB jni_env=0x1 thread=0x2 object=0x3 object_klass=0x4 size=5
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+// Test JVMTI GetErrorName
+
+public class geterrorname
+{
+ public static native void do_errorname_tests ();
+
+ public static void main (String[] args)
+ {
+ System.out.println ("JVMTI GetErrorName tests");
+ do_errorname_tests ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/geterrorname.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,49 @@
+JVMTI GetErrorName tests
+none
+null pointer
+out of memory
+access denied
+wrong phase
+internal error
+unattached thread
+invalid environment
+invalid priority
+thread not suspended
+thread suspended
+thread not alive
+class not prepared
+no more frames
+opaque frame
+duplicate
+not found
+not monitor owner
+interrupted
+unmodifiable class
+not available
+absent information
+invalid event type
+native method
+invalid thread
+invalid thread group
+invalid object
+invalid class
+invalid method ID
+invalid location
+invalid field ID
+type mismatch
+invalid slot
+invalid monitor
+invalid class format
+circular class definition
+unsupported redefinition: method added
+unsupported redefinition: schema changed
+invalid type state
+fails verification
+unsupported redefinition: hierarchy changed
+unsupported redefinition: method deleted
+unsupported version
+names do not match
+unsupported redefinition: class modifiers changed
+unsupported redefinition: method modifiers changed
+must possess capability
+illegal argument
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/jvmti.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/jvmti.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/jvmti.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/jvmti.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,122 @@
+# Tests for JVMTI code.
+
+# Compile a single C++ file and produce a .o file. OPTIONS is a list
+# of options to pass to the compiler. Returns 0 on failure, 1 on
+# success.
+proc gcj_jvmti_compile_cxx_to_o {file {options {}}} {
+ global srcdir
+ global objdir
+
+ set name [file rootname [file tail $file]]
+ set oname ${name}.o
+
+ # Find the generated header.
+ lappend options "additional_flags=-g -I. -I.."
+ # Find libgcj headers.
+ lappend options "additional_flags=-I$srcdir/.."
+ # Find jvmti.h, jvmti_md.h, jvmti-int.h, jvm.h requirements
+ lappend options "additional_flags=-I$srcdir/../include -I$srcdir/../classpath/include -I$objdir/../include -I$objdir/../../boehm-gc/include"
+
+ set x [libjava_prune_warnings \
+ [target_compile $file $oname object $options]]
+ if {$x != ""} {
+ verbose "target_compile failed: $x" 2
+ fail "[file tail $file] compilation"
+ return 0
+ }
+
+ pass "[file tail $file] compilation"
+ return 1
+}
+
+# Build header files given name of .java file. Return 0 on failure.
+proc gcj_jvmti_build_headers {file} {
+ set gcjh [find_gcjh]
+ set jvscan [find_jvscan]
+
+ set class_out [string trim \
+ [libjava_prune_warnings \
+ [lindex [local_exec "$jvscan --encoding=UTF-8 $file --list-class" "" "" 300] 1]]]
+ if {[string match "*parse error*" $class_out]} {
+ fail "$file header generation"
+ return 0
+ }
+
+ foreach file [split $class_out] {
+ set x [string trim [libjava_prune_warnings \
+ [lindex [local_exec "$gcjh $file" "" "" 300] 1]]]
+ if {$x != ""} {
+ verbose "local_exec failed: $x" 2
+ fail "$file header generation"
+ return 0
+ }
+ }
+
+ pass "$file header generation"
+ return 1
+}
+
+# Do all the work for a single JVMTI test. Return 0 on failure.
+proc gcj_jvmti_test_one {file} {
+ global runtests
+
+ # The base name. We use it for several purposes.
+ set main [file rootname [file tail $file]]
+ if {! [runtest_file_p $runtests $main]} {
+ # Simply skip it.
+ return 1
+ }
+
+ if {! [bytecompile_file $file [pwd]]} {
+ fail "bytecompile $file"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $file"
+
+ if {! [gcj_jvmti_build_headers $file]} {
+ # FIXME
+ return 0
+ }
+
+ set cfile [file join [file dirname $file] nat$main.cc]
+ if {! [gcj_jvmti_compile_cxx_to_o $cfile]} {
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_link $main $main [list $file nat$main.o]]} {
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_invoke $main [file rootname $file].out {}]} {
+ # FIXME
+ return 0
+ }
+
+ # When we succeed we remove all our clutter.
+ eval gcj_cleanup [glob -nocomplain -- ${main}.*] [list $main nat$main.o]
+
+ return 1
+}
+
+# Run the JVMTI tests.
+proc gcj_jvmti_run {} {
+ global srcdir subdir
+ global build_triplet host_triplet
+
+ # For now we only test JVMTI on native builds.
+ if {$build_triplet == $host_triplet} {
+ catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.java] } srcfiles
+
+ foreach x $srcfiles {
+ gcj_jvmti_test_one $x
+ }
+ } else {
+ verbose "JVMTI tests not run in cross-compilation environment"
+ }
+}
+
+gcj_jvmti_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natevents.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natevents.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natevents.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natevents.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,578 @@
+#include <gcj/cni.h>
+
+#include <jvm.h>
+#include <jvmti.h>
+#include <stdio.h>
+
+#include "jvmti-int.h"
+#include "events.h"
+
+void
+print_events ()
+{
+#define DO(X) \
+ do \
+ { \
+ if (JVMTI_REQUESTED_EVENT (X)) \
+ printf (#X ","); \
+ } \
+ while (0)
+
+ printf ("RequestedEvents: ");
+ DO (VMInit);
+ DO (VMDeath);
+ DO (ThreadStart);
+ DO (ThreadEnd);
+ DO (ClassFileLoadHook);
+ DO (ClassLoad);
+ DO (ClassPrepare);
+ DO (VMStart);
+ DO (Exception);
+ DO (ExceptionCatch);
+ DO (SingleStep);
+ DO (FramePop);
+ DO (Breakpoint);
+ DO (FieldAccess);
+ DO (FieldModification);
+ DO (MethodEntry);
+ DO (MethodExit);
+ DO (NativeMethodBind);
+ DO (CompiledMethodLoad);
+ DO (CompiledMethodUnload);
+ DO (DynamicCodeGenerated);
+ DO (DataDumpRequest);
+ DO (MonitorWait);
+ DO (MonitorWaited);
+ DO (MonitorContendedEnter);
+ DO (MonitorContendedEntered);
+ DO (GarbageCollectionStart);
+ DO (GarbageCollectionFinish);
+ DO (ObjectFree);
+ DO (VMObjectAlloc);
+ printf ("\n");
+#undef DO
+}
+
+static void
+VMInitCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread)
+{
+ printf ("VMInitCB jni_env=%#llx thread=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread);
+}
+
+static void
+VMDeathCB (jvmtiEnv *env, JNIEnv *jni_env)
+{
+ printf ("VMDeathCB jni_env=%#llx\n", (unsigned long long) jni_env);
+}
+
+static void
+ThreadStartCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread)
+{
+ printf ("ThreadStartCB jni_env=%#llx thread=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread);
+}
+
+static void
+ThreadEndCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread)
+{
+ printf ("ThreadEndCB jni_env=%#llx thread=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread);
+}
+
+static void
+ClassFileLoadHookCB (jvmtiEnv *env, JNIEnv *jni_env,
+ jclass class_being_redefined, jobject loader,
+ const char *name, jobject protection_domain,
+ jint class_data_len, const unsigned char *class_data,
+ jint *new_class_data_len, unsigned char **new_class_data)
+{
+ printf ("ClassFileLoadHookCB jni_env=%#llx class_being_redefined=%#llx"
+ " loader=%#llx", (unsigned long long) jni_env, (unsigned long long)
+ class_being_redefined, (unsigned long long) loader);
+ printf (" name=%s protection_domain=%#llx class_data_len=%d class_data=%#llx",
+ name, (unsigned long long) protection_domain, (int) class_data_len,
+ (unsigned long long) class_data);
+ printf (" new_class_data_len=%#llx new_class_data=%#llx\n",
+ (unsigned long long) new_class_data_len, (unsigned long long)
+ new_class_data);
+}
+
+static void
+ClassLoadCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jclass klass)
+{
+ printf ("ClassLoadCB jni_env=%#llx thread=%#llx klass=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) klass);
+}
+
+static void
+ClassPrepareCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jclass klass)
+{
+ printf ("ClassPrepareCB jni_env=%#llx thread=%#llx klass=%#llx\n",
+ (unsigned long long)jni_env, (unsigned long long) thread,
+ (unsigned long long) klass);
+}
+
+static void
+VMStartCB (jvmtiEnv *env, JNIEnv *jni_env)
+{
+ printf ("VMStartCB jni_env=%#llx\n", (unsigned long long) jni_env);
+}
+
+static void
+ExceptionCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jmethodID method,
+ jlocation location, jobject exception, jmethodID catch_method,
+ jlocation catch_location)
+{
+ printf ("ExceptionCB jni_env=%#llx thread=%#llx method=%#llx location=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method, (unsigned long long) location);
+ printf (" exception=%#llx catch_method=%#llx catch_location=%#llx\n",
+ (unsigned long long) exception, (unsigned long long) catch_method,
+ (unsigned long long) catch_location);
+}
+
+static void
+ExceptionCatchCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method, jlocation location, jobject exception)
+{
+ printf ("ExceptionCatchCB jni_env=%#llx thread=%#llx method=%#llx"
+ " location=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method, (unsigned long long) location);
+ printf (" exception=%#llx\n", (unsigned long long) exception);
+}
+
+static void
+SingleStepCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jmethodID method,
+ jlocation location)
+{
+ printf ("SingleStepCB jni_env=%#llx thread=%#llx method=%#llx"
+ " location=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method, (unsigned long long) location);
+}
+
+static void
+FramePopCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jmethodID method,
+ jboolean was_popped_by_exception)
+{
+ printf ("FramePopCB jni_env=%#llx thread=%#llx method=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method);
+ printf (" was_pooped_by_exception=%d\n", (was_popped_by_exception ?
+ 1 : 0));
+}
+
+static void
+BreakpointCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jmethodID method,
+ jlocation location)
+{
+ printf ("BreakpointCB jni_env=%#llx thread=%#llx method=%#llx"
+ " location=%#llx\n", (unsigned long long) jni_env,
+ (unsigned long long) thread, (unsigned long long) method,
+ (unsigned long long) location);
+}
+
+static void
+FieldAccessCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method, jlocation location, jclass field_klass,
+ jobject object, jfieldID field)
+{
+ printf ("FieldAccessCB jni_env=%#llx thread=%#llx method=%#llx"
+ " location=%#llx", (unsigned long long) jni_env, (unsigned long long)
+ thread, (unsigned long long) method, (unsigned long long) location);
+ printf (" field_klass=%#llx object=%#llx field=%#llx\n", (unsigned long long)
+ field_klass, (unsigned long long) object, (unsigned long long) field);
+}
+
+static void
+FieldModificationCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method, jlocation location, jclass field_klass,
+ jobject object, jfieldID field, char signature_type,
+ jvalue new_value)
+
+{
+ printf ("FieldModificationCB jni_env=%#llx thread=%#llx method=%#llx"
+ " location=%#llx", (unsigned long long) jni_env, (unsigned long long)
+ thread, (unsigned long long) method, (unsigned long long) location);
+ printf (" field_klass=%#llx object=%#llx field=%#llx signature_type=%c",
+ (unsigned long long) field_klass, (unsigned long long) object,
+ (unsigned long long) field, signature_type);
+ printf (" new_value=%d\n", (int) new_value.i);
+}
+
+static void
+MethodEntryCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method)
+{
+ printf ("MethodEntryCB jni_env=%#llx thread=%#llx method=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method);
+}
+
+static void
+MethodExitCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method, jboolean was_popped_by_exception,
+ jvalue return_value)
+{
+ printf ("MethodExitCB jni_env=%#llx thread=%#llx method=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method);
+ printf (" was_popped_by_exception=%d return_value=%d\n",
+ (was_popped_by_exception) ? 1 : 0, (int) return_value.i);
+}
+
+static void
+NativeMethodBindCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jmethodID method, void *address, void **new_address_ptr)
+{
+ printf ("NativeMethodBindCB jni_env=%#llx thread=%#llx method=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) method);
+ printf (" address=%#llx new_address_ptr=%#llx\n", (unsigned long long)
+ address, (unsigned long long) new_address_ptr);
+}
+
+static void
+CompiledMethodLoadCB (jvmtiEnv *env, jmethodID method, jint code_size,
+ const void *code_addr, jint map_length,
+ const jvmtiAddrLocationMap *map,
+ const void *compile_info)
+{
+ printf ("CompiledMethodLoadCB method=%#llx code_size=%#llx code_addr=%#llx",
+ (unsigned long long) method, (unsigned long long) code_size,
+ (unsigned long long) code_addr);
+ printf (" map_length=%d map=%#llx compile_info=%#llx\n", (int) map_length,
+ (unsigned long long) map, (unsigned long long) compile_info);
+}
+
+static void
+CompiledMethodUnloadCB (jvmtiEnv *env, jmethodID method, const void *code_addr)
+{
+ printf ("CompiledMethodUnloadCB method=%#llx code_addr=%#llx\n",
+ (unsigned long long) method, (unsigned long long) code_addr);
+}
+
+static void
+DynamicCodeGeneratedCB (jvmtiEnv *env, const char *name, const void *address,
+ jint length)
+{
+ printf ("DynamicCodeGeneratedCB name=%s address=%#llx length=%d\n", name,
+ (unsigned long long) address, (int) length);
+}
+
+static void
+DataDumpRequestCB (jvmtiEnv *env)
+{
+ printf ("DataDumpRequestCB\n");
+}
+
+static void
+MonitorWaitCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread, jobject object,
+ jlong timeout)
+{
+ printf ("MonitorWaitCB jni_env=%#llx thread=%#llx object=%#llx timeout=%ld\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) object, (long) timeout);
+}
+
+static void
+MonitorWaitedCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jobject object, jboolean timed_out)
+{
+ printf ("MonitorWaitedCB jni_env=%#llx thread=%#llx object=%#llx"
+ " timed_out=%d\n", (unsigned long long) jni_env, (unsigned long long)
+ thread, (unsigned long long) object, (timed_out) ? 1 : 0);
+}
+
+static void
+MonitorContendedEnterCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jobject object)
+{
+ printf ("MonitorContendedEnterCB jni_env=%#llx thread=%#llx object=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) object);
+}
+
+static void
+MonitorContendedEnteredCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jobject object)
+{
+ printf ("MonitorContendedEnteredCB jni_env=%#llx thread=%#llx object=%#llx\n",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) object);
+}
+
+static void
+GarbageCollectionStartCB (jvmtiEnv *env)
+{
+ printf ("GarbageCollectionStartCB\n");
+}
+
+static void
+GarbageCollectionFinishCB (jvmtiEnv *env)
+{
+ printf ("GarbageCollectionFinishCB\n");
+}
+
+static void
+ObjectFreeCB (jvmtiEnv *env, jlong tag)
+{
+ printf ("ObjectFreeCB tag=%ld\n", (long) tag);
+}
+
+static void
+VMObjectAllocCB (jvmtiEnv *env, JNIEnv *jni_env, jthread thread,
+ jobject object, jclass object_klass, jlong size)
+{
+ printf ("VMObjectAllocCB jni_env=%#llx thread=%#llx object=%#llx",
+ (unsigned long long) jni_env, (unsigned long long) thread,
+ (unsigned long long) object);
+ printf (" object_klass=%#llx size=%ld\n", (unsigned long long) object_klass,
+ (long) size);
+}
+
+static void
+do_enable_tests ()
+{
+ printf ("- enable tests -\n");
+ JavaVM *vm = _Jv_GetJavaVM ();
+ jvmtiEnv *env[3];
+ int i;
+ for (i = 0; i < 3; ++i)
+ {
+ vm->GetEnv (reinterpret_cast<void **> (&env[i]), JVMTI_VERSION_1_0);
+ printf ("created JVMTI environment #%d\n", i);
+ }
+
+ jvmtiEventCallbacks callbacks;
+ memset (&callbacks, 0, sizeof (jvmtiEventCallbacks));
+
+ printf ("setting callbacks for envs\n");
+ callbacks.VMInit = VMInitCB;
+ env[0]->SetEventCallbacks (&callbacks, sizeof (callbacks));
+ callbacks.VMDeath = VMDeathCB;
+ env[1]->SetEventCallbacks (&callbacks, sizeof (callbacks));
+ callbacks.ThreadEnd = ThreadEndCB;
+ env[2]->SetEventCallbacks (&callbacks, sizeof (callbacks));
+ print_events ();
+
+ printf ("enable VM_INIT for env0, env1, env2\n");
+ env[0]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
+ env[1]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
+ env[2]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL);
+ print_events ();
+
+ printf ("enable VM_DEATH for env1,env2\n");
+ env[1]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
+ env[2]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL);
+ print_events ();
+
+ /* Used to use a non-NULL event thread, but that causes problems
+ when SetEventNotificationMode tries to validate the thread. */
+ printf ("enable THREAD_END for env2\n");
+ env[2]->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_THREAD_END,
+ NULL);
+ print_events ();
+
+ printf ("disposing of env1\n");
+ env[1]->DisposeEnvironment ();
+ print_events ();
+
+ printf ("disposing of env0\n");
+ env[0]->DisposeEnvironment ();
+ print_events ();
+
+ printf ("disable VMInit in env2\n");
+ env[2]->SetEventNotificationMode (JVMTI_DISABLE, JVMTI_EVENT_VM_INIT, NULL);
+ print_events ();
+
+ printf ("clear VMDeath callback in env2\n");
+ callbacks.VMDeath = NULL;
+ env[2]->SetEventCallbacks (&callbacks, sizeof (callbacks));
+ print_events ();
+
+ printf ("sending VMInit\n");
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_INIT, (jthread) 0x1234,
+ (JNIEnv *) 0x5678);
+
+ printf ("sending ThreadEnd\n");
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_END, (jthread) 0x1234,
+ (JNIEnv *) 0x5678);
+
+ /* See comment above re: SetEventNotificationMode and validity
+ checking
+ printf ("sending ThreadEnd (no match)\n");
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_END, (jthread) 0x4321,
+ (JNIEnv *) 0x5678);
+ */
+
+ printf ("sending VMDeath\n");
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_DEATH, (jthread) NULL,
+ (JNIEnv *) 0x5678);
+
+ printf ("disposing of env2\n");
+ env[2]->DisposeEnvironment ();
+ print_events ();
+}
+
+static void
+do_callback_arg_tests ()
+{
+ printf ("- callback arg tests -\n");
+ JavaVM *vm = _Jv_GetJavaVM ();
+ jvmtiEnv *env;
+ vm->GetEnv (reinterpret_cast<void **> (&env), JVMTI_VERSION_1_0);
+
+ // Define all the callbacks
+#define DEFINE(Event) callbacks.Event = Event ## CB;
+ jvmtiEventCallbacks callbacks;
+ DEFINE(VMInit);
+ DEFINE(VMDeath);
+ DEFINE(ThreadStart);
+ DEFINE(ThreadEnd);
+ DEFINE(ClassFileLoadHook);
+ DEFINE(ClassLoad);
+ DEFINE(ClassPrepare);
+ DEFINE(VMStart);
+ DEFINE(Exception);
+ DEFINE(ExceptionCatch);
+ DEFINE(SingleStep);
+ DEFINE(FramePop);
+ DEFINE(Breakpoint);
+ DEFINE(FieldAccess);
+ DEFINE(FieldModification);
+ DEFINE(MethodEntry);
+ DEFINE(MethodExit);
+ DEFINE(NativeMethodBind);
+ DEFINE(CompiledMethodLoad);
+ DEFINE(CompiledMethodUnload);
+ DEFINE(DynamicCodeGenerated);
+ DEFINE(DataDumpRequest);
+ DEFINE(MonitorWait);
+ DEFINE(MonitorWaited);
+ DEFINE(MonitorContendedEnter);
+ DEFINE(MonitorContendedEntered);
+ DEFINE(GarbageCollectionStart);
+ DEFINE(GarbageCollectionFinish);
+ DEFINE(ObjectFree);
+ DEFINE(VMObjectAlloc);
+#undef DEFINE
+ env->SetEventCallbacks (&callbacks, sizeof (callbacks));
+
+ // Enable all the callbacks
+#define ENABLE(Event) \
+ env->SetEventNotificationMode (JVMTI_ENABLE, JVMTI_EVENT_ ## Event, NULL)
+ ENABLE (VM_INIT);
+ ENABLE (VM_DEATH);
+ ENABLE (THREAD_START);
+ ENABLE (THREAD_END);
+ ENABLE (CLASS_FILE_LOAD_HOOK);
+ ENABLE (CLASS_LOAD);
+ ENABLE (CLASS_PREPARE);
+ ENABLE (VM_START);
+ ENABLE (EXCEPTION);
+ ENABLE (EXCEPTION_CATCH);
+ ENABLE (SINGLE_STEP);
+ ENABLE (FRAME_POP);
+ ENABLE (BREAKPOINT);
+ ENABLE (FIELD_ACCESS);
+ ENABLE (FIELD_MODIFICATION);
+ ENABLE (METHOD_ENTRY);
+ ENABLE (METHOD_EXIT);
+ ENABLE (NATIVE_METHOD_BIND);
+ ENABLE (COMPILED_METHOD_LOAD);
+ ENABLE (COMPILED_METHOD_UNLOAD);
+ ENABLE (DYNAMIC_CODE_GENERATED);
+ ENABLE (DATA_DUMP_REQUEST);
+ ENABLE (MONITOR_WAIT);
+ ENABLE (MONITOR_WAITED);
+ ENABLE (MONITOR_CONTENDED_ENTER);
+ ENABLE (MONITOR_CONTENDED_ENTERED);
+ ENABLE (GARBAGE_COLLECTION_START);
+ ENABLE (GARBAGE_COLLECTION_FINISH);
+ ENABLE (OBJECT_FREE);
+ ENABLE (VM_OBJECT_ALLOC);
+
+ // All events should now be enabled.
+ print_events ();
+
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_INIT, (jthread) 0x2, (JNIEnv *) 0x1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_DEATH, (jthread) 0x2, (JNIEnv *) 0x1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_START, (jthread) 0x2,
+ (JNIEnv *) 0x1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_END, (jthread) 0x2,
+ (JNIEnv *) 0x1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_CLASS_FILE_LOAD_HOOK, (jthread) 0xb00,
+ (JNIEnv *) 0x1, (jclass) 0x2, (jobject) 0x3,
+ "4", (jobject) 0x5, (jint) 6,
+ (const unsigned char *) 0x7, (jint *) 0x8,
+ (unsigned char **) 0x9);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_CLASS_LOAD, (jthread) 0x2, (JNIEnv *) 0x1,
+ (jclass) 0x3);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_CLASS_PREPARE, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jclass) 0x3);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_START, (jthread) 0xb00, (JNIEnv *) 0x1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_EXCEPTION, (jthread) 0x2, (JNIEnv *) 0x1,
+ (jmethodID) 0x3, (jlocation) 0x4, (jobject) 0x5,
+ (jmethodID) 0x6, (jlocation) 0x7);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_EXCEPTION_CATCH, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3, (jlocation) 0x4,
+ (jobject) 0x5);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_SINGLE_STEP, (jthread) 0x2, (JNIEnv *) 0x1,
+ (jmethodID) 0x3, (jlocation) 0x4);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_FRAME_POP, (jthread) 0x2, (JNIEnv *) 0x1,
+ (jmethodID) 0x3, 4);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_BREAKPOINT, (jthread) 0x2, (JNIEnv *) 0x1,
+ (jmethodID) 0x3, (jlocation) 0x4);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_FIELD_ACCESS, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3, (jlocation) 0x4,
+ (jclass) 0x5, (jobject) 0x6, (jfieldID) 0x7);
+ jvalue value;
+ value.l = (jobject) 0x9;
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_FIELD_MODIFICATION, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3, (jlocation) 0x4,
+ (jclass) 0x5, (jobject) 0x6, (jfieldID) 0x7,
+ (int) '8', value);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_METHOD_ENTRY, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3);
+ jvalue value2;
+ value2.i = 5;
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_METHOD_EXIT, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3, 4, value2);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_NATIVE_METHOD_BIND, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jmethodID) 0x3, (void *) 0x4,
+ (void **) 0x5);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_COMPILED_METHOD_LOAD, (jthread) 0xb00,
+ (jmethodID) 0x1, (jint) 2, (const void *) 0x3,
+ (jint) 4, (const jvmtiAddrLocationMap *) 0x5,
+ (const void *) 0x6);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_COMPILED_METHOD_UNLOAD, (jthread) 0xb00,
+ (jmethodID) 0x1, (const void *) 0x2);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_DYNAMIC_CODE_GENERATED, (jthread) 0xb00,
+ "1", (const void *) 0x2, (jint) 3);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_DATA_DUMP_REQUEST, (jthread) 0xb00);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_MONITOR_WAIT, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jobject) 0x3, (jlong) 4);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_MONITOR_WAITED, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jobject) 0x3, (int) 4);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_MONITOR_CONTENDED_ENTER, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jobject) 0x3);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_MONITOR_CONTENDED_ENTERED, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jobject) 0x3);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_GARBAGE_COLLECTION_START, (jthread) 0xb00);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_GARBAGE_COLLECTION_FINISH, (jthread) 0xb00);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_OBJECT_FREE, (jthread) 0xb00, (jlong) 1);
+ _Jv_JVMTI_PostEvent (JVMTI_EVENT_VM_OBJECT_ALLOC, (jthread) 0x2,
+ (JNIEnv *) 0x1, (jobject) 0x3, (jclass) 0x4,
+ (jlong) 5);
+}
+
+void
+events::do_events_tests ()
+{
+ do_enable_tests ();
+ do_callback_arg_tests ();
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natgeterrorname.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natgeterrorname.cc?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natgeterrorname.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.jvmti/natgeterrorname.cc Thu Nov 8 16:56:19 2007
@@ -0,0 +1,76 @@
+#include <gcj/cni.h>
+
+#include <jvm.h>
+#include <jvmti.h>
+#include <stdio.h>
+
+#include "jvmti-int.h"
+#include "geterrorname.h"
+
+static void
+get_error (jvmtiEnv *env, jvmtiError err)
+{
+ char *s;
+ env->GetErrorName (err, &s);
+ printf ("%s\n", s);
+ env->Deallocate (reinterpret_cast<unsigned char *> (s));
+}
+
+void
+geterrorname::do_errorname_tests ()
+{
+ jvmtiEnv *env;
+ JavaVM *vm = _Jv_GetJavaVM ();
+ vm->GetEnv (reinterpret_cast<void **> (&env), JVMTI_VERSION_1_0);
+
+ get_error (env, JVMTI_ERROR_NONE);
+ get_error (env, JVMTI_ERROR_NULL_POINTER);
+ get_error (env, JVMTI_ERROR_OUT_OF_MEMORY);
+ get_error (env, JVMTI_ERROR_ACCESS_DENIED);
+ get_error (env, JVMTI_ERROR_WRONG_PHASE);
+ get_error (env, JVMTI_ERROR_INTERNAL);
+ get_error (env, JVMTI_ERROR_UNATTACHED_THREAD);
+ get_error (env, JVMTI_ERROR_INVALID_ENVIRONMENT);
+ get_error (env, JVMTI_ERROR_INVALID_PRIORITY);
+ get_error (env, JVMTI_ERROR_THREAD_NOT_SUSPENDED);
+ get_error (env, JVMTI_ERROR_THREAD_SUSPENDED);
+ get_error (env, JVMTI_ERROR_THREAD_NOT_ALIVE);
+ get_error (env, JVMTI_ERROR_CLASS_NOT_PREPARED);
+ get_error (env, JVMTI_ERROR_NO_MORE_FRAMES);
+ get_error (env, JVMTI_ERROR_OPAQUE_FRAME);
+ get_error (env, JVMTI_ERROR_DUPLICATE);
+ get_error (env, JVMTI_ERROR_NOT_FOUND);
+ get_error (env, JVMTI_ERROR_NOT_MONITOR_OWNER);
+ get_error (env, JVMTI_ERROR_INTERRUPT);
+ get_error (env, JVMTI_ERROR_UNMODIFIABLE_CLASS);
+ get_error (env, JVMTI_ERROR_NOT_AVAILABLE);
+ get_error (env, JVMTI_ERROR_ABSENT_INFORMATION);
+ get_error (env, JVMTI_ERROR_INVALID_EVENT_TYPE);
+ get_error (env, JVMTI_ERROR_NATIVE_METHOD);
+ get_error (env, JVMTI_ERROR_INVALID_THREAD);
+ get_error (env, JVMTI_ERROR_INVALID_THREAD_GROUP);
+ get_error (env, JVMTI_ERROR_INVALID_OBJECT);
+ get_error (env, JVMTI_ERROR_INVALID_CLASS);
+ get_error (env, JVMTI_ERROR_INVALID_METHODID);
+ get_error (env, JVMTI_ERROR_INVALID_LOCATION);
+ get_error (env, JVMTI_ERROR_INVALID_FIELDID);
+ get_error (env, JVMTI_ERROR_TYPE_MISMATCH);
+ get_error (env, JVMTI_ERROR_INVALID_SLOT);
+ get_error (env, JVMTI_ERROR_INVALID_MONITOR);
+ get_error (env, JVMTI_ERROR_INVALID_CLASS_FORMAT);
+ get_error (env, JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION);
+ get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED);
+ get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED);
+ get_error (env, JVMTI_ERROR_INVALID_TYPESTATE);
+ get_error (env, JVMTI_ERROR_FAILS_VERIFICATION);
+ get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED);
+ get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED);
+ get_error (env, JVMTI_ERROR_UNSUPPORTED_VERSION);
+ get_error (env, JVMTI_ERROR_NAMES_DONT_MATCH);
+ get_error (env,
+ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED);
+ get_error (env,
+ JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED);
+ get_error (env, JVMTI_ERROR_MUST_POSSESS_CAPABILITY);
+ get_error (env, JVMTI_ERROR_ILLEGAL_ARGUMENT);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,52 @@
+public class ArrayStore
+{
+ public static void main(String[] args)
+ {
+ ArrayStore s = new ArrayStore();
+
+ /* Check that bounds check takes precedence over array store check. */
+ try
+ {
+ s.a(new String[1]);
+ }
+ catch (Exception x)
+ {
+ System.out.println (x.getClass().getName());
+ }
+
+ try
+ {
+ s.a(new String[2]);
+ }
+ catch (Exception x)
+ {
+ System.out.println (x.getClass().getName());
+ }
+
+ /* Check that += operator on String[] element works and throws bounds
+ exception. */
+ try
+ {
+ s.b(new String[1]);
+ }
+ catch (Exception x)
+ {
+ System.out.println (x.getClass().getName());
+ }
+
+ String[] sb = new String[2];
+ sb[1] = "foo";
+ s.b(sb);
+ System.out.println (sb[1]);
+ }
+
+ void a(Object[] oa)
+ {
+ oa[1] = new Integer(2);
+ }
+
+ void b(String[] sa)
+ {
+ sa[1] += "bar";
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+java.lang.ArrayIndexOutOfBoundsException
+java.lang.ArrayStoreException
+java.lang.ArrayIndexOutOfBoundsException
+foobar
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+xfail-byte-output
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,31 @@
+public class ArrayStore2
+{
+ public static void main(String[] args)
+ {
+ new ArrayStore2().a(new Object[2], 3);
+ }
+
+ void a(Object[] oa, int i)
+ {
+ try
+ {
+ oa[index()] = obj();
+ }
+ catch (Exception x)
+ {
+ System.out.println (x.getClass().getName());
+ }
+ }
+
+ int index()
+ {
+ System.out.println ("index");
+ return 3;
+ }
+
+ Object obj()
+ {
+ System.out.println ("rhs");
+ return new Object();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+index
+rhs
+java.lang.ArrayIndexOutOfBoundsException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ArrayStore2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+xfail-source-output
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Test of array stuff. Technically this probably isn't in java.lang.
+
+public class Array_1
+{
+ public static void main (String[] args)
+ {
+ int x[][] = { { 1, 2}, null };
+
+ System.out.println(Cloneable.class.isInstance(x));
+
+ // This example is from the Java Spec book.
+ int y[][] = (int[][]) x.clone();
+ System.out.println(x == y);
+ System.out.println(x[0] == y[0] && x[1] == y[1]);
+
+ System.out.println(x.getClass().getSuperclass());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+true
+false
+true
+class java.lang.Object
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Test to make sure multidimensional arrays work.
+// From Bryce McKinlay
+
+public class Array_2
+{
+ static final int a = 10, b = 15;
+
+ public static void main(String args[])
+ {
+ int[][] foo = new int [a][b];
+ System.out.println(foo.length);
+ System.out.println(foo[a-1].length);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+10
+15
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,91 @@
+// Test to make sure null arrays throw the right execption
+
+public class Array_3
+{
+ static Object foo ()
+ {
+ return null;
+ }
+
+ static int[] bar ()
+ {
+ return null;
+ }
+
+ static int baz ()
+ {
+ int[] x = (int[])null;
+ int nn = x.length;
+ return 5;
+ }
+
+ public static void main(String args[])
+ {
+ boolean ok = false;
+ int nn = 0;
+
+ try
+ {
+ int[] x = (int[])foo();
+ nn = x.length;
+ }
+ catch (NullPointerException _)
+ {
+ ok = true;
+ }
+ if (!ok)
+ throw new RuntimeException("test failed:1");
+
+ ok = false;
+ try
+ {
+ int[] x = bar();
+ nn = x.length;
+ }
+ catch (NullPointerException _)
+ {
+ ok = true;
+ }
+ if (!ok)
+ throw new RuntimeException("test failed:2");
+
+ ok = false;
+ try
+ {
+ int[] x = bar();
+ nn = x[0];
+ }
+ catch (NullPointerException _)
+ {
+ ok = true;
+ }
+
+ if (!ok || nn != 0)
+ throw new RuntimeException("test failed:3");
+
+ ok = false;
+ try
+ {
+ int[] x = (int[])null;
+ nn = x.length;
+ }
+ catch (NullPointerException _)
+ {
+ ok = true;
+ }
+ if (!ok)
+ throw new RuntimeException("test failed:4");
+
+ ok = false;
+ try
+ {
+ nn = baz ();
+ }
+ catch (NullPointerException _)
+ {
+ ok = true;
+ }
+ if (!ok)
+ throw new RuntimeException("test failed:5");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Array_3.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,46 @@
+class C {}
+class D extends C implements I {}
+interface I {}
+interface J extends I {}
+
+public class Class_1
+{
+ static void printIsAssignableFrom(Class a, Class b, boolean c)
+ {
+ // The field 'c' can be viewed to see the expected value.
+ System.out.println(a.isAssignableFrom(b));
+ }
+
+ public static void main (String arg[])
+ {
+ System.out.println("Testing class `Class_1'...");
+ printIsAssignableFrom(C.class, Object.class, false);
+ printIsAssignableFrom(C.class, C.class, true);
+ printIsAssignableFrom(C.class, D.class, true);
+ printIsAssignableFrom(D.class, C.class, false);
+
+ printIsAssignableFrom(Object.class, int[].class, true);
+ printIsAssignableFrom(int[].class, int[].class, true);
+ printIsAssignableFrom(C[].class, D.class, false);
+ printIsAssignableFrom(C[].class, D[].class, true);
+ printIsAssignableFrom(C[].class, C[][].class, false);
+
+ printIsAssignableFrom(Object.class, I.class, true);
+ printIsAssignableFrom(I.class, I.class, true);
+ printIsAssignableFrom(D.class, I.class, false);
+ printIsAssignableFrom(I.class, D.class, true);
+
+ printIsAssignableFrom(D.class, J.class, false);
+ printIsAssignableFrom(J.class, D.class, false);
+
+ printIsAssignableFrom(I.class, J.class, true);
+ printIsAssignableFrom(J.class, J.class, true);
+ printIsAssignableFrom(J.class, I.class, false);
+
+ // Returns true iff both Class objects are equal.
+ printIsAssignableFrom(long.class, long.class, true);
+
+ // Does not work for primitive types in general.
+ printIsAssignableFrom(long.class, int.class, false);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Class_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+Testing class `Class_1'...
+false
+true
+true
+false
+true
+true
+false
+true
+false
+true
+true
+false
+true
+false
+false
+true
+true
+false
+true
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+/*
+ * JLS 4.2.3 specifies that (x op y) must be false if either x or y
+ * is NaN and op is one of <, >, <=, >=, or ==.
+ *
+ * Some targets may need specific options wired into libgcj.spec
+ * to pass this test. For example, alpha-linux requires -mieee
+ * to prevent an unrecoverable fp trap.
+ */
+
+public class CompareNaN {
+ public static void main(String[] args) {
+ double x = Double.NaN;
+ System.out.println(x == x);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/CompareNaN.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,203 @@
+public class Divide_1
+{
+ static int b = Integer.parseInt ("-1");
+ int b1 = Integer.parseInt ("-1");
+ static int zero = Integer.parseInt ("0");
+
+ void probe_1 ()
+ {
+ try {
+ int a = Integer.parseInt ("-80000000", 16);
+ int c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("-80000000", 16);
+ int c = a/-1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("-80000000", 16);
+ int c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("-80000000", 16);
+ int c = a%b1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("-80000000", 16);
+ int c = a%-1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("8000", 16);
+ int b = Integer.parseInt ("0", 16);
+ int c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = Integer.parseInt ("8000", 16);
+ int b = Integer.parseInt ("0", 16);
+ int c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = Long.parseLong ("-8000000000000000", 16);
+ long c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = Long.parseLong ("-8000000000000000", 16);
+ long c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = Long.parseLong ("8000", 16);
+ long b = Long.parseLong ("0", 16);
+ long c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = Long.parseLong ("8000", 16);
+ long b = Long.parseLong ("0", 16);
+ long c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+ }
+
+ void probe_2 ()
+ {
+ try {
+ int a = -0x80000000;
+ int c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = -0x80000000;
+ int c = a/-1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = -0x80000000;
+ int c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = -0x80000000;
+ int c = a%b1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = -0x80000000;
+ int c = a%-1;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = 0x8000;
+ int b = 0;
+ int c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ int a = 0x8000;
+ int b = 0;
+ int c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = -0x7fffffffffffffffL - 1;
+ long c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = -0x7fffffffffffffffL - 1;
+ long c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = 0x8000;
+ long b = 0;
+ long c = a/b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+
+ try {
+ long a = 0x8000;
+ long b = 0;
+ long c = a%b;
+ System.out.println (c);
+ } catch (Exception _) {
+ System.out.println (_);
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ Divide_1 d = new Divide_1 ();
+ d.probe_1 ();
+ d.probe_2 ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Divide_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+-2147483648
+-2147483648
+0
+0
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero
+-9223372036854775808
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero
+-2147483648
+-2147483648
+0
+0
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero
+-9223372036854775808
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+public class EvaluationOrder
+ {
+ private static int first (int x, int y)
+ {
+ return x;
+ }
+
+ public static void main (String[] args)
+ {
+ int l = args.length;
+
+ /* This should print:
+ 0
+ 0
+ 1
+ */
+ System.out.println (l);
+ System.out.println (first (l, ++l));
+ System.out.println (l);
+ }
+ }
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/EvaluationOrder.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+0
+0
+1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// PR java/18036
+
+public class ExtraClassLoader extends ClassLoader
+{
+ public static void main(String args[]) throws Exception
+ {
+ ClassLoader loader = new ExtraClassLoader();
+ Class c = Class.forName("C", false, loader);
+ Object o = c.newInstance();
+ System.out.println(o.getClass() == c);
+ System.out.println(c.getClassLoader() == loader);
+ }
+
+ public Class findClass(String name) throws ClassNotFoundException
+ {
+ return defineClass("C", Cbytes, 0, Cbytes.length);
+ }
+
+ /*
+ * Generated by compiling the following program with gcj -C C.java:
+ *
+ * public class C
+ * {
+ * public C() throws ClassNotFoundException
+ * {
+ * System.out.println(getClass() == Class.forName("C"));
+ * }
+ * }
+ *
+ * And then processing the byte code as follows:
+ * od -w1000 -An -td1 C.class | sed "s/\ \+/,/g"
+ */
+ private static byte[] Cbytes = new byte[] {
+-54,-2,-70,-66,0,3,0,45,0,39,1,0,1,67,7,0,1,1,0,16,106,97,118,97,47,108,97,110,103,47,79,98,106,101,99,116,7,0,3,1,0,6,60,105,110,105,116,62,1,0,3,40,41,86,1,0,4,67,111,100,101,12,0,5,0,6,10,0,4,0,8,1,0,16,106,97,118,97,47,108,97,110,103,47,83,121,115,116,101,109,7,0,10,1,0,3,111,117,116,1,0,21,76,106,97,118,97,47,105,111,47,80,114,105,110,116,83,116,114,101,97,109,59,12,0,12,0,13,9,0,11,0,14,1,0,8,103,101,116,67,108,97,115,115,1,0,19,40,41,76,106,97,118,97,47,108,97,110,103,47,67,108,97,115,115,59,12,0,16,0,17,10,0,4,0,18,8,0,1,1,0,15,106,97,118,97,47,108,97,110,103,47,67,108,97,115,115,7,0,21,1,0,7,102,111,114,78,97,109,101,1,0,37,40,76,106,97,118,97,47,108,97,110,103,47,83,116,114,105,110,103,59,41,76,106,97,118,97,47,108,97,110,103,47,67,108,97,115,115,59,12,0,23,0,24,10,0,22,0,25,1,0,19,106,97,118,97,47,105,111,47,80,114,105,110,116,83,116,114,101,97,109,7,0,27,1,0,7,112,114,105,110,116,108,110,1,0,4,40,90,41,86,12,0,29,0,30,10,0,28,0,31,1,0,15,76,105,110,101,78,117,10!
9,98,101,114,84,97,98,108,101,1,0,10,69,120,99,101,112,116,105,111,110,115,1,0,32,106,97,118,97,47,108,97,110,103,47,67,108,97,115,115,78,111,116,70,111,117,110,100,69,120,99,101,112,116,105,111,110,7,0,35,1,0,10,83,111,117,114,99,101,70,105,108,101,1,0,6,67,46,106,97,118,97,0,33,0,2,0,4,0,0,0,0,0,1,0,1,0,5,0,6,0,2,0,7,0,0,0,52,0,3,0,1,0,0,0,28,42,-73,0,9,-78,0,15,42,-74,0,19,18,20,-72,0,26,-90,0,7,4,-89,0,4,3,-74,0,32,-79,0,0,0,1,0,33,0,0,0,6,0,1,0,4,0,5,0,34,0,0,0,4,0,1,0,36,0,1,0,37,0,0,0,2,0,38
+ };
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/ExtraClassLoader.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+true
+true
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+// Make sure that file handles are garbage collected.
+import java.io.*;
+public class FileHandleGcTest
+{
+ static void kill () throws FileNotFoundException
+ {
+ for (int i = 0; i < 65536; i++)
+ {
+ FileInputStream f = new FileInputStream ("/dev/null");
+ }
+ }
+
+ public static void
+ main (String argv [])
+ {
+ try
+ {
+ kill ();
+ }
+ catch (FileNotFoundException _)
+ {
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/FileHandleGcTest.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+public final class Final
+{
+ public static void main(String args[])
+ {
+ Final f = null;
+ try
+ {
+ f.doSomething();
+ }
+ catch (NullPointerException x)
+ {
+ System.out.println("NullPointerException - ok");
+ }
+ }
+
+ void doSomething()
+ {
+ System.out.println("This should not happen");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Final.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+NullPointerException - ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,52 @@
+/*
+
+Date: 25 Aug 1998 16:04:00 -0000
+From: Andrew Haley <aph at pasanda.cygnus.co.uk>
+To: java-project at cygnus.com
+Subject: Help: vtable problem?
+
+My little program:
+
+-----------------------------------------------------------------------
+import java.lang.*;
+
+ public class widget
+ {
+ public static void main (String argv[])
+ {
+ int test = Float.floatToIntBits((float)2.0);
+ String s = Integer.toHexString(test);
+
+ System.out.print (s+"\n");
+ }
+
+ }
+-----------------------------------------------------------------------
+prints out
+
+40000000
+
+with Sun's interpreter, but prints out
+
+true
+
+when compiled with gcj; PrintStream dispatches a string arg as a
+boolean rather than as a String. I've tried to rebuild everything.
+
+?
+
+Thanks,
+Andrew.
+
+*/
+
+public class Float_1
+{
+ public static void main (String argv[])
+ {
+ int test = Float.floatToIntBits((float)2.0);
+ String s = Integer.toHexString(test);
+
+ System.out.print (s+"\n");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+40000000
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,138 @@
+// Test floating-point to integer conversion. We do this twice, once
+// with literal conversions that can be optimized away and once using
+// a static field that can't.
+
+public class Float_2
+{
+ public static double zero = 0.0;
+
+ public static void main (String argv[])
+ {
+ {
+ int itest = (int)(float)(0.0/0.0);
+ if (itest != 0)
+ System.err.println ("literal inf error 1: " + itest);
+ }
+ {
+ int itest = (int)(0.0/0.0);
+ if (itest != 0)
+ System.err.println ("literal inf error 2" + itest);
+ }
+ {
+ long ltest = (long)(0.0/0.0);
+ if (ltest != 0)
+ System.err.println ("literal inf error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(0.0/0.0);
+ if (ltest != 0)
+ System.err.println ("literal inf error 4" + ltest);
+ }
+
+ {
+ int itest = (int)(float)(1.0/0.0);
+ if (itest != Integer.MAX_VALUE)
+ System.err.println ("literal max error 1: " + itest);
+ }
+ {
+ int itest = (int)(1.0/0.0);
+ if (itest != Integer.MAX_VALUE)
+ System.err.println ("literal max error 2" + itest);
+ }
+ {
+ long ltest = (long)(1.0/0.0);
+ if (ltest != Long.MAX_VALUE)
+ System.err.println ("literal max error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(1.0/0.0);
+ if (ltest != Long.MAX_VALUE)
+ System.err.println ("literal max error 4" + ltest);
+ }
+
+ {
+ int itest = (int)(float)(-1.0/0.0);
+ if (itest != Integer.MIN_VALUE)
+ System.err.println ("literal min error 1: " + itest);
+ }
+ {
+ int itest = (int)(-1.0/0.0);
+ if (itest != Integer.MIN_VALUE)
+ System.err.println ("literal min error 2" + itest);
+ }
+ {
+ long ltest = (long)(-1.0/0.0);
+ if (ltest != Long.MIN_VALUE)
+ System.err.println ("literal min error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(-1.0/0.0);
+ if (ltest != Long.MIN_VALUE)
+ System.err.println ("literal min error 4" + ltest);
+ }
+
+ {
+ int itest = (int)(float)(zero/zero);
+ if (itest != 0)
+ System.err.println ("calc inf error 1: " + itest);
+ }
+ {
+ int itest = (int)(zero/zero);
+ if (itest != 0)
+ System.err.println ("calc inf error 2" + itest);
+ }
+ {
+ long ltest = (long)(zero/zero);
+ if (ltest != 0)
+ System.err.println ("calc inf error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(zero/zero);
+ if (ltest != 0)
+ System.err.println ("calc inf error 4" + ltest);
+ }
+
+ {
+ int itest = (int)(float)(1.0/zero);
+ if (itest != Integer.MAX_VALUE)
+ System.err.println ("calc max error 1: " + itest);
+ }
+ {
+ int itest = (int)(1.0/zero);
+ if (itest != Integer.MAX_VALUE)
+ System.err.println ("calc max error 2" + itest);
+ }
+ {
+ long ltest = (long)(1.0/zero);
+ if (ltest != Long.MAX_VALUE)
+ System.err.println ("calc max error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(1.0/zero);
+ if (ltest != Long.MAX_VALUE)
+ System.err.println ("calc max error 4" + ltest);
+ }
+
+ {
+ int itest = (int)(float)(-1.0/zero);
+ if (itest != Integer.MIN_VALUE)
+ System.err.println ("calc min error 1: " + itest);
+ }
+ {
+ int itest = (int)(-1.0/zero);
+ if (itest != Integer.MIN_VALUE)
+ System.err.println ("calc min error 2" + itest);
+ }
+ {
+ long ltest = (long)(-1.0/zero);
+ if (ltest != Long.MIN_VALUE)
+ System.err.println ("calc min error 3" + ltest);
+ }
+ {
+ long ltest = (long)(float)(-1.0/zero);
+ if (ltest != Long.MIN_VALUE)
+ System.err.println ("calc min error 4" + ltest);
+ }
+
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Float_2.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+public class G19990301_01 {
+ public static void main(String args[]) {
+ foo pd = new foo();
+ System.out.println ("Pass 1");
+ pd.s = "test";
+ System.out.println ("Pass 2");
+ }
+}
+class foo {
+ static String s = "test";
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990301_01.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Pass 1
+Pass 2
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+public class G19990302_02 {
+ public static void main(String args[]) {
+ try {
+ Object[] arrayObj = new String[3];
+ String[] arrayStr = new String[3];
+ System.out.println ("Pass 1");
+ arrayObj[0] = arrayStr; // String object <-- String array object
+ System.out.println ("Pass 2");
+ } catch (ArrayStoreException e) {
+ System.out.println ("ArrayStoreException");
+ }
+ System.out.println ("Pass 3");
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990302_02.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Pass 1
+ArrayStoreException
+Pass 3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+public class G19990303_01
+{
+ public static void main (String[] args)
+ {
+ try
+ {
+ Object[] ar = new String[3];
+ String[] as = new String[3];
+ System.out.println("1");
+ ar[0] = as;
+ System.out.println("2");
+ }
+ catch (Exception _)
+ {
+ System.out.println("X");
+ }
+ System.out.println("3");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_01.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+1
+X
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+public class G19990303_02
+{
+ public static void main (String[] args)
+ {
+ int i = -1;
+ try
+ {
+ System.out.println ("Pass 1");
+ int[][][] arrayInt = new int[i][1][1];
+ int ii = arrayInt[i - 1][0][0];
+ System.out.println ("Pass 2");
+ }
+ catch (NegativeArraySizeException e)
+ {
+ System.out.println ("Pass NegativeArraySizeException");
+ }
+ System.out.println ("Pass 3");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990303_02.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Pass 1
+Pass NegativeArraySizeException
+Pass 3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+public class G19990304_01
+{
+ public static void main (String[] args)
+ {
+ Object[] arrayObj = new String[3];
+ String[] arrayStr = new String[3];
+ try
+ {
+ System.out.println ("pass 1");
+ arrayObj[0] = arrayStr;
+ }
+ catch (RuntimeException e)
+ {
+ System.out.println ("RuntimeException");
+ }
+ System.out.println ("pass 2");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990304_01.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+pass 1
+RuntimeException
+pass 2
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+public class G19990310_01
+{
+ public static void main (String[] args)
+ {
+ int i = 0;
+ try
+ {
+ System.out.println ("pass 1");
+ i++;
+ }
+ finally
+ {
+ System.out.println ("pass 2");
+ i++;
+ }
+ if (i == 2)
+ System.out.println ("OK");
+ else
+ System.out.println ("NG i = " + i);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/G19990310_01.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+pass 1
+pass 2
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+public class II {
+ {
+ System.out.println("ii");
+ }
+ public II()
+ {
+ }
+ public II(int x)
+ {
+ this();
+ }
+ public static void main(String[] args)
+ {
+ new II(0);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/II.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ii
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,403 @@
+/* Test interface dispatch, type checking (instanceof), and casting. */
+
+interface IA
+{
+ String a();
+}
+
+interface IB extends IA
+{
+ String b();
+}
+
+interface IC extends IB
+{
+ void c();
+ int d();
+ IB e(int i);
+}
+
+interface ID
+{
+ String z();
+ String a();
+}
+
+class CA
+{
+ String a()
+ {
+ return "CA a()";
+ }
+}
+
+class CB implements IB
+{
+ public String a()
+ {
+ return "CB a()";
+ }
+
+ public String b()
+ {
+ return "CB b()";
+ }
+}
+
+class CC extends CB
+{
+ public int d()
+ {
+ return 99;
+ }
+}
+
+class CD extends CC implements IC
+{
+ public String a()
+ {
+ return "CD a()";
+ }
+
+ public void c()
+ {
+ System.out.println("CD c()");
+ }
+
+ public int d()
+ {
+ return 6;
+ }
+
+ public IB e(int i)
+ {
+ if (i == 1)
+ return new CB();
+ else
+ return new CD();
+ }
+}
+
+class CE extends CB implements IB, ID
+{
+ public String a()
+ {
+ return ("CE a()");
+ }
+
+ public String b()
+ {
+ return ("CE b()");
+ }
+
+ public String z()
+ {
+ return("CE z()");
+ }
+}
+
+
+public class InterfaceDispatch
+{
+ public static void main(String args[])
+ {
+ new InterfaceDispatch();
+ }
+
+ public InterfaceDispatch()
+ {
+ /* _Jv_InstanceOf */
+
+ /* Object instanceof CLASS */
+ Object obj = new CA();
+
+ if (obj instanceof CA)
+ {
+ System.out.println ("ok 1");
+ }
+ else
+ {
+ System.out.println ("FAIL 1");
+ }
+
+ obj = new CD();
+
+ if (!(obj instanceof CA))
+ {
+ System.out.println ("ok 2a");
+ }
+ else
+ {
+ System.out.println ("FAIL 2a");
+ }
+
+ if (obj instanceof CB)
+ {
+ System.out.println ("ok 2b");
+ }
+ else
+ {
+ System.out.println ("FAIL 2b");
+ }
+
+
+ /* Object instanceof INTERFACE */
+ obj = new CB();
+
+ if (!(obj instanceof IC))
+ {
+ System.out.println("ok 3");
+ }
+ else
+ {
+ System.out.println ("FAIL 3");
+ }
+
+ if (obj instanceof IB)
+ {
+ System.out.println("ok 4");
+ }
+ else
+ {
+ System.out.println ("FAIL 4");
+ }
+
+ /* InterfaceRef instanceof INTERFACE */
+
+ IA ia = new CB();
+
+ if (ia instanceof IB)
+ {
+ System.out.println("ok 5");
+ }
+ else
+ {
+ System.out.println ("FAIL 5");
+ }
+
+
+ if (!(ia instanceof IC))
+ {
+ System.out.println("ok 6");
+ }
+ else
+ {
+ System.out.println ("FAIL 6");
+ }
+
+ /* InterfaceRef instanceof CLASS */
+
+ if (ia instanceof CB)
+ {
+ System.out.println("ok 7");
+ }
+ else
+ {
+ System.out.println ("FAIL 7");
+ }
+
+
+ if (!(ia instanceof CD))
+ {
+ System.out.println("ok 8");
+ }
+ else
+ {
+ System.out.println ("FAIL 8");
+ }
+
+
+ /* _Jv_CheckCast */
+ Object obj_ca = new CA();
+ Object obj_cc = new CC();
+
+ IA ia2;
+
+ try
+ {
+ ia2 = (IA) obj_cc;
+ System.out.println("ok 9");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("FAIL 9");
+ }
+
+ CD cd;
+
+ try
+ {
+ cd = (CD) obj_ca;
+ System.out.println("FAIL 10");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("ok 10");
+ }
+
+ IA ia3;
+
+ try
+ {
+ ia3 = (IB) obj_ca;
+ System.out.println("FAIL 11");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("ok 11");
+ }
+
+ /* _Jv_LookupInterfaceMethod */
+ Object obj_cb = new CB();
+
+ IB ib = (IB) obj_cb;
+ ib.b();
+ if (ib.a().equalsIgnoreCase("CB a()"))
+ System.out.println("ok 12");
+ else
+ System.out.println("FAIL 12");
+
+ IC ic = new CD();
+ if (ic.a().equalsIgnoreCase("CD a()"))
+ System.out.println("ok 13");
+ else
+ System.out.println("FAIL 13");
+
+ if (ic.d() == 6)
+ System.out.println("ok 14");
+ else
+ System.out.println("FAIL 14");
+
+ Object ce = new CE();
+
+ ib = (IB) ce;
+ ID id = (ID) ce;
+
+ if (ib.b().equals("CE b()") && id.a().equals("CE a()"))
+ System.out.println("ok 15");
+ else
+ System.out.println("FAIL 15");
+
+ String t = ((ID)ce).z();
+
+ if (t.equalsIgnoreCase("CE z()"))
+ System.out.println("ok 16");
+ else
+ System.out.println("FAIL 16");
+
+ /* Array types */
+
+ Object[] obj_a = new CC[10];
+ try
+ {
+ CB[] ca_a = (CB[]) obj_a;
+ System.out.println("ok 17");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("FAIL 17");
+ }
+
+ if (obj_a instanceof IB[])
+ {
+ System.out.println("ok 18");
+ }
+ else
+ {
+ System.out.println("FAIL 18");
+ }
+
+ IB[] ib_a = new CD[5];
+ try
+ {
+ CD[] cd_a = (CD[]) ib_a;
+ System.out.println("ok 19");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("FAIL 19");
+ }
+
+ CA[] ca_a;
+
+ try
+ {
+ ca_a = (CA[]) ib_a;
+ System.out.println("FAIL 20");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("ok 20");
+ }
+
+
+ /* Primitive types */
+
+ short[] short_a = new short[100];
+
+ try
+ {
+ obj = short_a;
+ System.out.println("ok 21");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("FAIL 21");
+ }
+
+ try
+ {
+ short[] short_b = (short[]) obj;
+ System.out.println("ok 22");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("FAIL 22");
+ }
+
+ int[] short_b;
+
+ try
+ {
+ short_b = (int[]) obj;
+ System.out.println("FAIL 23");
+ }
+ catch (ClassCastException x)
+ {
+ System.out.println("ok 23");
+ }
+
+ Object obj1 = new int[25];
+
+ if (obj1 instanceof short[])
+ {
+ System.out.println("FAIL 24");
+ }
+ else
+ {
+ System.out.println("ok 24");
+ }
+
+ if (obj1 instanceof int[])
+ {
+ System.out.println("ok 25");
+ }
+ else
+ {
+ System.out.println("FAIL 25");
+ }
+
+ /* null assignment */
+
+ CA obj_ca2 = null;
+
+ if (obj_ca2 instanceof CA)
+ {
+ System.out.println("FAIL 26");
+ }
+ else
+ {
+ System.out.println("ok 26");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InterfaceDispatch.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+ok 1
+ok 2a
+ok 2b
+ok 3
+ok 4
+ok 5
+ok 6
+ok 7
+ok 8
+ok 9
+ok 10
+ok 11
+ok 12
+ok 13
+ok 14
+ok 15
+ok 16
+ok 17
+ok 18
+ok 19
+ok 20
+ok 21
+ok 22
+ok 23
+ok 24
+ok 25
+ok 26
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,55 @@
+import java.lang.reflect.*;
+
+interface one
+{
+ int n(int N);
+}
+
+interface two
+{
+ int nn(int N);
+}
+
+interface three
+{
+ int nnn(int N);
+}
+
+class arse implements one, two
+{
+ public int n(int N) { return N; }
+ public int nn(int N) { return N*2; }
+}
+
+class arsey implements two, one, three
+{
+ public int n(int N) { return N*4; }
+ public int nn(int N) { return N*8; }
+ public int nnn(int N) { return N*16; }
+}
+
+public class InvokeInterface extends arse
+{
+ int f ()
+ {
+ return flunk.nn(1);
+ }
+ static two flunk = new arse();
+ static three flunkey = new arsey();
+ public static void main(String[] s) throws Throwable
+ {
+ Class[] argtypes = {Integer.TYPE};
+ Method m = two.class.getMethod("nn", argtypes);
+ Object[] args = {new Integer(1)};
+ System.out.println(flunk.nn(1));
+ System.out.println(m.invoke(new arse(), args));
+ m = arse.class.getMethod("nn", argtypes);
+ System.out.println(m.invoke(new arse(), args));
+ m = two.class.getMethod("nn", argtypes);
+ System.out.println(m.invoke(new arsey(), args));
+ m = three.class.getMethod("nnn", argtypes);
+ System.out.println(m.invoke(new arsey(), args));
+ m = arsey.class.getMethod("nnn", argtypes);
+ System.out.println(m.invoke(new arsey(), args));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeInterface.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+2
+2
+2
+8
+16
+16
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,80 @@
+import java.lang.reflect.Method;
+
+// Test return values of Method.invoke.
+public class InvokeReturn {
+ public boolean bTrue() {
+ return true;
+ }
+
+ public boolean bFalse() {
+ return false;
+ }
+
+ public char cc() {
+ return 'c';
+ }
+
+ public short s5() {
+ return (short)5;
+ }
+
+ public int i6() {
+ return 6;
+ }
+
+ public long l7() {
+ return (long)7;
+ }
+
+ public float f8() {
+ return (float)8.0;
+ }
+
+ public double d9() {
+ return 9.0;
+ }
+
+ public static void main(String[] args) {
+ try {
+ Object o = new InvokeReturn();
+ Method m;
+
+ // test boolean result
+ m = o.getClass().getDeclaredMethod("bTrue", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ m = o.getClass().getDeclaredMethod("bFalse", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test char result
+ m = o.getClass().getDeclaredMethod("cc", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test short result
+ m = o.getClass().getDeclaredMethod("s5", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test int result
+ m = o.getClass().getDeclaredMethod("i6", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test long result
+ m = o.getClass().getDeclaredMethod("l7", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test float result
+ m = o.getClass().getDeclaredMethod("f8", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+
+ // test double result
+ m = o.getClass().getDeclaredMethod("d9", new Class[0]);
+ System.out.println(m.invoke(o, new Object[0]));
+ } catch (UnsupportedOperationException e) {
+ // We get this on targets which don't support reflection (no
+ // libffi port yet). We might as well fake PASSes.
+ System.out.println("true\nfalse\nc\n5\n6\n7\n8.0\n9.0");
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/InvokeReturn.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+true
+false
+c
+5
+6
+7
+8.0
+9.0
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Test of failing method invocation.
+
+public class Invoke_1
+{
+ public void call_me ()
+ {
+ System.out.println ("no");
+ }
+
+ public static Invoke_1 get_i ()
+ {
+ return null;
+ }
+
+ public static void main (String[] args)
+ {
+ Invoke_1 i = get_i ();
+ try
+ {
+ i.call_me ();
+ }
+ catch (NullPointerException ok)
+ {
+ System.out.println ("ok");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+public class Invoke_2
+{
+ static int s;
+
+ public static void foo (int a, int b)
+ {
+ System.out.println(a + " " + b);
+ }
+
+ public static void main(String[] args) {
+ foo (bar(), s);
+ }
+
+ public static int bar()
+ {
+ s = 33;
+ return 99;
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Invoke_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+99 33
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Demonstrate that private methods can be reflected even if they are
+// not referenced at compile-time (i.e. -fkeep-inline-functions works).
+import java.lang.reflect.Method;
+public class KeepInline {
+ private void example() {
+ System.out.println("example");
+ }
+ public static void main(String[] args) {
+ try {
+ KeepInline pr = new KeepInline();
+ Method[] meths = pr.getClass().getDeclaredMethods();
+ for (int n = 0; n < meths.length; n++)
+ System.out.println(meths[n]);
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/KeepInline.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+private void KeepInline.example()
+public static void KeepInline.main(java.lang.String[])
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+/* Test to ensure files >= 2^31 bytes are supported. */
+
+import java.io.*;
+
+public class LargeFile
+{
+ public static void main(String[] args) throws IOException
+ {
+ File file = new File("LargeFile.tmp");
+
+ try
+ {
+ RandomAccessFile rfile = new RandomAccessFile(file, "rw");
+
+ long pos = (long) Math.pow(2, 31);
+
+ rfile.seek(pos);
+ rfile.write('O');
+ rfile.write('K');
+ rfile.close();
+
+ // Re-open, read byte back using FileInputStream and clean up.
+
+ FileInputStream fis = new FileInputStream(file);
+ fis.skip(pos);
+ System.out.print((char) fis.read());
+ System.out.println((char) fis.read());
+ fis.close();
+ }
+ finally
+ {
+ if (file.exists())
+ file.delete();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/LargeFile.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,91 @@
+class MathBuiltin
+{
+ static double abs(double x)
+ {
+ return Math.abs(x);
+ }
+
+ static double acos(double x)
+ {
+ return Math.acos(x);
+ }
+
+ static double asin(double x)
+ {
+ return Math.asin(x);
+ }
+
+ static double atan(double x)
+ {
+ return Math.atan(x);
+ }
+
+ static double atan2(double x, double y)
+ {
+ return Math.atan2(x,y);
+ }
+
+ static double ceil(double x)
+ {
+ return Math.ceil(x);
+ }
+
+ static double cos(double x)
+ {
+ return Math.cos(x);
+ }
+
+ static double exp(double x)
+ {
+ return Math.exp(x);
+ }
+
+ static double floor(double x)
+ {
+ return Math.floor(x);
+ }
+
+ static double log(double x)
+ {
+ return Math.log(x);
+ }
+
+ static double max(double x, double y)
+ {
+ return Math.max(x,y);
+ }
+
+ static double min(double x, double y)
+ {
+ return Math.min(x,y);
+ }
+
+ static double pow(double x, double y)
+ {
+ return Math.pow(x,y);
+ }
+
+ static double sin(double x)
+ {
+ return Math.sin(x);
+ }
+
+ static double sqrt(double x)
+ {
+ return Math.sqrt(x);
+ }
+
+ static double tan(double x)
+ {
+ return Math.tan(x);
+ }
+
+ public static void main(String argv[])
+ {
+ double sum = abs (1.0) + acos (1.0) + asin (1.0) + atan (1.0)
+ + atan2 (1.0, 1.0) + ceil (1.0) + cos (1.0) + exp (1.0)
+ + floor (1.0) + log(1.0) + max(1.0, 1.0) + min (1.0, 1.0)
+ + pow (1.0, 1.0) + sin (1.0) + sqrt(1.0) + tan(1.0);
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/MathBuiltin.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,129 @@
+/*
+* Instance initializers are now turned into a new function instinit$ and called
+* from the ctor. SAVE_EXPRs can't be easily shared.
+*
+* Contributed by Adam King <aking at dreammechanics.com>
+*
+*/
+
+public class Matrix4f
+{
+ public float m00;
+ public float m01;
+ public float m02;
+ public float m03;
+ public float m10;
+ public float m11;
+ public float m12;
+ public float m13;
+ public float m20;
+ public float m21;
+ public float m22;
+ public float m23;
+ public float m30;
+ public float m31;
+ public float m32;
+ public float m33;
+
+ private float scale;
+
+ static boolean initialized;
+ static Matrix4f xmat;
+ static Matrix4f ymat;
+ static Matrix4f zmat;
+ static Matrix4f tempMatrix1;
+ static Matrix4f tempMatrix2;
+
+ {
+ if( !initialized )
+ {
+ System.out.println ("not initialized");
+ initialized = true;
+ xmat = new Matrix4f();
+ ymat = new Matrix4f();
+ zmat = new Matrix4f();
+ tempMatrix1 = new Matrix4f();
+ tempMatrix2 = new Matrix4f();
+ }
+ else { System.out.println ("initialized"); }
+
+ }
+
+ public Matrix4f()
+ {
+ m00 = 1;
+ m01 = 0;
+ m02 = 0;
+ m03 = 0;
+ m10 = 0;
+ m11 = 1;
+ m12 = 0;
+ m13 = 0;
+ m20 = 0;
+ m21 = 0;
+ m22 = 1;
+ m23 = 0;
+ m30 = 0;
+ m31 = 0;
+ m32 = 0;
+ m33 = 1;
+ }
+
+ public Matrix4f( float v[] )
+ {
+ m00 = v[0];
+ m01 = v[1];
+ m02 = v[2];
+ m03 = v[3];
+ m10 = v[4];
+ m11 = v[5];
+ m12 = v[6];
+ m13 = v[7];
+ m20 = v[8];
+ m21 = v[9];
+ m22 = v[10];
+ m23 = v[11];
+ m30 = v[12];
+ m31 = v[13];
+ m32 = v[14];
+ m33 = v[15];
+ }
+
+ public Matrix4f( float m00, float m01, float m02, float m03,
+ float m10, float m11, float m12, float m13,
+ float m20, float m21, float m22, float m23,
+ float m30, float m31, float m32, float m33 )
+ {
+ this.m00 = m00;
+ this.m01 = m01;
+ this.m02 = m02;
+ this.m03 = m03;
+ this.m10 = m10;
+ this.m11 = m11;
+ this.m12 = m12;
+ this.m13 = m13;
+ this.m20 = m20;
+ this.m21 = m21;
+ this.m22 = m22;
+ this.m23 = m23;
+ this.m30 = m30;
+ this.m31 = m31;
+ this.m32 = m32;
+ this.m33 = m33;
+ }
+
+ public static void main( String[] args )
+ {
+ System.out.println( "Test main..." );
+ new Matrix4f ();
+ new Matrix4f (0,0,0,0,
+ 0,0,0,0,
+ 0,0,0,0,
+ 0,0,0,0);
+ new Matrix4f (new float [] {0,0,0,0,
+ 0,0,0,0,
+ 0,0,0,0,
+ 0,0,0,0});
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Matrix4f.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+Test main...
+not initialized
+initialized
+initialized
+initialized
+initialized
+initialized
+initialized
+initialized
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+/*--------------------------------------------------------------------------*/
+/* Name : N19990310_02 */
+/* : */
+/* Cause : Array value calculation in for,while,do while loop is not */
+/* : correct */
+/* : */
+/* Message : NG:[3]-->[2] */
+/*--------------------------------------------------------------------------*/
+
+public class N19990310_02 {
+ public static void main(String[] args) {
+ int y[] = {2};
+ for ( int i = 0; i < 1; i++ ) {
+ y[i] += 1;
+ if ( y[i] != 3 ) {
+ System.out.println("NG:[3]-->[" +y[i]+ "]");
+ }
+ else
+ System.out.println("OK");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_02.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+/*--------------------------------------------------------------------------*/
+/* Name : N19990310_3 */
+/* : */
+/* Cause : Evaluation order miss, when make integer array. */
+/* : */
+/* Message : NG:[4]-->[1] */
+/*--------------------------------------------------------------------------*/
+
+public class N19990310_3 {
+ public static void main(String[] args) {
+
+ int x = 4;
+
+ int ary[][] = new int[x][x=1];
+
+ if ( ary.length == 4 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG:[4]-->[" +ary.length+ "]");
+ }
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+/*--------------------------------------------------------------------------*/
+/* Name : N19990310_4.java */
+/* : */
+/* Cause : assignment operator makes error in char,byte,short variable */
+/* : */
+/* Message : In class `N19990310_4': */
+/* : In method `main(java.lang.String[])': */
+/* : Incompatible type for `='. Explicit cast needed to convert `*/
+/* : `int' to `char'. */
+/* : x += (x = 3); */
+/* : ^ */
+/* : 1 error */
+/*--------------------------------------------------------------------------*/
+
+public class N19990310_4 {
+ public static void main(String[] args) {
+ char x = 9;
+
+ x += (x = 3);
+ if ( x == 12 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_4.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+/*--------------------------------------------------------------------------*/
+/* Name : N19990310_5.java */
+/* : */
+/* Cause : A assignment operator makes error in char,byte,short array */
+/* : element */
+/* : */
+/* Message : In class `N19990310_5': */
+/* : In method `main(java.lang.String[])': */
+/* : Incompatible type for `='. Explicit cast needed to convert `*/
+/* : `int' to `char'. */
+/* : a[0] += (a[0] = 3); */
+/* : ^ */
+/* : 1 error */
+/*--------------------------------------------------------------------------*/
+
+public class N19990310_5 {
+ public static void main(String[] args) {
+ char[] a = {9};
+ a[0] += (a[0] = 3);
+
+ if ( a[0] == 12 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG");
+ }
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/N19990310_5.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+class Overflow
+{
+ static int test(int x)
+ {
+ return (2*x)/2;
+ }
+
+ public static void main(String argv[])
+ {
+ int x = Integer.MAX_VALUE;
+
+ if (test(x) == x)
+ throw new RuntimeException ();
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Overflow.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+public class PR12350
+{
+ static public void main (String[] ignored) throws Throwable
+ {
+ StringBuffer b = new StringBuffer ("Good string. More than 16 chars.");
+
+ // Should cause sharing.
+ String s = b.toString();
+
+ // Take a char by char unshared copy of s.
+ String t = new String (s.toCharArray());
+
+ b.substring (0, 4); // BUG: Clears shared flag.
+ b.replace (0, 4, "Bad "); // Modifies shared data.
+
+ System.out.println (s);
+ assert s.equals (t);
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12350.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Good string. More than 16 chars.
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+interface A
+{
+ int a = 0;
+}
+interface B extends A
+{
+}
+interface C extends A
+{
+}
+
+public class PR12416 implements B, C
+{
+ static public void main (String[] unused)
+ {
+ java.lang.reflect.Field[] fields = PR12416.class.getFields();
+
+ for (int i = 0; i != fields.length; ++i) {
+ System.out.println (fields[i]);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12416.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+public static final int A.a
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+class PR12656_base
+{
+ public static void main(String[] args)
+ {
+ System.out.println("Maude");
+ }
+}
+
+public class PR12656 extends PR12656_base
+{
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12656.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Maude
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+public class PR12915 {
+ public static void main(String[] args)
+ {
+ System.out.println(((String) null) + "");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR12915.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+null
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,41 @@
+import java.io.IOException;
+import java.io.StreamTokenizer;
+import java.io.StringReader;
+
+public class PR141 {
+ public static void test(String str) throws IOException {
+ StringReader reader = new StringReader(str);
+ StreamTokenizer st = new StreamTokenizer(reader);
+ int t = 0;
+
+ do {
+ t = st.nextToken();
+
+ switch (t) {
+ case StreamTokenizer.TT_WORD:
+ System.out.println("[TT_WORD]: " + st.sval);
+ break;
+ case StreamTokenizer.TT_NUMBER:
+ System.out.println("[TT_NUMBER]: " + st.nval);
+ break;
+ case StreamTokenizer.TT_EOL:
+ System.out.println("[TT_EOL]");
+ break;
+ case StreamTokenizer.TT_EOF:
+ System.out.println("[TT_EOF]");
+ break;
+ default:
+ System.out.println((char)t);
+ break;
+ }
+ } while (t != StreamTokenizer.TT_EOF);
+ }
+
+ public static void main(String[] args) {
+ try {
+ test("(a).(b)");
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR141.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+(
+[TT_WORD]: a
+)
+[TT_NUMBER]: 0.0
+(
+[TT_WORD]: b
+)
+[TT_EOF]
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+public class PR160
+{
+ static final int len = 100;
+
+ public static void main(String args[])
+ {
+
+ double[] a = new double[len];
+ double[] b = new double[len];
+
+ for (int i = 0; i < len ; i++)
+ {
+ a[i] = 0.65;
+ }
+
+ System.arraycopy(a, 0, b, 0, len);
+
+ boolean errors = false;
+
+ for (int i = 0; i < len ; i++)
+ {
+ if (a[i] != b[i])
+ {
+ System.out.println("ERROR! " + a[i] + " != "
+ + b[i] + " at index " + i);
+ errors = true;
+ }
+ }
+
+ if (!errors)
+ System.out.println("ok");
+
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR160.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+interface I
+{
+ int i = 1, ii = PR162.out ("ii", 2);
+}
+
+interface J extends I
+{
+ int j = PR162.out ("j", 3), jj = PR162.out ("jj", 4);
+}
+
+interface K extends J
+{
+ int k = PR162.out ("k", 5);
+}
+
+public class PR162
+{
+ public static void main (String[] args)
+ {
+ System.out.println (J.i);
+ System.out.println (K.j);
+ }
+
+ public static int out (String s, int i)
+ {
+ System.out.println (s + "=" + i);
+ return i;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR162.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+1
+j=3
+jj=4
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+/* SSA-DCE was removing the initialization of the temporary object
+ in getFoo because it wasn't realizing that the pointer was needed
+ outside of it. */
+
+public class PR16867
+{
+ public static Object[] getFoo()
+ {
+ return new Object[] {"OK"};
+ }
+
+ public static void main(String[] args)
+ {
+ Object[] a = getFoo();
+ System.out.println(a[0]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR16867.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// Test for thread-local allocation problems.
+
+import java.util.HashMap;
+import java.util.Observable;
+import java.util.Observer;
+
+class PR18699 extends Observable implements Runnable, Observer {
+
+ public static void main(String[] args) throws InterruptedException {
+ PR18699 PR18699_1 = new PR18699();
+ PR18699 PR18699_2 = new PR18699();
+ PR18699_1.addObserver(PR18699_2);
+ PR18699_2.addObserver(PR18699_1);
+ new Thread(PR18699_1).start();
+ new Thread(PR18699_2).start();
+ }
+
+ public void run() {
+ int c = 0;
+ String s = "";
+ while (++c < 50) {
+ this.setChanged();
+ s = "";
+ for (int i = 0; i < 200; i++)
+ s += String.valueOf(i);
+ this.notifyObservers(s);
+ }
+ }
+
+ HashMap map = new HashMap();
+
+ public void update(Observable o, Object obj)
+ {
+ map.put(o, obj);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR18699.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,44 @@
+// PR19870: Test static field access across nested class boundaries.
+//
+public class PR19870
+{
+ private static int x = 123;
+
+ static class Foo
+ {
+ private static int junk = 1000;
+
+ static void snafu( )
+ {
+ System.out.println( x);
+ x = 456;
+ System.out.println( PR19870.x);
+ PR19870.x = 789;
+ System.out.println( PR19870.x);
+
+ System.out.println( Bar.junk);
+ }
+ }
+
+ static class Bar
+ {
+ private static int junk = 1984;
+
+ static void snafu( )
+ {
+ System.out.println( Foo.junk);
+ Foo.junk = 2000;
+ System.out.println( Foo.junk);
+ }
+ }
+
+ public static void main( String[] args)
+ {
+ Foo.snafu( );
+ Bar.snafu( );
+
+ System.out.println( Foo.junk);
+ Foo.junk = 3000;
+ System.out.println( Foo.junk);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+123
+456
+789
+1984
+1000
+2000
+2000
+3000
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,39 @@
+// PR19870: Test synthetic accessor generation for private static methods
+// accessed across nested class boundaries.
+public class PR19870_2
+{
+ static class A
+ {
+ private static void foo( )
+ {
+ System.out.println( "1");
+ }
+
+ private static void bar( int x)
+ {
+ System.out.println( x);
+ snafu( );
+ PR19870_2.snafu( );
+ }
+ }
+
+ static class B
+ {
+ private static void foo( )
+ {
+ A.foo( );
+ }
+ }
+
+ private static void snafu( )
+ {
+ System.out.println( "3");
+ }
+
+ public static void main( String[] args)
+ {
+ A.foo( );
+ A.bar( 2);
+ B.foo( );
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19870_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+1
+2
+3
+3
+1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+interface I {
+ void f(Object x);
+}
+
+class PR19921 {
+ static void g(I i) {
+ // gcj used to create invalid bytecode for this.
+ i.f(new Object[1][1]);
+ }
+ public static void main(String[] args) { }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR19921.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class PR20056 {
+ int x;
+ PR20056(int x) {}
+ PR20056(PR20056 f) {
+ // The verifier rejected the generated code in this case.
+ this(f.x = 0);
+ }
+
+ public static void main(String[] args)
+ {
+ System.out.println("maude");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR20056.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+maude
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Bug in gcj 20000427: Java executables can abort trying to access a null
+// pointer in a leaf function.
+
+public class PR218
+{
+ private int i = 5;
+
+ public static void main(String[] args)
+ {
+ try
+ {
+ new PR218().foo(null);
+ }
+ catch (NullPointerException x)
+ {
+ System.out.println(x);
+ }
+ }
+
+ void foo(PR218 e)
+ {
+ e.i += 4;
+ };
+}
+
+// Expected output:
+//
+// java.lang.NullPointerException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR218.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+java.lang.NullPointerException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+class Base
+{
+ int someNum()
+ {
+ System.out.println ("ok");
+ return 0;
+ }
+}
+
+public class PR242 extends Base
+{
+ public static void main(String args[])
+ {
+ new PR242();
+ }
+
+ PR242()
+ {
+ new Inner().a();
+ }
+
+ class Inner
+ {
+ public int dummy()
+ {
+ System.out.println ("wrong method called!!");
+ return -1;
+ }
+
+ public void a()
+ {
+ System.out.println ("...");
+ System.out.println (someNum());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR242.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+...
+ok
+0
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+public class PR25535 {
+ public static void main(String[] args) {
+ System.out.println(javax.rmi.CORBA.Stub.class);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR25535.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+class javax.rmi.CORBA.Stub
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+class A
+{
+ static
+ {
+ System.out.println ("A initialized");
+ }
+}
+
+public class PR260
+{
+ public static void main(String args[])
+ {
+ Class klass = A.class;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR260.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+A initialized
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2075 @@
+public class PR26858
+{
+ public long f0000; public long f0001; public long f0002; public long f0003;
+ public long f0004; public long f0005; public long f0006; public long f0007;
+ public long f0008; public long f0009; public long f0010; public long f0011;
+ public long f0012; public long f0013; public long f0014; public long f0015;
+ public long f0016; public long f0017; public long f0018; public long f0019;
+ public long f0020; public long f0021; public long f0022; public long f0023;
+ public long f0024; public long f0025; public long f0026; public long f0027;
+ public long f0028; public long f0029; public long f0030; public long f0031;
+ public long f0032; public long f0033; public long f0034; public long f0035;
+ public long f0036; public long f0037; public long f0038; public long f0039;
+ public long f0040; public long f0041; public long f0042; public long f0043;
+ public long f0044; public long f0045; public long f0046; public long f0047;
+ public long f0048; public long f0049; public long f0050; public long f0051;
+ public long f0052; public long f0053; public long f0054; public long f0055;
+ public long f0056; public long f0057; public long f0058; public long f0059;
+ public long f0060; public long f0061; public long f0062; public long f0063;
+ public long f0064; public long f0065; public long f0066; public long f0067;
+ public long f0068; public long f0069; public long f0070; public long f0071;
+ public long f0072; public long f0073; public long f0074; public long f0075;
+ public long f0076; public long f0077; public long f0078; public long f0079;
+ public long f0080; public long f0081; public long f0082; public long f0083;
+ public long f0084; public long f0085; public long f0086; public long f0087;
+ public long f0088; public long f0089; public long f0090; public long f0091;
+ public long f0092; public long f0093; public long f0094; public long f0095;
+ public long f0096; public long f0097; public long f0098; public long f0099;
+ public long f0100; public long f0101; public long f0102; public long f0103;
+ public long f0104; public long f0105; public long f0106; public long f0107;
+ public long f0108; public long f0109; public long f0110; public long f0111;
+ public long f0112; public long f0113; public long f0114; public long f0115;
+ public long f0116; public long f0117; public long f0118; public long f0119;
+ public long f0120; public long f0121; public long f0122; public long f0123;
+ public long f0124; public long f0125; public long f0126; public long f0127;
+ public long f0128; public long f0129; public long f0130; public long f0131;
+ public long f0132; public long f0133; public long f0134; public long f0135;
+ public long f0136; public long f0137; public long f0138; public long f0139;
+ public long f0140; public long f0141; public long f0142; public long f0143;
+ public long f0144; public long f0145; public long f0146; public long f0147;
+ public long f0148; public long f0149; public long f0150; public long f0151;
+ public long f0152; public long f0153; public long f0154; public long f0155;
+ public long f0156; public long f0157; public long f0158; public long f0159;
+ public long f0160; public long f0161; public long f0162; public long f0163;
+ public long f0164; public long f0165; public long f0166; public long f0167;
+ public long f0168; public long f0169; public long f0170; public long f0171;
+ public long f0172; public long f0173; public long f0174; public long f0175;
+ public long f0176; public long f0177; public long f0178; public long f0179;
+ public long f0180; public long f0181; public long f0182; public long f0183;
+ public long f0184; public long f0185; public long f0186; public long f0187;
+ public long f0188; public long f0189; public long f0190; public long f0191;
+ public long f0192; public long f0193; public long f0194; public long f0195;
+ public long f0196; public long f0197; public long f0198; public long f0199;
+ public long f0200; public long f0201; public long f0202; public long f0203;
+ public long f0204; public long f0205; public long f0206; public long f0207;
+ public long f0208; public long f0209; public long f0210; public long f0211;
+ public long f0212; public long f0213; public long f0214; public long f0215;
+ public long f0216; public long f0217; public long f0218; public long f0219;
+ public long f0220; public long f0221; public long f0222; public long f0223;
+ public long f0224; public long f0225; public long f0226; public long f0227;
+ public long f0228; public long f0229; public long f0230; public long f0231;
+ public long f0232; public long f0233; public long f0234; public long f0235;
+ public long f0236; public long f0237; public long f0238; public long f0239;
+ public long f0240; public long f0241; public long f0242; public long f0243;
+ public long f0244; public long f0245; public long f0246; public long f0247;
+ public long f0248; public long f0249; public long f0250; public long f0251;
+ public long f0252; public long f0253; public long f0254; public long f0255;
+ public long f0256; public long f0257; public long f0258; public long f0259;
+ public long f0260; public long f0261; public long f0262; public long f0263;
+ public long f0264; public long f0265; public long f0266; public long f0267;
+ public long f0268; public long f0269; public long f0270; public long f0271;
+ public long f0272; public long f0273; public long f0274; public long f0275;
+ public long f0276; public long f0277; public long f0278; public long f0279;
+ public long f0280; public long f0281; public long f0282; public long f0283;
+ public long f0284; public long f0285; public long f0286; public long f0287;
+ public long f0288; public long f0289; public long f0290; public long f0291;
+ public long f0292; public long f0293; public long f0294; public long f0295;
+ public long f0296; public long f0297; public long f0298; public long f0299;
+ public long f0300; public long f0301; public long f0302; public long f0303;
+ public long f0304; public long f0305; public long f0306; public long f0307;
+ public long f0308; public long f0309; public long f0310; public long f0311;
+ public long f0312; public long f0313; public long f0314; public long f0315;
+ public long f0316; public long f0317; public long f0318; public long f0319;
+ public long f0320; public long f0321; public long f0322; public long f0323;
+ public long f0324; public long f0325; public long f0326; public long f0327;
+ public long f0328; public long f0329; public long f0330; public long f0331;
+ public long f0332; public long f0333; public long f0334; public long f0335;
+ public long f0336; public long f0337; public long f0338; public long f0339;
+ public long f0340; public long f0341; public long f0342; public long f0343;
+ public long f0344; public long f0345; public long f0346; public long f0347;
+ public long f0348; public long f0349; public long f0350; public long f0351;
+ public long f0352; public long f0353; public long f0354; public long f0355;
+ public long f0356; public long f0357; public long f0358; public long f0359;
+ public long f0360; public long f0361; public long f0362; public long f0363;
+ public long f0364; public long f0365; public long f0366; public long f0367;
+ public long f0368; public long f0369; public long f0370; public long f0371;
+ public long f0372; public long f0373; public long f0374; public long f0375;
+ public long f0376; public long f0377; public long f0378; public long f0379;
+ public long f0380; public long f0381; public long f0382; public long f0383;
+ public long f0384; public long f0385; public long f0386; public long f0387;
+ public long f0388; public long f0389; public long f0390; public long f0391;
+ public long f0392; public long f0393; public long f0394; public long f0395;
+ public long f0396; public long f0397; public long f0398; public long f0399;
+ public long f0400; public long f0401; public long f0402; public long f0403;
+ public long f0404; public long f0405; public long f0406; public long f0407;
+ public long f0408; public long f0409; public long f0410; public long f0411;
+ public long f0412; public long f0413; public long f0414; public long f0415;
+ public long f0416; public long f0417; public long f0418; public long f0419;
+ public long f0420; public long f0421; public long f0422; public long f0423;
+ public long f0424; public long f0425; public long f0426; public long f0427;
+ public long f0428; public long f0429; public long f0430; public long f0431;
+ public long f0432; public long f0433; public long f0434; public long f0435;
+ public long f0436; public long f0437; public long f0438; public long f0439;
+ public long f0440; public long f0441; public long f0442; public long f0443;
+ public long f0444; public long f0445; public long f0446; public long f0447;
+ public long f0448; public long f0449; public long f0450; public long f0451;
+ public long f0452; public long f0453; public long f0454; public long f0455;
+ public long f0456; public long f0457; public long f0458; public long f0459;
+ public long f0460; public long f0461; public long f0462; public long f0463;
+ public long f0464; public long f0465; public long f0466; public long f0467;
+ public long f0468; public long f0469; public long f0470; public long f0471;
+ public long f0472; public long f0473; public long f0474; public long f0475;
+ public long f0476; public long f0477; public long f0478; public long f0479;
+ public long f0480; public long f0481; public long f0482; public long f0483;
+ public long f0484; public long f0485; public long f0486; public long f0487;
+ public long f0488; public long f0489; public long f0490; public long f0491;
+ public long f0492; public long f0493; public long f0494; public long f0495;
+ public long f0496; public long f0497; public long f0498; public long f0499;
+ public long f0500; public long f0501; public long f0502; public long f0503;
+ public long f0504; public long f0505; public long f0506; public long f0507;
+ public long f0508; public long f0509; public long f0510; public long f0511;
+ public long f0512; public long f0513; public long f0514; public long f0515;
+ public long f0516; public long f0517; public long f0518; public long f0519;
+ public long f0520; public long f0521; public long f0522; public long f0523;
+ public long f0524; public long f0525; public long f0526; public long f0527;
+ public long f0528; public long f0529; public long f0530; public long f0531;
+ public long f0532; public long f0533; public long f0534; public long f0535;
+ public long f0536; public long f0537; public long f0538; public long f0539;
+ public long f0540; public long f0541; public long f0542; public long f0543;
+ public long f0544; public long f0545; public long f0546; public long f0547;
+ public long f0548; public long f0549; public long f0550; public long f0551;
+ public long f0552; public long f0553; public long f0554; public long f0555;
+ public long f0556; public long f0557; public long f0558; public long f0559;
+ public long f0560; public long f0561; public long f0562; public long f0563;
+ public long f0564; public long f0565; public long f0566; public long f0567;
+ public long f0568; public long f0569; public long f0570; public long f0571;
+ public long f0572; public long f0573; public long f0574; public long f0575;
+ public long f0576; public long f0577; public long f0578; public long f0579;
+ public long f0580; public long f0581; public long f0582; public long f0583;
+ public long f0584; public long f0585; public long f0586; public long f0587;
+ public long f0588; public long f0589; public long f0590; public long f0591;
+ public long f0592; public long f0593; public long f0594; public long f0595;
+ public long f0596; public long f0597; public long f0598; public long f0599;
+ public long f0600; public long f0601; public long f0602; public long f0603;
+ public long f0604; public long f0605; public long f0606; public long f0607;
+ public long f0608; public long f0609; public long f0610; public long f0611;
+ public long f0612; public long f0613; public long f0614; public long f0615;
+ public long f0616; public long f0617; public long f0618; public long f0619;
+ public long f0620; public long f0621; public long f0622; public long f0623;
+ public long f0624; public long f0625; public long f0626; public long f0627;
+ public long f0628; public long f0629; public long f0630; public long f0631;
+ public long f0632; public long f0633; public long f0634; public long f0635;
+ public long f0636; public long f0637; public long f0638; public long f0639;
+ public long f0640; public long f0641; public long f0642; public long f0643;
+ public long f0644; public long f0645; public long f0646; public long f0647;
+ public long f0648; public long f0649; public long f0650; public long f0651;
+ public long f0652; public long f0653; public long f0654; public long f0655;
+ public long f0656; public long f0657; public long f0658; public long f0659;
+ public long f0660; public long f0661; public long f0662; public long f0663;
+ public long f0664; public long f0665; public long f0666; public long f0667;
+ public long f0668; public long f0669; public long f0670; public long f0671;
+ public long f0672; public long f0673; public long f0674; public long f0675;
+ public long f0676; public long f0677; public long f0678; public long f0679;
+ public long f0680; public long f0681; public long f0682; public long f0683;
+ public long f0684; public long f0685; public long f0686; public long f0687;
+ public long f0688; public long f0689; public long f0690; public long f0691;
+ public long f0692; public long f0693; public long f0694; public long f0695;
+ public long f0696; public long f0697; public long f0698; public long f0699;
+ public long f0700; public long f0701; public long f0702; public long f0703;
+ public long f0704; public long f0705; public long f0706; public long f0707;
+ public long f0708; public long f0709; public long f0710; public long f0711;
+ public long f0712; public long f0713; public long f0714; public long f0715;
+ public long f0716; public long f0717; public long f0718; public long f0719;
+ public long f0720; public long f0721; public long f0722; public long f0723;
+ public long f0724; public long f0725; public long f0726; public long f0727;
+ public long f0728; public long f0729; public long f0730; public long f0731;
+ public long f0732; public long f0733; public long f0734; public long f0735;
+ public long f0736; public long f0737; public long f0738; public long f0739;
+ public long f0740; public long f0741; public long f0742; public long f0743;
+ public long f0744; public long f0745; public long f0746; public long f0747;
+ public long f0748; public long f0749; public long f0750; public long f0751;
+ public long f0752; public long f0753; public long f0754; public long f0755;
+ public long f0756; public long f0757; public long f0758; public long f0759;
+ public long f0760; public long f0761; public long f0762; public long f0763;
+ public long f0764; public long f0765; public long f0766; public long f0767;
+ public long f0768; public long f0769; public long f0770; public long f0771;
+ public long f0772; public long f0773; public long f0774; public long f0775;
+ public long f0776; public long f0777; public long f0778; public long f0779;
+ public long f0780; public long f0781; public long f0782; public long f0783;
+ public long f0784; public long f0785; public long f0786; public long f0787;
+ public long f0788; public long f0789; public long f0790; public long f0791;
+ public long f0792; public long f0793; public long f0794; public long f0795;
+ public long f0796; public long f0797; public long f0798; public long f0799;
+ public long f0800; public long f0801; public long f0802; public long f0803;
+ public long f0804; public long f0805; public long f0806; public long f0807;
+ public long f0808; public long f0809; public long f0810; public long f0811;
+ public long f0812; public long f0813; public long f0814; public long f0815;
+ public long f0816; public long f0817; public long f0818; public long f0819;
+ public long f0820; public long f0821; public long f0822; public long f0823;
+ public long f0824; public long f0825; public long f0826; public long f0827;
+ public long f0828; public long f0829; public long f0830; public long f0831;
+ public long f0832; public long f0833; public long f0834; public long f0835;
+ public long f0836; public long f0837; public long f0838; public long f0839;
+ public long f0840; public long f0841; public long f0842; public long f0843;
+ public long f0844; public long f0845; public long f0846; public long f0847;
+ public long f0848; public long f0849; public long f0850; public long f0851;
+ public long f0852; public long f0853; public long f0854; public long f0855;
+ public long f0856; public long f0857; public long f0858; public long f0859;
+ public long f0860; public long f0861; public long f0862; public long f0863;
+ public long f0864; public long f0865; public long f0866; public long f0867;
+ public long f0868; public long f0869; public long f0870; public long f0871;
+ public long f0872; public long f0873; public long f0874; public long f0875;
+ public long f0876; public long f0877; public long f0878; public long f0879;
+ public long f0880; public long f0881; public long f0882; public long f0883;
+ public long f0884; public long f0885; public long f0886; public long f0887;
+ public long f0888; public long f0889; public long f0890; public long f0891;
+ public long f0892; public long f0893; public long f0894; public long f0895;
+ public long f0896; public long f0897; public long f0898; public long f0899;
+ public long f0900; public long f0901; public long f0902; public long f0903;
+ public long f0904; public long f0905; public long f0906; public long f0907;
+ public long f0908; public long f0909; public long f0910; public long f0911;
+ public long f0912; public long f0913; public long f0914; public long f0915;
+ public long f0916; public long f0917; public long f0918; public long f0919;
+ public long f0920; public long f0921; public long f0922; public long f0923;
+ public long f0924; public long f0925; public long f0926; public long f0927;
+ public long f0928; public long f0929; public long f0930; public long f0931;
+ public long f0932; public long f0933; public long f0934; public long f0935;
+ public long f0936; public long f0937; public long f0938; public long f0939;
+ public long f0940; public long f0941; public long f0942; public long f0943;
+ public long f0944; public long f0945; public long f0946; public long f0947;
+ public long f0948; public long f0949; public long f0950; public long f0951;
+ public long f0952; public long f0953; public long f0954; public long f0955;
+ public long f0956; public long f0957; public long f0958; public long f0959;
+ public long f0960; public long f0961; public long f0962; public long f0963;
+ public long f0964; public long f0965; public long f0966; public long f0967;
+ public long f0968; public long f0969; public long f0970; public long f0971;
+ public long f0972; public long f0973; public long f0974; public long f0975;
+ public long f0976; public long f0977; public long f0978; public long f0979;
+ public long f0980; public long f0981; public long f0982; public long f0983;
+ public long f0984; public long f0985; public long f0986; public long f0987;
+ public long f0988; public long f0989; public long f0990; public long f0991;
+ public long f0992; public long f0993; public long f0994; public long f0995;
+ public long f0996; public long f0997; public long f0998; public long f0999;
+ public long f1000; public long f1001; public long f1002; public long f1003;
+ public long f1004; public long f1005; public long f1006; public long f1007;
+ public long f1008; public long f1009; public long f1010; public long f1011;
+ public long f1012; public long f1013; public long f1014; public long f1015;
+ public long f1016; public long f1017; public long f1018; public long f1019;
+ public long f1020; public long f1021; public long f1022; public long f1023;
+ public long f1024; public long f1025; public long f1026; public long f1027;
+ public long f1028; public long f1029; public long f1030; public long f1031;
+ public long f1032; public long f1033; public long f1034; public long f1035;
+ public long f1036; public long f1037; public long f1038; public long f1039;
+ public long f1040; public long f1041; public long f1042; public long f1043;
+ public long f1044; public long f1045; public long f1046; public long f1047;
+ public long f1048; public long f1049; public long f1050; public long f1051;
+ public long f1052; public long f1053; public long f1054; public long f1055;
+ public long f1056; public long f1057; public long f1058; public long f1059;
+ public long f1060; public long f1061; public long f1062; public long f1063;
+ public long f1064; public long f1065; public long f1066; public long f1067;
+ public long f1068; public long f1069; public long f1070; public long f1071;
+ public long f1072; public long f1073; public long f1074; public long f1075;
+ public long f1076; public long f1077; public long f1078; public long f1079;
+ public long f1080; public long f1081; public long f1082; public long f1083;
+ public long f1084; public long f1085; public long f1086; public long f1087;
+ public long f1088; public long f1089; public long f1090; public long f1091;
+ public long f1092; public long f1093; public long f1094; public long f1095;
+ public long f1096; public long f1097; public long f1098; public long f1099;
+ public long f1100; public long f1101; public long f1102; public long f1103;
+ public long f1104; public long f1105; public long f1106; public long f1107;
+ public long f1108; public long f1109; public long f1110; public long f1111;
+ public long f1112; public long f1113; public long f1114; public long f1115;
+ public long f1116; public long f1117; public long f1118; public long f1119;
+ public long f1120; public long f1121; public long f1122; public long f1123;
+ public long f1124; public long f1125; public long f1126; public long f1127;
+ public long f1128; public long f1129; public long f1130; public long f1131;
+ public long f1132; public long f1133; public long f1134; public long f1135;
+ public long f1136; public long f1137; public long f1138; public long f1139;
+ public long f1140; public long f1141; public long f1142; public long f1143;
+ public long f1144; public long f1145; public long f1146; public long f1147;
+ public long f1148; public long f1149; public long f1150; public long f1151;
+ public long f1152; public long f1153; public long f1154; public long f1155;
+ public long f1156; public long f1157; public long f1158; public long f1159;
+ public long f1160; public long f1161; public long f1162; public long f1163;
+ public long f1164; public long f1165; public long f1166; public long f1167;
+ public long f1168; public long f1169; public long f1170; public long f1171;
+ public long f1172; public long f1173; public long f1174; public long f1175;
+ public long f1176; public long f1177; public long f1178; public long f1179;
+ public long f1180; public long f1181; public long f1182; public long f1183;
+ public long f1184; public long f1185; public long f1186; public long f1187;
+ public long f1188; public long f1189; public long f1190; public long f1191;
+ public long f1192; public long f1193; public long f1194; public long f1195;
+ public long f1196; public long f1197; public long f1198; public long f1199;
+ public long f1200; public long f1201; public long f1202; public long f1203;
+ public long f1204; public long f1205; public long f1206; public long f1207;
+ public long f1208; public long f1209; public long f1210; public long f1211;
+ public long f1212; public long f1213; public long f1214; public long f1215;
+ public long f1216; public long f1217; public long f1218; public long f1219;
+ public long f1220; public long f1221; public long f1222; public long f1223;
+ public long f1224; public long f1225; public long f1226; public long f1227;
+ public long f1228; public long f1229; public long f1230; public long f1231;
+ public long f1232; public long f1233; public long f1234; public long f1235;
+ public long f1236; public long f1237; public long f1238; public long f1239;
+ public long f1240; public long f1241; public long f1242; public long f1243;
+ public long f1244; public long f1245; public long f1246; public long f1247;
+ public long f1248; public long f1249; public long f1250; public long f1251;
+ public long f1252; public long f1253; public long f1254; public long f1255;
+ public long f1256; public long f1257; public long f1258; public long f1259;
+ public long f1260; public long f1261; public long f1262; public long f1263;
+ public long f1264; public long f1265; public long f1266; public long f1267;
+ public long f1268; public long f1269; public long f1270; public long f1271;
+ public long f1272; public long f1273; public long f1274; public long f1275;
+ public long f1276; public long f1277; public long f1278; public long f1279;
+ public long f1280; public long f1281; public long f1282; public long f1283;
+ public long f1284; public long f1285; public long f1286; public long f1287;
+ public long f1288; public long f1289; public long f1290; public long f1291;
+ public long f1292; public long f1293; public long f1294; public long f1295;
+ public long f1296; public long f1297; public long f1298; public long f1299;
+ public long f1300; public long f1301; public long f1302; public long f1303;
+ public long f1304; public long f1305; public long f1306; public long f1307;
+ public long f1308; public long f1309; public long f1310; public long f1311;
+ public long f1312; public long f1313; public long f1314; public long f1315;
+ public long f1316; public long f1317; public long f1318; public long f1319;
+ public long f1320; public long f1321; public long f1322; public long f1323;
+ public long f1324; public long f1325; public long f1326; public long f1327;
+ public long f1328; public long f1329; public long f1330; public long f1331;
+ public long f1332; public long f1333; public long f1334; public long f1335;
+ public long f1336; public long f1337; public long f1338; public long f1339;
+ public long f1340; public long f1341; public long f1342; public long f1343;
+ public long f1344; public long f1345; public long f1346; public long f1347;
+ public long f1348; public long f1349; public long f1350; public long f1351;
+ public long f1352; public long f1353; public long f1354; public long f1355;
+ public long f1356; public long f1357; public long f1358; public long f1359;
+ public long f1360; public long f1361; public long f1362; public long f1363;
+ public long f1364; public long f1365; public long f1366; public long f1367;
+ public long f1368; public long f1369; public long f1370; public long f1371;
+ public long f1372; public long f1373; public long f1374; public long f1375;
+ public long f1376; public long f1377; public long f1378; public long f1379;
+ public long f1380; public long f1381; public long f1382; public long f1383;
+ public long f1384; public long f1385; public long f1386; public long f1387;
+ public long f1388; public long f1389; public long f1390; public long f1391;
+ public long f1392; public long f1393; public long f1394; public long f1395;
+ public long f1396; public long f1397; public long f1398; public long f1399;
+ public long f1400; public long f1401; public long f1402; public long f1403;
+ public long f1404; public long f1405; public long f1406; public long f1407;
+ public long f1408; public long f1409; public long f1410; public long f1411;
+ public long f1412; public long f1413; public long f1414; public long f1415;
+ public long f1416; public long f1417; public long f1418; public long f1419;
+ public long f1420; public long f1421; public long f1422; public long f1423;
+ public long f1424; public long f1425; public long f1426; public long f1427;
+ public long f1428; public long f1429; public long f1430; public long f1431;
+ public long f1432; public long f1433; public long f1434; public long f1435;
+ public long f1436; public long f1437; public long f1438; public long f1439;
+ public long f1440; public long f1441; public long f1442; public long f1443;
+ public long f1444; public long f1445; public long f1446; public long f1447;
+ public long f1448; public long f1449; public long f1450; public long f1451;
+ public long f1452; public long f1453; public long f1454; public long f1455;
+ public long f1456; public long f1457; public long f1458; public long f1459;
+ public long f1460; public long f1461; public long f1462; public long f1463;
+ public long f1464; public long f1465; public long f1466; public long f1467;
+ public long f1468; public long f1469; public long f1470; public long f1471;
+ public long f1472; public long f1473; public long f1474; public long f1475;
+ public long f1476; public long f1477; public long f1478; public long f1479;
+ public long f1480; public long f1481; public long f1482; public long f1483;
+ public long f1484; public long f1485; public long f1486; public long f1487;
+ public long f1488; public long f1489; public long f1490; public long f1491;
+ public long f1492; public long f1493; public long f1494; public long f1495;
+ public long f1496; public long f1497; public long f1498; public long f1499;
+ public long f1500; public long f1501; public long f1502; public long f1503;
+ public long f1504; public long f1505; public long f1506; public long f1507;
+ public long f1508; public long f1509; public long f1510; public long f1511;
+ public long f1512; public long f1513; public long f1514; public long f1515;
+ public long f1516; public long f1517; public long f1518; public long f1519;
+ public long f1520; public long f1521; public long f1522; public long f1523;
+ public long f1524; public long f1525; public long f1526; public long f1527;
+ public long f1528; public long f1529; public long f1530; public long f1531;
+ public long f1532; public long f1533; public long f1534; public long f1535;
+ public long f1536; public long f1537; public long f1538; public long f1539;
+ public long f1540; public long f1541; public long f1542; public long f1543;
+ public long f1544; public long f1545; public long f1546; public long f1547;
+ public long f1548; public long f1549; public long f1550; public long f1551;
+ public long f1552; public long f1553; public long f1554; public long f1555;
+ public long f1556; public long f1557; public long f1558; public long f1559;
+ public long f1560; public long f1561; public long f1562; public long f1563;
+ public long f1564; public long f1565; public long f1566; public long f1567;
+ public long f1568; public long f1569; public long f1570; public long f1571;
+ public long f1572; public long f1573; public long f1574; public long f1575;
+ public long f1576; public long f1577; public long f1578; public long f1579;
+ public long f1580; public long f1581; public long f1582; public long f1583;
+ public long f1584; public long f1585; public long f1586; public long f1587;
+ public long f1588; public long f1589; public long f1590; public long f1591;
+ public long f1592; public long f1593; public long f1594; public long f1595;
+ public long f1596; public long f1597; public long f1598; public long f1599;
+ public long f1600; public long f1601; public long f1602; public long f1603;
+ public long f1604; public long f1605; public long f1606; public long f1607;
+ public long f1608; public long f1609; public long f1610; public long f1611;
+ public long f1612; public long f1613; public long f1614; public long f1615;
+ public long f1616; public long f1617; public long f1618; public long f1619;
+ public long f1620; public long f1621; public long f1622; public long f1623;
+ public long f1624; public long f1625; public long f1626; public long f1627;
+ public long f1628; public long f1629; public long f1630; public long f1631;
+ public long f1632; public long f1633; public long f1634; public long f1635;
+ public long f1636; public long f1637; public long f1638; public long f1639;
+ public long f1640; public long f1641; public long f1642; public long f1643;
+ public long f1644; public long f1645; public long f1646; public long f1647;
+ public long f1648; public long f1649; public long f1650; public long f1651;
+ public long f1652; public long f1653; public long f1654; public long f1655;
+ public long f1656; public long f1657; public long f1658; public long f1659;
+ public long f1660; public long f1661; public long f1662; public long f1663;
+ public long f1664; public long f1665; public long f1666; public long f1667;
+ public long f1668; public long f1669; public long f1670; public long f1671;
+ public long f1672; public long f1673; public long f1674; public long f1675;
+ public long f1676; public long f1677; public long f1678; public long f1679;
+ public long f1680; public long f1681; public long f1682; public long f1683;
+ public long f1684; public long f1685; public long f1686; public long f1687;
+ public long f1688; public long f1689; public long f1690; public long f1691;
+ public long f1692; public long f1693; public long f1694; public long f1695;
+ public long f1696; public long f1697; public long f1698; public long f1699;
+ public long f1700; public long f1701; public long f1702; public long f1703;
+ public long f1704; public long f1705; public long f1706; public long f1707;
+ public long f1708; public long f1709; public long f1710; public long f1711;
+ public long f1712; public long f1713; public long f1714; public long f1715;
+ public long f1716; public long f1717; public long f1718; public long f1719;
+ public long f1720; public long f1721; public long f1722; public long f1723;
+ public long f1724; public long f1725; public long f1726; public long f1727;
+ public long f1728; public long f1729; public long f1730; public long f1731;
+ public long f1732; public long f1733; public long f1734; public long f1735;
+ public long f1736; public long f1737; public long f1738; public long f1739;
+ public long f1740; public long f1741; public long f1742; public long f1743;
+ public long f1744; public long f1745; public long f1746; public long f1747;
+ public long f1748; public long f1749; public long f1750; public long f1751;
+ public long f1752; public long f1753; public long f1754; public long f1755;
+ public long f1756; public long f1757; public long f1758; public long f1759;
+ public long f1760; public long f1761; public long f1762; public long f1763;
+ public long f1764; public long f1765; public long f1766; public long f1767;
+ public long f1768; public long f1769; public long f1770; public long f1771;
+ public long f1772; public long f1773; public long f1774; public long f1775;
+ public long f1776; public long f1777; public long f1778; public long f1779;
+ public long f1780; public long f1781; public long f1782; public long f1783;
+ public long f1784; public long f1785; public long f1786; public long f1787;
+ public long f1788; public long f1789; public long f1790; public long f1791;
+ public long f1792; public long f1793; public long f1794; public long f1795;
+ public long f1796; public long f1797; public long f1798; public long f1799;
+ public long f1800; public long f1801; public long f1802; public long f1803;
+ public long f1804; public long f1805; public long f1806; public long f1807;
+ public long f1808; public long f1809; public long f1810; public long f1811;
+ public long f1812; public long f1813; public long f1814; public long f1815;
+ public long f1816; public long f1817; public long f1818; public long f1819;
+ public long f1820; public long f1821; public long f1822; public long f1823;
+ public long f1824; public long f1825; public long f1826; public long f1827;
+ public long f1828; public long f1829; public long f1830; public long f1831;
+ public long f1832; public long f1833; public long f1834; public long f1835;
+ public long f1836; public long f1837; public long f1838; public long f1839;
+ public long f1840; public long f1841; public long f1842; public long f1843;
+ public long f1844; public long f1845; public long f1846; public long f1847;
+ public long f1848; public long f1849; public long f1850; public long f1851;
+ public long f1852; public long f1853; public long f1854; public long f1855;
+ public long f1856; public long f1857; public long f1858; public long f1859;
+ public long f1860; public long f1861; public long f1862; public long f1863;
+ public long f1864; public long f1865; public long f1866; public long f1867;
+ public long f1868; public long f1869; public long f1870; public long f1871;
+ public long f1872; public long f1873; public long f1874; public long f1875;
+ public long f1876; public long f1877; public long f1878; public long f1879;
+ public long f1880; public long f1881; public long f1882; public long f1883;
+ public long f1884; public long f1885; public long f1886; public long f1887;
+ public long f1888; public long f1889; public long f1890; public long f1891;
+ public long f1892; public long f1893; public long f1894; public long f1895;
+ public long f1896; public long f1897; public long f1898; public long f1899;
+ public long f1900; public long f1901; public long f1902; public long f1903;
+ public long f1904; public long f1905; public long f1906; public long f1907;
+ public long f1908; public long f1909; public long f1910; public long f1911;
+ public long f1912; public long f1913; public long f1914; public long f1915;
+ public long f1916; public long f1917; public long f1918; public long f1919;
+ public long f1920; public long f1921; public long f1922; public long f1923;
+ public long f1924; public long f1925; public long f1926; public long f1927;
+ public long f1928; public long f1929; public long f1930; public long f1931;
+ public long f1932; public long f1933; public long f1934; public long f1935;
+ public long f1936; public long f1937; public long f1938; public long f1939;
+ public long f1940; public long f1941; public long f1942; public long f1943;
+ public long f1944; public long f1945; public long f1946; public long f1947;
+ public long f1948; public long f1949; public long f1950; public long f1951;
+ public long f1952; public long f1953; public long f1954; public long f1955;
+ public long f1956; public long f1957; public long f1958; public long f1959;
+ public long f1960; public long f1961; public long f1962; public long f1963;
+ public long f1964; public long f1965; public long f1966; public long f1967;
+ public long f1968; public long f1969; public long f1970; public long f1971;
+ public long f1972; public long f1973; public long f1974; public long f1975;
+ public long f1976; public long f1977; public long f1978; public long f1979;
+ public long f1980; public long f1981; public long f1982; public long f1983;
+ public long f1984; public long f1985; public long f1986; public long f1987;
+ public long f1988; public long f1989; public long f1990; public long f1991;
+ public long f1992; public long f1993; public long f1994; public long f1995;
+ public long f1996; public long f1997; public long f1998; public long f1999;
+ public long f2000; public long f2001; public long f2002; public long f2003;
+ public long f2004; public long f2005; public long f2006; public long f2007;
+ public long f2008; public long f2009; public long f2010; public long f2011;
+ public long f2012; public long f2013; public long f2014; public long f2015;
+ public long f2016; public long f2017; public long f2018; public long f2019;
+ public long f2020; public long f2021; public long f2022; public long f2023;
+ public long f2024; public long f2025; public long f2026; public long f2027;
+ public long f2028; public long f2029; public long f2030; public long f2031;
+ public long f2032; public long f2033; public long f2034; public long f2035;
+ public long f2036; public long f2037; public long f2038; public long f2039;
+ public long f2040; public long f2041; public long f2042; public long f2043;
+ public long f2044; public long f2045; public long f2046; public long f2047;
+ public long f2048; public long f2049; public long f2050; public long f2051;
+ public long f2052; public long f2053; public long f2054; public long f2055;
+ public long f2056; public long f2057; public long f2058; public long f2059;
+ public long f2060; public long f2061; public long f2062; public long f2063;
+ public long f2064; public long f2065; public long f2066; public long f2067;
+ public long f2068; public long f2069; public long f2070; public long f2071;
+ public long f2072; public long f2073; public long f2074; public long f2075;
+ public long f2076; public long f2077; public long f2078; public long f2079;
+ public long f2080; public long f2081; public long f2082; public long f2083;
+ public long f2084; public long f2085; public long f2086; public long f2087;
+ public long f2088; public long f2089; public long f2090; public long f2091;
+ public long f2092; public long f2093; public long f2094; public long f2095;
+ public long f2096; public long f2097; public long f2098; public long f2099;
+ public long f2100; public long f2101; public long f2102; public long f2103;
+ public long f2104; public long f2105; public long f2106; public long f2107;
+ public long f2108; public long f2109; public long f2110; public long f2111;
+ public long f2112; public long f2113; public long f2114; public long f2115;
+ public long f2116; public long f2117; public long f2118; public long f2119;
+ public long f2120; public long f2121; public long f2122; public long f2123;
+ public long f2124; public long f2125; public long f2126; public long f2127;
+ public long f2128; public long f2129; public long f2130; public long f2131;
+ public long f2132; public long f2133; public long f2134; public long f2135;
+ public long f2136; public long f2137; public long f2138; public long f2139;
+ public long f2140; public long f2141; public long f2142; public long f2143;
+ public long f2144; public long f2145; public long f2146; public long f2147;
+ public long f2148; public long f2149; public long f2150; public long f2151;
+ public long f2152; public long f2153; public long f2154; public long f2155;
+ public long f2156; public long f2157; public long f2158; public long f2159;
+ public long f2160; public long f2161; public long f2162; public long f2163;
+ public long f2164; public long f2165; public long f2166; public long f2167;
+ public long f2168; public long f2169; public long f2170; public long f2171;
+ public long f2172; public long f2173; public long f2174; public long f2175;
+ public long f2176; public long f2177; public long f2178; public long f2179;
+ public long f2180; public long f2181; public long f2182; public long f2183;
+ public long f2184; public long f2185; public long f2186; public long f2187;
+ public long f2188; public long f2189; public long f2190; public long f2191;
+ public long f2192; public long f2193; public long f2194; public long f2195;
+ public long f2196; public long f2197; public long f2198; public long f2199;
+ public long f2200; public long f2201; public long f2202; public long f2203;
+ public long f2204; public long f2205; public long f2206; public long f2207;
+ public long f2208; public long f2209; public long f2210; public long f2211;
+ public long f2212; public long f2213; public long f2214; public long f2215;
+ public long f2216; public long f2217; public long f2218; public long f2219;
+ public long f2220; public long f2221; public long f2222; public long f2223;
+ public long f2224; public long f2225; public long f2226; public long f2227;
+ public long f2228; public long f2229; public long f2230; public long f2231;
+ public long f2232; public long f2233; public long f2234; public long f2235;
+ public long f2236; public long f2237; public long f2238; public long f2239;
+ public long f2240; public long f2241; public long f2242; public long f2243;
+ public long f2244; public long f2245; public long f2246; public long f2247;
+ public long f2248; public long f2249; public long f2250; public long f2251;
+ public long f2252; public long f2253; public long f2254; public long f2255;
+ public long f2256; public long f2257; public long f2258; public long f2259;
+ public long f2260; public long f2261; public long f2262; public long f2263;
+ public long f2264; public long f2265; public long f2266; public long f2267;
+ public long f2268; public long f2269; public long f2270; public long f2271;
+ public long f2272; public long f2273; public long f2274; public long f2275;
+ public long f2276; public long f2277; public long f2278; public long f2279;
+ public long f2280; public long f2281; public long f2282; public long f2283;
+ public long f2284; public long f2285; public long f2286; public long f2287;
+ public long f2288; public long f2289; public long f2290; public long f2291;
+ public long f2292; public long f2293; public long f2294; public long f2295;
+ public long f2296; public long f2297; public long f2298; public long f2299;
+ public long f2300; public long f2301; public long f2302; public long f2303;
+ public long f2304; public long f2305; public long f2306; public long f2307;
+ public long f2308; public long f2309; public long f2310; public long f2311;
+ public long f2312; public long f2313; public long f2314; public long f2315;
+ public long f2316; public long f2317; public long f2318; public long f2319;
+ public long f2320; public long f2321; public long f2322; public long f2323;
+ public long f2324; public long f2325; public long f2326; public long f2327;
+ public long f2328; public long f2329; public long f2330; public long f2331;
+ public long f2332; public long f2333; public long f2334; public long f2335;
+ public long f2336; public long f2337; public long f2338; public long f2339;
+ public long f2340; public long f2341; public long f2342; public long f2343;
+ public long f2344; public long f2345; public long f2346; public long f2347;
+ public long f2348; public long f2349; public long f2350; public long f2351;
+ public long f2352; public long f2353; public long f2354; public long f2355;
+ public long f2356; public long f2357; public long f2358; public long f2359;
+ public long f2360; public long f2361; public long f2362; public long f2363;
+ public long f2364; public long f2365; public long f2366; public long f2367;
+ public long f2368; public long f2369; public long f2370; public long f2371;
+ public long f2372; public long f2373; public long f2374; public long f2375;
+ public long f2376; public long f2377; public long f2378; public long f2379;
+ public long f2380; public long f2381; public long f2382; public long f2383;
+ public long f2384; public long f2385; public long f2386; public long f2387;
+ public long f2388; public long f2389; public long f2390; public long f2391;
+ public long f2392; public long f2393; public long f2394; public long f2395;
+ public long f2396; public long f2397; public long f2398; public long f2399;
+ public long f2400; public long f2401; public long f2402; public long f2403;
+ public long f2404; public long f2405; public long f2406; public long f2407;
+ public long f2408; public long f2409; public long f2410; public long f2411;
+ public long f2412; public long f2413; public long f2414; public long f2415;
+ public long f2416; public long f2417; public long f2418; public long f2419;
+ public long f2420; public long f2421; public long f2422; public long f2423;
+ public long f2424; public long f2425; public long f2426; public long f2427;
+ public long f2428; public long f2429; public long f2430; public long f2431;
+ public long f2432; public long f2433; public long f2434; public long f2435;
+ public long f2436; public long f2437; public long f2438; public long f2439;
+ public long f2440; public long f2441; public long f2442; public long f2443;
+ public long f2444; public long f2445; public long f2446; public long f2447;
+ public long f2448; public long f2449; public long f2450; public long f2451;
+ public long f2452; public long f2453; public long f2454; public long f2455;
+ public long f2456; public long f2457; public long f2458; public long f2459;
+ public long f2460; public long f2461; public long f2462; public long f2463;
+ public long f2464; public long f2465; public long f2466; public long f2467;
+ public long f2468; public long f2469; public long f2470; public long f2471;
+ public long f2472; public long f2473; public long f2474; public long f2475;
+ public long f2476; public long f2477; public long f2478; public long f2479;
+ public long f2480; public long f2481; public long f2482; public long f2483;
+ public long f2484; public long f2485; public long f2486; public long f2487;
+ public long f2488; public long f2489; public long f2490; public long f2491;
+ public long f2492; public long f2493; public long f2494; public long f2495;
+ public long f2496; public long f2497; public long f2498; public long f2499;
+ public long f2500; public long f2501; public long f2502; public long f2503;
+ public long f2504; public long f2505; public long f2506; public long f2507;
+ public long f2508; public long f2509; public long f2510; public long f2511;
+ public long f2512; public long f2513; public long f2514; public long f2515;
+ public long f2516; public long f2517; public long f2518; public long f2519;
+ public long f2520; public long f2521; public long f2522; public long f2523;
+ public long f2524; public long f2525; public long f2526; public long f2527;
+ public long f2528; public long f2529; public long f2530; public long f2531;
+ public long f2532; public long f2533; public long f2534; public long f2535;
+ public long f2536; public long f2537; public long f2538; public long f2539;
+ public long f2540; public long f2541; public long f2542; public long f2543;
+ public long f2544; public long f2545; public long f2546; public long f2547;
+ public long f2548; public long f2549; public long f2550; public long f2551;
+ public long f2552; public long f2553; public long f2554; public long f2555;
+ public long f2556; public long f2557; public long f2558; public long f2559;
+ public long f2560; public long f2561; public long f2562; public long f2563;
+ public long f2564; public long f2565; public long f2566; public long f2567;
+ public long f2568; public long f2569; public long f2570; public long f2571;
+ public long f2572; public long f2573; public long f2574; public long f2575;
+ public long f2576; public long f2577; public long f2578; public long f2579;
+ public long f2580; public long f2581; public long f2582; public long f2583;
+ public long f2584; public long f2585; public long f2586; public long f2587;
+ public long f2588; public long f2589; public long f2590; public long f2591;
+ public long f2592; public long f2593; public long f2594; public long f2595;
+ public long f2596; public long f2597; public long f2598; public long f2599;
+ public long f2600; public long f2601; public long f2602; public long f2603;
+ public long f2604; public long f2605; public long f2606; public long f2607;
+ public long f2608; public long f2609; public long f2610; public long f2611;
+ public long f2612; public long f2613; public long f2614; public long f2615;
+ public long f2616; public long f2617; public long f2618; public long f2619;
+ public long f2620; public long f2621; public long f2622; public long f2623;
+ public long f2624; public long f2625; public long f2626; public long f2627;
+ public long f2628; public long f2629; public long f2630; public long f2631;
+ public long f2632; public long f2633; public long f2634; public long f2635;
+ public long f2636; public long f2637; public long f2638; public long f2639;
+ public long f2640; public long f2641; public long f2642; public long f2643;
+ public long f2644; public long f2645; public long f2646; public long f2647;
+ public long f2648; public long f2649; public long f2650; public long f2651;
+ public long f2652; public long f2653; public long f2654; public long f2655;
+ public long f2656; public long f2657; public long f2658; public long f2659;
+ public long f2660; public long f2661; public long f2662; public long f2663;
+ public long f2664; public long f2665; public long f2666; public long f2667;
+ public long f2668; public long f2669; public long f2670; public long f2671;
+ public long f2672; public long f2673; public long f2674; public long f2675;
+ public long f2676; public long f2677; public long f2678; public long f2679;
+ public long f2680; public long f2681; public long f2682; public long f2683;
+ public long f2684; public long f2685; public long f2686; public long f2687;
+ public long f2688; public long f2689; public long f2690; public long f2691;
+ public long f2692; public long f2693; public long f2694; public long f2695;
+ public long f2696; public long f2697; public long f2698; public long f2699;
+ public long f2700; public long f2701; public long f2702; public long f2703;
+ public long f2704; public long f2705; public long f2706; public long f2707;
+ public long f2708; public long f2709; public long f2710; public long f2711;
+ public long f2712; public long f2713; public long f2714; public long f2715;
+ public long f2716; public long f2717; public long f2718; public long f2719;
+ public long f2720; public long f2721; public long f2722; public long f2723;
+ public long f2724; public long f2725; public long f2726; public long f2727;
+ public long f2728; public long f2729; public long f2730; public long f2731;
+ public long f2732; public long f2733; public long f2734; public long f2735;
+ public long f2736; public long f2737; public long f2738; public long f2739;
+ public long f2740; public long f2741; public long f2742; public long f2743;
+ public long f2744; public long f2745; public long f2746; public long f2747;
+ public long f2748; public long f2749; public long f2750; public long f2751;
+ public long f2752; public long f2753; public long f2754; public long f2755;
+ public long f2756; public long f2757; public long f2758; public long f2759;
+ public long f2760; public long f2761; public long f2762; public long f2763;
+ public long f2764; public long f2765; public long f2766; public long f2767;
+ public long f2768; public long f2769; public long f2770; public long f2771;
+ public long f2772; public long f2773; public long f2774; public long f2775;
+ public long f2776; public long f2777; public long f2778; public long f2779;
+ public long f2780; public long f2781; public long f2782; public long f2783;
+ public long f2784; public long f2785; public long f2786; public long f2787;
+ public long f2788; public long f2789; public long f2790; public long f2791;
+ public long f2792; public long f2793; public long f2794; public long f2795;
+ public long f2796; public long f2797; public long f2798; public long f2799;
+ public long f2800; public long f2801; public long f2802; public long f2803;
+ public long f2804; public long f2805; public long f2806; public long f2807;
+ public long f2808; public long f2809; public long f2810; public long f2811;
+ public long f2812; public long f2813; public long f2814; public long f2815;
+ public long f2816; public long f2817; public long f2818; public long f2819;
+ public long f2820; public long f2821; public long f2822; public long f2823;
+ public long f2824; public long f2825; public long f2826; public long f2827;
+ public long f2828; public long f2829; public long f2830; public long f2831;
+ public long f2832; public long f2833; public long f2834; public long f2835;
+ public long f2836; public long f2837; public long f2838; public long f2839;
+ public long f2840; public long f2841; public long f2842; public long f2843;
+ public long f2844; public long f2845; public long f2846; public long f2847;
+ public long f2848; public long f2849; public long f2850; public long f2851;
+ public long f2852; public long f2853; public long f2854; public long f2855;
+ public long f2856; public long f2857; public long f2858; public long f2859;
+ public long f2860; public long f2861; public long f2862; public long f2863;
+ public long f2864; public long f2865; public long f2866; public long f2867;
+ public long f2868; public long f2869; public long f2870; public long f2871;
+ public long f2872; public long f2873; public long f2874; public long f2875;
+ public long f2876; public long f2877; public long f2878; public long f2879;
+ public long f2880; public long f2881; public long f2882; public long f2883;
+ public long f2884; public long f2885; public long f2886; public long f2887;
+ public long f2888; public long f2889; public long f2890; public long f2891;
+ public long f2892; public long f2893; public long f2894; public long f2895;
+ public long f2896; public long f2897; public long f2898; public long f2899;
+ public long f2900; public long f2901; public long f2902; public long f2903;
+ public long f2904; public long f2905; public long f2906; public long f2907;
+ public long f2908; public long f2909; public long f2910; public long f2911;
+ public long f2912; public long f2913; public long f2914; public long f2915;
+ public long f2916; public long f2917; public long f2918; public long f2919;
+ public long f2920; public long f2921; public long f2922; public long f2923;
+ public long f2924; public long f2925; public long f2926; public long f2927;
+ public long f2928; public long f2929; public long f2930; public long f2931;
+ public long f2932; public long f2933; public long f2934; public long f2935;
+ public long f2936; public long f2937; public long f2938; public long f2939;
+ public long f2940; public long f2941; public long f2942; public long f2943;
+ public long f2944; public long f2945; public long f2946; public long f2947;
+ public long f2948; public long f2949; public long f2950; public long f2951;
+ public long f2952; public long f2953; public long f2954; public long f2955;
+ public long f2956; public long f2957; public long f2958; public long f2959;
+ public long f2960; public long f2961; public long f2962; public long f2963;
+ public long f2964; public long f2965; public long f2966; public long f2967;
+ public long f2968; public long f2969; public long f2970; public long f2971;
+ public long f2972; public long f2973; public long f2974; public long f2975;
+ public long f2976; public long f2977; public long f2978; public long f2979;
+ public long f2980; public long f2981; public long f2982; public long f2983;
+ public long f2984; public long f2985; public long f2986; public long f2987;
+ public long f2988; public long f2989; public long f2990; public long f2991;
+ public long f2992; public long f2993; public long f2994; public long f2995;
+ public long f2996; public long f2997; public long f2998; public long f2999;
+ public long f3000; public long f3001; public long f3002; public long f3003;
+ public long f3004; public long f3005; public long f3006; public long f3007;
+ public long f3008; public long f3009; public long f3010; public long f3011;
+ public long f3012; public long f3013; public long f3014; public long f3015;
+ public long f3016; public long f3017; public long f3018; public long f3019;
+ public long f3020; public long f3021; public long f3022; public long f3023;
+ public long f3024; public long f3025; public long f3026; public long f3027;
+ public long f3028; public long f3029; public long f3030; public long f3031;
+ public long f3032; public long f3033; public long f3034; public long f3035;
+ public long f3036; public long f3037; public long f3038; public long f3039;
+ public long f3040; public long f3041; public long f3042; public long f3043;
+ public long f3044; public long f3045; public long f3046; public long f3047;
+ public long f3048; public long f3049; public long f3050; public long f3051;
+ public long f3052; public long f3053; public long f3054; public long f3055;
+ public long f3056; public long f3057; public long f3058; public long f3059;
+ public long f3060; public long f3061; public long f3062; public long f3063;
+ public long f3064; public long f3065; public long f3066; public long f3067;
+ public long f3068; public long f3069; public long f3070; public long f3071;
+ public long f3072; public long f3073; public long f3074; public long f3075;
+ public long f3076; public long f3077; public long f3078; public long f3079;
+ public long f3080; public long f3081; public long f3082; public long f3083;
+ public long f3084; public long f3085; public long f3086; public long f3087;
+ public long f3088; public long f3089; public long f3090; public long f3091;
+ public long f3092; public long f3093; public long f3094; public long f3095;
+ public long f3096; public long f3097; public long f3098; public long f3099;
+ public long f3100; public long f3101; public long f3102; public long f3103;
+ public long f3104; public long f3105; public long f3106; public long f3107;
+ public long f3108; public long f3109; public long f3110; public long f3111;
+ public long f3112; public long f3113; public long f3114; public long f3115;
+ public long f3116; public long f3117; public long f3118; public long f3119;
+ public long f3120; public long f3121; public long f3122; public long f3123;
+ public long f3124; public long f3125; public long f3126; public long f3127;
+ public long f3128; public long f3129; public long f3130; public long f3131;
+ public long f3132; public long f3133; public long f3134; public long f3135;
+ public long f3136; public long f3137; public long f3138; public long f3139;
+ public long f3140; public long f3141; public long f3142; public long f3143;
+ public long f3144; public long f3145; public long f3146; public long f3147;
+ public long f3148; public long f3149; public long f3150; public long f3151;
+ public long f3152; public long f3153; public long f3154; public long f3155;
+ public long f3156; public long f3157; public long f3158; public long f3159;
+ public long f3160; public long f3161; public long f3162; public long f3163;
+ public long f3164; public long f3165; public long f3166; public long f3167;
+ public long f3168; public long f3169; public long f3170; public long f3171;
+ public long f3172; public long f3173; public long f3174; public long f3175;
+ public long f3176; public long f3177; public long f3178; public long f3179;
+ public long f3180; public long f3181; public long f3182; public long f3183;
+ public long f3184; public long f3185; public long f3186; public long f3187;
+ public long f3188; public long f3189; public long f3190; public long f3191;
+ public long f3192; public long f3193; public long f3194; public long f3195;
+ public long f3196; public long f3197; public long f3198; public long f3199;
+ public long f3200; public long f3201; public long f3202; public long f3203;
+ public long f3204; public long f3205; public long f3206; public long f3207;
+ public long f3208; public long f3209; public long f3210; public long f3211;
+ public long f3212; public long f3213; public long f3214; public long f3215;
+ public long f3216; public long f3217; public long f3218; public long f3219;
+ public long f3220; public long f3221; public long f3222; public long f3223;
+ public long f3224; public long f3225; public long f3226; public long f3227;
+ public long f3228; public long f3229; public long f3230; public long f3231;
+ public long f3232; public long f3233; public long f3234; public long f3235;
+ public long f3236; public long f3237; public long f3238; public long f3239;
+ public long f3240; public long f3241; public long f3242; public long f3243;
+ public long f3244; public long f3245; public long f3246; public long f3247;
+ public long f3248; public long f3249; public long f3250; public long f3251;
+ public long f3252; public long f3253; public long f3254; public long f3255;
+ public long f3256; public long f3257; public long f3258; public long f3259;
+ public long f3260; public long f3261; public long f3262; public long f3263;
+ public long f3264; public long f3265; public long f3266; public long f3267;
+ public long f3268; public long f3269; public long f3270; public long f3271;
+ public long f3272; public long f3273; public long f3274; public long f3275;
+ public long f3276; public long f3277; public long f3278; public long f3279;
+ public long f3280; public long f3281; public long f3282; public long f3283;
+ public long f3284; public long f3285; public long f3286; public long f3287;
+ public long f3288; public long f3289; public long f3290; public long f3291;
+ public long f3292; public long f3293; public long f3294; public long f3295;
+ public long f3296; public long f3297; public long f3298; public long f3299;
+ public long f3300; public long f3301; public long f3302; public long f3303;
+ public long f3304; public long f3305; public long f3306; public long f3307;
+ public long f3308; public long f3309; public long f3310; public long f3311;
+ public long f3312; public long f3313; public long f3314; public long f3315;
+ public long f3316; public long f3317; public long f3318; public long f3319;
+ public long f3320; public long f3321; public long f3322; public long f3323;
+ public long f3324; public long f3325; public long f3326; public long f3327;
+ public long f3328; public long f3329; public long f3330; public long f3331;
+ public long f3332; public long f3333; public long f3334; public long f3335;
+ public long f3336; public long f3337; public long f3338; public long f3339;
+ public long f3340; public long f3341; public long f3342; public long f3343;
+ public long f3344; public long f3345; public long f3346; public long f3347;
+ public long f3348; public long f3349; public long f3350; public long f3351;
+ public long f3352; public long f3353; public long f3354; public long f3355;
+ public long f3356; public long f3357; public long f3358; public long f3359;
+ public long f3360; public long f3361; public long f3362; public long f3363;
+ public long f3364; public long f3365; public long f3366; public long f3367;
+ public long f3368; public long f3369; public long f3370; public long f3371;
+ public long f3372; public long f3373; public long f3374; public long f3375;
+ public long f3376; public long f3377; public long f3378; public long f3379;
+ public long f3380; public long f3381; public long f3382; public long f3383;
+ public long f3384; public long f3385; public long f3386; public long f3387;
+ public long f3388; public long f3389; public long f3390; public long f3391;
+ public long f3392; public long f3393; public long f3394; public long f3395;
+ public long f3396; public long f3397; public long f3398; public long f3399;
+ public long f3400; public long f3401; public long f3402; public long f3403;
+ public long f3404; public long f3405; public long f3406; public long f3407;
+ public long f3408; public long f3409; public long f3410; public long f3411;
+ public long f3412; public long f3413; public long f3414; public long f3415;
+ public long f3416; public long f3417; public long f3418; public long f3419;
+ public long f3420; public long f3421; public long f3422; public long f3423;
+ public long f3424; public long f3425; public long f3426; public long f3427;
+ public long f3428; public long f3429; public long f3430; public long f3431;
+ public long f3432; public long f3433; public long f3434; public long f3435;
+ public long f3436; public long f3437; public long f3438; public long f3439;
+ public long f3440; public long f3441; public long f3442; public long f3443;
+ public long f3444; public long f3445; public long f3446; public long f3447;
+ public long f3448; public long f3449; public long f3450; public long f3451;
+ public long f3452; public long f3453; public long f3454; public long f3455;
+ public long f3456; public long f3457; public long f3458; public long f3459;
+ public long f3460; public long f3461; public long f3462; public long f3463;
+ public long f3464; public long f3465; public long f3466; public long f3467;
+ public long f3468; public long f3469; public long f3470; public long f3471;
+ public long f3472; public long f3473; public long f3474; public long f3475;
+ public long f3476; public long f3477; public long f3478; public long f3479;
+ public long f3480; public long f3481; public long f3482; public long f3483;
+ public long f3484; public long f3485; public long f3486; public long f3487;
+ public long f3488; public long f3489; public long f3490; public long f3491;
+ public long f3492; public long f3493; public long f3494; public long f3495;
+ public long f3496; public long f3497; public long f3498; public long f3499;
+ public long f3500; public long f3501; public long f3502; public long f3503;
+ public long f3504; public long f3505; public long f3506; public long f3507;
+ public long f3508; public long f3509; public long f3510; public long f3511;
+ public long f3512; public long f3513; public long f3514; public long f3515;
+ public long f3516; public long f3517; public long f3518; public long f3519;
+ public long f3520; public long f3521; public long f3522; public long f3523;
+ public long f3524; public long f3525; public long f3526; public long f3527;
+ public long f3528; public long f3529; public long f3530; public long f3531;
+ public long f3532; public long f3533; public long f3534; public long f3535;
+ public long f3536; public long f3537; public long f3538; public long f3539;
+ public long f3540; public long f3541; public long f3542; public long f3543;
+ public long f3544; public long f3545; public long f3546; public long f3547;
+ public long f3548; public long f3549; public long f3550; public long f3551;
+ public long f3552; public long f3553; public long f3554; public long f3555;
+ public long f3556; public long f3557; public long f3558; public long f3559;
+ public long f3560; public long f3561; public long f3562; public long f3563;
+ public long f3564; public long f3565; public long f3566; public long f3567;
+ public long f3568; public long f3569; public long f3570; public long f3571;
+ public long f3572; public long f3573; public long f3574; public long f3575;
+ public long f3576; public long f3577; public long f3578; public long f3579;
+ public long f3580; public long f3581; public long f3582; public long f3583;
+ public long f3584; public long f3585; public long f3586; public long f3587;
+ public long f3588; public long f3589; public long f3590; public long f3591;
+ public long f3592; public long f3593; public long f3594; public long f3595;
+ public long f3596; public long f3597; public long f3598; public long f3599;
+ public long f3600; public long f3601; public long f3602; public long f3603;
+ public long f3604; public long f3605; public long f3606; public long f3607;
+ public long f3608; public long f3609; public long f3610; public long f3611;
+ public long f3612; public long f3613; public long f3614; public long f3615;
+ public long f3616; public long f3617; public long f3618; public long f3619;
+ public long f3620; public long f3621; public long f3622; public long f3623;
+ public long f3624; public long f3625; public long f3626; public long f3627;
+ public long f3628; public long f3629; public long f3630; public long f3631;
+ public long f3632; public long f3633; public long f3634; public long f3635;
+ public long f3636; public long f3637; public long f3638; public long f3639;
+ public long f3640; public long f3641; public long f3642; public long f3643;
+ public long f3644; public long f3645; public long f3646; public long f3647;
+ public long f3648; public long f3649; public long f3650; public long f3651;
+ public long f3652; public long f3653; public long f3654; public long f3655;
+ public long f3656; public long f3657; public long f3658; public long f3659;
+ public long f3660; public long f3661; public long f3662; public long f3663;
+ public long f3664; public long f3665; public long f3666; public long f3667;
+ public long f3668; public long f3669; public long f3670; public long f3671;
+ public long f3672; public long f3673; public long f3674; public long f3675;
+ public long f3676; public long f3677; public long f3678; public long f3679;
+ public long f3680; public long f3681; public long f3682; public long f3683;
+ public long f3684; public long f3685; public long f3686; public long f3687;
+ public long f3688; public long f3689; public long f3690; public long f3691;
+ public long f3692; public long f3693; public long f3694; public long f3695;
+ public long f3696; public long f3697; public long f3698; public long f3699;
+ public long f3700; public long f3701; public long f3702; public long f3703;
+ public long f3704; public long f3705; public long f3706; public long f3707;
+ public long f3708; public long f3709; public long f3710; public long f3711;
+ public long f3712; public long f3713; public long f3714; public long f3715;
+ public long f3716; public long f3717; public long f3718; public long f3719;
+ public long f3720; public long f3721; public long f3722; public long f3723;
+ public long f3724; public long f3725; public long f3726; public long f3727;
+ public long f3728; public long f3729; public long f3730; public long f3731;
+ public long f3732; public long f3733; public long f3734; public long f3735;
+ public long f3736; public long f3737; public long f3738; public long f3739;
+ public long f3740; public long f3741; public long f3742; public long f3743;
+ public long f3744; public long f3745; public long f3746; public long f3747;
+ public long f3748; public long f3749; public long f3750; public long f3751;
+ public long f3752; public long f3753; public long f3754; public long f3755;
+ public long f3756; public long f3757; public long f3758; public long f3759;
+ public long f3760; public long f3761; public long f3762; public long f3763;
+ public long f3764; public long f3765; public long f3766; public long f3767;
+ public long f3768; public long f3769; public long f3770; public long f3771;
+ public long f3772; public long f3773; public long f3774; public long f3775;
+ public long f3776; public long f3777; public long f3778; public long f3779;
+ public long f3780; public long f3781; public long f3782; public long f3783;
+ public long f3784; public long f3785; public long f3786; public long f3787;
+ public long f3788; public long f3789; public long f3790; public long f3791;
+ public long f3792; public long f3793; public long f3794; public long f3795;
+ public long f3796; public long f3797; public long f3798; public long f3799;
+ public long f3800; public long f3801; public long f3802; public long f3803;
+ public long f3804; public long f3805; public long f3806; public long f3807;
+ public long f3808; public long f3809; public long f3810; public long f3811;
+ public long f3812; public long f3813; public long f3814; public long f3815;
+ public long f3816; public long f3817; public long f3818; public long f3819;
+ public long f3820; public long f3821; public long f3822; public long f3823;
+ public long f3824; public long f3825; public long f3826; public long f3827;
+ public long f3828; public long f3829; public long f3830; public long f3831;
+ public long f3832; public long f3833; public long f3834; public long f3835;
+ public long f3836; public long f3837; public long f3838; public long f3839;
+ public long f3840; public long f3841; public long f3842; public long f3843;
+ public long f3844; public long f3845; public long f3846; public long f3847;
+ public long f3848; public long f3849; public long f3850; public long f3851;
+ public long f3852; public long f3853; public long f3854; public long f3855;
+ public long f3856; public long f3857; public long f3858; public long f3859;
+ public long f3860; public long f3861; public long f3862; public long f3863;
+ public long f3864; public long f3865; public long f3866; public long f3867;
+ public long f3868; public long f3869; public long f3870; public long f3871;
+ public long f3872; public long f3873; public long f3874; public long f3875;
+ public long f3876; public long f3877; public long f3878; public long f3879;
+ public long f3880; public long f3881; public long f3882; public long f3883;
+ public long f3884; public long f3885; public long f3886; public long f3887;
+ public long f3888; public long f3889; public long f3890; public long f3891;
+ public long f3892; public long f3893; public long f3894; public long f3895;
+ public long f3896; public long f3897; public long f3898; public long f3899;
+ public long f3900; public long f3901; public long f3902; public long f3903;
+ public long f3904; public long f3905; public long f3906; public long f3907;
+ public long f3908; public long f3909; public long f3910; public long f3911;
+ public long f3912; public long f3913; public long f3914; public long f3915;
+ public long f3916; public long f3917; public long f3918; public long f3919;
+ public long f3920; public long f3921; public long f3922; public long f3923;
+ public long f3924; public long f3925; public long f3926; public long f3927;
+ public long f3928; public long f3929; public long f3930; public long f3931;
+ public long f3932; public long f3933; public long f3934; public long f3935;
+ public long f3936; public long f3937; public long f3938; public long f3939;
+ public long f3940; public long f3941; public long f3942; public long f3943;
+ public long f3944; public long f3945; public long f3946; public long f3947;
+ public long f3948; public long f3949; public long f3950; public long f3951;
+ public long f3952; public long f3953; public long f3954; public long f3955;
+ public long f3956; public long f3957; public long f3958; public long f3959;
+ public long f3960; public long f3961; public long f3962; public long f3963;
+ public long f3964; public long f3965; public long f3966; public long f3967;
+ public long f3968; public long f3969; public long f3970; public long f3971;
+ public long f3972; public long f3973; public long f3974; public long f3975;
+ public long f3976; public long f3977; public long f3978; public long f3979;
+ public long f3980; public long f3981; public long f3982; public long f3983;
+ public long f3984; public long f3985; public long f3986; public long f3987;
+ public long f3988; public long f3989; public long f3990; public long f3991;
+ public long f3992; public long f3993; public long f3994; public long f3995;
+ public long f3996; public long f3997; public long f3998; public long f3999;
+ public long f4000; public long f4001; public long f4002; public long f4003;
+ public long f4004; public long f4005; public long f4006; public long f4007;
+ public long f4008; public long f4009; public long f4010; public long f4011;
+ public long f4012; public long f4013; public long f4014; public long f4015;
+ public long f4016; public long f4017; public long f4018; public long f4019;
+ public long f4020; public long f4021; public long f4022; public long f4023;
+ public long f4024; public long f4025; public long f4026; public long f4027;
+ public long f4028; public long f4029; public long f4030; public long f4031;
+ public long f4032; public long f4033; public long f4034; public long f4035;
+ public long f4036; public long f4037; public long f4038; public long f4039;
+ public long f4040; public long f4041; public long f4042; public long f4043;
+ public long f4044; public long f4045; public long f4046; public long f4047;
+ public long f4048; public long f4049; public long f4050; public long f4051;
+ public long f4052; public long f4053; public long f4054; public long f4055;
+ public long f4056; public long f4057; public long f4058; public long f4059;
+ public long f4060; public long f4061; public long f4062; public long f4063;
+ public long f4064; public long f4065; public long f4066; public long f4067;
+ public long f4068; public long f4069; public long f4070; public long f4071;
+ public long f4072; public long f4073; public long f4074; public long f4075;
+ public long f4076; public long f4077; public long f4078; public long f4079;
+ public long f4080; public long f4081; public long f4082; public long f4083;
+ public long f4084; public long f4085; public long f4086; public long f4087;
+ public long f4088; public long f4089; public long f4090; public long f4091;
+ public long f4092; public long f4093; public long f4094; public long f4095;
+ public long f4096; public long f4097; public long f4098; public long f4099;
+ public long f4100; public long f4101; public long f4102; public long f4103;
+ public long f4104; public long f4105; public long f4106; public long f4107;
+ public long f4108; public long f4109; public long f4110; public long f4111;
+ public long f4112; public long f4113; public long f4114; public long f4115;
+ public long f4116; public long f4117; public long f4118; public long f4119;
+ public long f4120; public long f4121; public long f4122; public long f4123;
+ public long f4124; public long f4125; public long f4126; public long f4127;
+ public long f4128; public long f4129; public long f4130; public long f4131;
+ public long f4132; public long f4133; public long f4134; public long f4135;
+ public long f4136; public long f4137; public long f4138; public long f4139;
+ public long f4140; public long f4141; public long f4142; public long f4143;
+ public long f4144; public long f4145; public long f4146; public long f4147;
+ public long f4148; public long f4149; public long f4150; public long f4151;
+ public long f4152; public long f4153; public long f4154; public long f4155;
+ public long f4156; public long f4157; public long f4158; public long f4159;
+ public long f4160; public long f4161; public long f4162; public long f4163;
+ public long f4164; public long f4165; public long f4166; public long f4167;
+ public long f4168; public long f4169; public long f4170; public long f4171;
+ public long f4172; public long f4173; public long f4174; public long f4175;
+ public long f4176; public long f4177; public long f4178; public long f4179;
+ public long f4180; public long f4181; public long f4182; public long f4183;
+ public long f4184; public long f4185; public long f4186; public long f4187;
+ public long f4188; public long f4189; public long f4190; public long f4191;
+ public long f4192; public long f4193; public long f4194; public long f4195;
+ public long f4196; public long f4197; public long f4198; public long f4199;
+ public long f4200; public long f4201; public long f4202; public long f4203;
+ public long f4204; public long f4205; public long f4206; public long f4207;
+ public long f4208; public long f4209; public long f4210; public long f4211;
+ public long f4212; public long f4213; public long f4214; public long f4215;
+ public long f4216; public long f4217; public long f4218; public long f4219;
+ public long f4220; public long f4221; public long f4222; public long f4223;
+ public long f4224; public long f4225; public long f4226; public long f4227;
+ public long f4228; public long f4229; public long f4230; public long f4231;
+ public long f4232; public long f4233; public long f4234; public long f4235;
+ public long f4236; public long f4237; public long f4238; public long f4239;
+ public long f4240; public long f4241; public long f4242; public long f4243;
+ public long f4244; public long f4245; public long f4246; public long f4247;
+ public long f4248; public long f4249; public long f4250; public long f4251;
+ public long f4252; public long f4253; public long f4254; public long f4255;
+ public long f4256; public long f4257; public long f4258; public long f4259;
+ public long f4260; public long f4261; public long f4262; public long f4263;
+ public long f4264; public long f4265; public long f4266; public long f4267;
+ public long f4268; public long f4269; public long f4270; public long f4271;
+ public long f4272; public long f4273; public long f4274; public long f4275;
+ public long f4276; public long f4277; public long f4278; public long f4279;
+ public long f4280; public long f4281; public long f4282; public long f4283;
+ public long f4284; public long f4285; public long f4286; public long f4287;
+ public long f4288; public long f4289; public long f4290; public long f4291;
+ public long f4292; public long f4293; public long f4294; public long f4295;
+ public long f4296; public long f4297; public long f4298; public long f4299;
+ public long f4300; public long f4301; public long f4302; public long f4303;
+ public long f4304; public long f4305; public long f4306; public long f4307;
+ public long f4308; public long f4309; public long f4310; public long f4311;
+ public long f4312; public long f4313; public long f4314; public long f4315;
+ public long f4316; public long f4317; public long f4318; public long f4319;
+ public long f4320; public long f4321; public long f4322; public long f4323;
+ public long f4324; public long f4325; public long f4326; public long f4327;
+ public long f4328; public long f4329; public long f4330; public long f4331;
+ public long f4332; public long f4333; public long f4334; public long f4335;
+ public long f4336; public long f4337; public long f4338; public long f4339;
+ public long f4340; public long f4341; public long f4342; public long f4343;
+ public long f4344; public long f4345; public long f4346; public long f4347;
+ public long f4348; public long f4349; public long f4350; public long f4351;
+ public long f4352; public long f4353; public long f4354; public long f4355;
+ public long f4356; public long f4357; public long f4358; public long f4359;
+ public long f4360; public long f4361; public long f4362; public long f4363;
+ public long f4364; public long f4365; public long f4366; public long f4367;
+ public long f4368; public long f4369; public long f4370; public long f4371;
+ public long f4372; public long f4373; public long f4374; public long f4375;
+ public long f4376; public long f4377; public long f4378; public long f4379;
+ public long f4380; public long f4381; public long f4382; public long f4383;
+ public long f4384; public long f4385; public long f4386; public long f4387;
+ public long f4388; public long f4389; public long f4390; public long f4391;
+ public long f4392; public long f4393; public long f4394; public long f4395;
+ public long f4396; public long f4397; public long f4398; public long f4399;
+ public long f4400; public long f4401; public long f4402; public long f4403;
+ public long f4404; public long f4405; public long f4406; public long f4407;
+ public long f4408; public long f4409; public long f4410; public long f4411;
+ public long f4412; public long f4413; public long f4414; public long f4415;
+ public long f4416; public long f4417; public long f4418; public long f4419;
+ public long f4420; public long f4421; public long f4422; public long f4423;
+ public long f4424; public long f4425; public long f4426; public long f4427;
+ public long f4428; public long f4429; public long f4430; public long f4431;
+ public long f4432; public long f4433; public long f4434; public long f4435;
+ public long f4436; public long f4437; public long f4438; public long f4439;
+ public long f4440; public long f4441; public long f4442; public long f4443;
+ public long f4444; public long f4445; public long f4446; public long f4447;
+ public long f4448; public long f4449; public long f4450; public long f4451;
+ public long f4452; public long f4453; public long f4454; public long f4455;
+ public long f4456; public long f4457; public long f4458; public long f4459;
+ public long f4460; public long f4461; public long f4462; public long f4463;
+ public long f4464; public long f4465; public long f4466; public long f4467;
+ public long f4468; public long f4469; public long f4470; public long f4471;
+ public long f4472; public long f4473; public long f4474; public long f4475;
+ public long f4476; public long f4477; public long f4478; public long f4479;
+ public long f4480; public long f4481; public long f4482; public long f4483;
+ public long f4484; public long f4485; public long f4486; public long f4487;
+ public long f4488; public long f4489; public long f4490; public long f4491;
+ public long f4492; public long f4493; public long f4494; public long f4495;
+ public long f4496; public long f4497; public long f4498; public long f4499;
+ public long f4500; public long f4501; public long f4502; public long f4503;
+ public long f4504; public long f4505; public long f4506; public long f4507;
+ public long f4508; public long f4509; public long f4510; public long f4511;
+ public long f4512; public long f4513; public long f4514; public long f4515;
+ public long f4516; public long f4517; public long f4518; public long f4519;
+ public long f4520; public long f4521; public long f4522; public long f4523;
+ public long f4524; public long f4525; public long f4526; public long f4527;
+ public long f4528; public long f4529; public long f4530; public long f4531;
+ public long f4532; public long f4533; public long f4534; public long f4535;
+ public long f4536; public long f4537; public long f4538; public long f4539;
+ public long f4540; public long f4541; public long f4542; public long f4543;
+ public long f4544; public long f4545; public long f4546; public long f4547;
+ public long f4548; public long f4549; public long f4550; public long f4551;
+ public long f4552; public long f4553; public long f4554; public long f4555;
+ public long f4556; public long f4557; public long f4558; public long f4559;
+ public long f4560; public long f4561; public long f4562; public long f4563;
+ public long f4564; public long f4565; public long f4566; public long f4567;
+ public long f4568; public long f4569; public long f4570; public long f4571;
+ public long f4572; public long f4573; public long f4574; public long f4575;
+ public long f4576; public long f4577; public long f4578; public long f4579;
+ public long f4580; public long f4581; public long f4582; public long f4583;
+ public long f4584; public long f4585; public long f4586; public long f4587;
+ public long f4588; public long f4589; public long f4590; public long f4591;
+ public long f4592; public long f4593; public long f4594; public long f4595;
+ public long f4596; public long f4597; public long f4598; public long f4599;
+ public long f4600; public long f4601; public long f4602; public long f4603;
+ public long f4604; public long f4605; public long f4606; public long f4607;
+ public long f4608; public long f4609; public long f4610; public long f4611;
+ public long f4612; public long f4613; public long f4614; public long f4615;
+ public long f4616; public long f4617; public long f4618; public long f4619;
+ public long f4620; public long f4621; public long f4622; public long f4623;
+ public long f4624; public long f4625; public long f4626; public long f4627;
+ public long f4628; public long f4629; public long f4630; public long f4631;
+ public long f4632; public long f4633; public long f4634; public long f4635;
+ public long f4636; public long f4637; public long f4638; public long f4639;
+ public long f4640; public long f4641; public long f4642; public long f4643;
+ public long f4644; public long f4645; public long f4646; public long f4647;
+ public long f4648; public long f4649; public long f4650; public long f4651;
+ public long f4652; public long f4653; public long f4654; public long f4655;
+ public long f4656; public long f4657; public long f4658; public long f4659;
+ public long f4660; public long f4661; public long f4662; public long f4663;
+ public long f4664; public long f4665; public long f4666; public long f4667;
+ public long f4668; public long f4669; public long f4670; public long f4671;
+ public long f4672; public long f4673; public long f4674; public long f4675;
+ public long f4676; public long f4677; public long f4678; public long f4679;
+ public long f4680; public long f4681; public long f4682; public long f4683;
+ public long f4684; public long f4685; public long f4686; public long f4687;
+ public long f4688; public long f4689; public long f4690; public long f4691;
+ public long f4692; public long f4693; public long f4694; public long f4695;
+ public long f4696; public long f4697; public long f4698; public long f4699;
+ public long f4700; public long f4701; public long f4702; public long f4703;
+ public long f4704; public long f4705; public long f4706; public long f4707;
+ public long f4708; public long f4709; public long f4710; public long f4711;
+ public long f4712; public long f4713; public long f4714; public long f4715;
+ public long f4716; public long f4717; public long f4718; public long f4719;
+ public long f4720; public long f4721; public long f4722; public long f4723;
+ public long f4724; public long f4725; public long f4726; public long f4727;
+ public long f4728; public long f4729; public long f4730; public long f4731;
+ public long f4732; public long f4733; public long f4734; public long f4735;
+ public long f4736; public long f4737; public long f4738; public long f4739;
+ public long f4740; public long f4741; public long f4742; public long f4743;
+ public long f4744; public long f4745; public long f4746; public long f4747;
+ public long f4748; public long f4749; public long f4750; public long f4751;
+ public long f4752; public long f4753; public long f4754; public long f4755;
+ public long f4756; public long f4757; public long f4758; public long f4759;
+ public long f4760; public long f4761; public long f4762; public long f4763;
+ public long f4764; public long f4765; public long f4766; public long f4767;
+ public long f4768; public long f4769; public long f4770; public long f4771;
+ public long f4772; public long f4773; public long f4774; public long f4775;
+ public long f4776; public long f4777; public long f4778; public long f4779;
+ public long f4780; public long f4781; public long f4782; public long f4783;
+ public long f4784; public long f4785; public long f4786; public long f4787;
+ public long f4788; public long f4789; public long f4790; public long f4791;
+ public long f4792; public long f4793; public long f4794; public long f4795;
+ public long f4796; public long f4797; public long f4798; public long f4799;
+ public long f4800; public long f4801; public long f4802; public long f4803;
+ public long f4804; public long f4805; public long f4806; public long f4807;
+ public long f4808; public long f4809; public long f4810; public long f4811;
+ public long f4812; public long f4813; public long f4814; public long f4815;
+ public long f4816; public long f4817; public long f4818; public long f4819;
+ public long f4820; public long f4821; public long f4822; public long f4823;
+ public long f4824; public long f4825; public long f4826; public long f4827;
+ public long f4828; public long f4829; public long f4830; public long f4831;
+ public long f4832; public long f4833; public long f4834; public long f4835;
+ public long f4836; public long f4837; public long f4838; public long f4839;
+ public long f4840; public long f4841; public long f4842; public long f4843;
+ public long f4844; public long f4845; public long f4846; public long f4847;
+ public long f4848; public long f4849; public long f4850; public long f4851;
+ public long f4852; public long f4853; public long f4854; public long f4855;
+ public long f4856; public long f4857; public long f4858; public long f4859;
+ public long f4860; public long f4861; public long f4862; public long f4863;
+ public long f4864; public long f4865; public long f4866; public long f4867;
+ public long f4868; public long f4869; public long f4870; public long f4871;
+ public long f4872; public long f4873; public long f4874; public long f4875;
+ public long f4876; public long f4877; public long f4878; public long f4879;
+ public long f4880; public long f4881; public long f4882; public long f4883;
+ public long f4884; public long f4885; public long f4886; public long f4887;
+ public long f4888; public long f4889; public long f4890; public long f4891;
+ public long f4892; public long f4893; public long f4894; public long f4895;
+ public long f4896; public long f4897; public long f4898; public long f4899;
+ public long f4900; public long f4901; public long f4902; public long f4903;
+ public long f4904; public long f4905; public long f4906; public long f4907;
+ public long f4908; public long f4909; public long f4910; public long f4911;
+ public long f4912; public long f4913; public long f4914; public long f4915;
+ public long f4916; public long f4917; public long f4918; public long f4919;
+ public long f4920; public long f4921; public long f4922; public long f4923;
+ public long f4924; public long f4925; public long f4926; public long f4927;
+ public long f4928; public long f4929; public long f4930; public long f4931;
+ public long f4932; public long f4933; public long f4934; public long f4935;
+ public long f4936; public long f4937; public long f4938; public long f4939;
+ public long f4940; public long f4941; public long f4942; public long f4943;
+ public long f4944; public long f4945; public long f4946; public long f4947;
+ public long f4948; public long f4949; public long f4950; public long f4951;
+ public long f4952; public long f4953; public long f4954; public long f4955;
+ public long f4956; public long f4957; public long f4958; public long f4959;
+ public long f4960; public long f4961; public long f4962; public long f4963;
+ public long f4964; public long f4965; public long f4966; public long f4967;
+ public long f4968; public long f4969; public long f4970; public long f4971;
+ public long f4972; public long f4973; public long f4974; public long f4975;
+ public long f4976; public long f4977; public long f4978; public long f4979;
+ public long f4980; public long f4981; public long f4982; public long f4983;
+ public long f4984; public long f4985; public long f4986; public long f4987;
+ public long f4988; public long f4989; public long f4990; public long f4991;
+ public long f4992; public long f4993; public long f4994; public long f4995;
+ public long f4996; public long f4997; public long f4998; public long f4999;
+ public long f5000; public long f5001; public long f5002; public long f5003;
+ public long f5004; public long f5005; public long f5006; public long f5007;
+ public long f5008; public long f5009; public long f5010; public long f5011;
+ public long f5012; public long f5013; public long f5014; public long f5015;
+ public long f5016; public long f5017; public long f5018; public long f5019;
+ public long f5020; public long f5021; public long f5022; public long f5023;
+ public long f5024; public long f5025; public long f5026; public long f5027;
+ public long f5028; public long f5029; public long f5030; public long f5031;
+ public long f5032; public long f5033; public long f5034; public long f5035;
+ public long f5036; public long f5037; public long f5038; public long f5039;
+ public long f5040; public long f5041; public long f5042; public long f5043;
+ public long f5044; public long f5045; public long f5046; public long f5047;
+ public long f5048; public long f5049; public long f5050; public long f5051;
+ public long f5052; public long f5053; public long f5054; public long f5055;
+ public long f5056; public long f5057; public long f5058; public long f5059;
+ public long f5060; public long f5061; public long f5062; public long f5063;
+ public long f5064; public long f5065; public long f5066; public long f5067;
+ public long f5068; public long f5069; public long f5070; public long f5071;
+ public long f5072; public long f5073; public long f5074; public long f5075;
+ public long f5076; public long f5077; public long f5078; public long f5079;
+ public long f5080; public long f5081; public long f5082; public long f5083;
+ public long f5084; public long f5085; public long f5086; public long f5087;
+ public long f5088; public long f5089; public long f5090; public long f5091;
+ public long f5092; public long f5093; public long f5094; public long f5095;
+ public long f5096; public long f5097; public long f5098; public long f5099;
+ public long f5100; public long f5101; public long f5102; public long f5103;
+ public long f5104; public long f5105; public long f5106; public long f5107;
+ public long f5108; public long f5109; public long f5110; public long f5111;
+ public long f5112; public long f5113; public long f5114; public long f5115;
+ public long f5116; public long f5117; public long f5118; public long f5119;
+ public long f5120; public long f5121; public long f5122; public long f5123;
+ public long f5124; public long f5125; public long f5126; public long f5127;
+ public long f5128; public long f5129; public long f5130; public long f5131;
+ public long f5132; public long f5133; public long f5134; public long f5135;
+ public long f5136; public long f5137; public long f5138; public long f5139;
+ public long f5140; public long f5141; public long f5142; public long f5143;
+ public long f5144; public long f5145; public long f5146; public long f5147;
+ public long f5148; public long f5149; public long f5150; public long f5151;
+ public long f5152; public long f5153; public long f5154; public long f5155;
+ public long f5156; public long f5157; public long f5158; public long f5159;
+ public long f5160; public long f5161; public long f5162; public long f5163;
+ public long f5164; public long f5165; public long f5166; public long f5167;
+ public long f5168; public long f5169; public long f5170; public long f5171;
+ public long f5172; public long f5173; public long f5174; public long f5175;
+ public long f5176; public long f5177; public long f5178; public long f5179;
+ public long f5180; public long f5181; public long f5182; public long f5183;
+ public long f5184; public long f5185; public long f5186; public long f5187;
+ public long f5188; public long f5189; public long f5190; public long f5191;
+ public long f5192; public long f5193; public long f5194; public long f5195;
+ public long f5196; public long f5197; public long f5198; public long f5199;
+ public long f5200; public long f5201; public long f5202; public long f5203;
+ public long f5204; public long f5205; public long f5206; public long f5207;
+ public long f5208; public long f5209; public long f5210; public long f5211;
+ public long f5212; public long f5213; public long f5214; public long f5215;
+ public long f5216; public long f5217; public long f5218; public long f5219;
+ public long f5220; public long f5221; public long f5222; public long f5223;
+ public long f5224; public long f5225; public long f5226; public long f5227;
+ public long f5228; public long f5229; public long f5230; public long f5231;
+ public long f5232; public long f5233; public long f5234; public long f5235;
+ public long f5236; public long f5237; public long f5238; public long f5239;
+ public long f5240; public long f5241; public long f5242; public long f5243;
+ public long f5244; public long f5245; public long f5246; public long f5247;
+ public long f5248; public long f5249; public long f5250; public long f5251;
+ public long f5252; public long f5253; public long f5254; public long f5255;
+ public long f5256; public long f5257; public long f5258; public long f5259;
+ public long f5260; public long f5261; public long f5262; public long f5263;
+ public long f5264; public long f5265; public long f5266; public long f5267;
+ public long f5268; public long f5269; public long f5270; public long f5271;
+ public long f5272; public long f5273; public long f5274; public long f5275;
+ public long f5276; public long f5277; public long f5278; public long f5279;
+ public long f5280; public long f5281; public long f5282; public long f5283;
+ public long f5284; public long f5285; public long f5286; public long f5287;
+ public long f5288; public long f5289; public long f5290; public long f5291;
+ public long f5292; public long f5293; public long f5294; public long f5295;
+ public long f5296; public long f5297; public long f5298; public long f5299;
+ public long f5300; public long f5301; public long f5302; public long f5303;
+ public long f5304; public long f5305; public long f5306; public long f5307;
+ public long f5308; public long f5309; public long f5310; public long f5311;
+ public long f5312; public long f5313; public long f5314; public long f5315;
+ public long f5316; public long f5317; public long f5318; public long f5319;
+ public long f5320; public long f5321; public long f5322; public long f5323;
+ public long f5324; public long f5325; public long f5326; public long f5327;
+ public long f5328; public long f5329; public long f5330; public long f5331;
+ public long f5332; public long f5333; public long f5334; public long f5335;
+ public long f5336; public long f5337; public long f5338; public long f5339;
+ public long f5340; public long f5341; public long f5342; public long f5343;
+ public long f5344; public long f5345; public long f5346; public long f5347;
+ public long f5348; public long f5349; public long f5350; public long f5351;
+ public long f5352; public long f5353; public long f5354; public long f5355;
+ public long f5356; public long f5357; public long f5358; public long f5359;
+ public long f5360; public long f5361; public long f5362; public long f5363;
+ public long f5364; public long f5365; public long f5366; public long f5367;
+ public long f5368; public long f5369; public long f5370; public long f5371;
+ public long f5372; public long f5373; public long f5374; public long f5375;
+ public long f5376; public long f5377; public long f5378; public long f5379;
+ public long f5380; public long f5381; public long f5382; public long f5383;
+ public long f5384; public long f5385; public long f5386; public long f5387;
+ public long f5388; public long f5389; public long f5390; public long f5391;
+ public long f5392; public long f5393; public long f5394; public long f5395;
+ public long f5396; public long f5397; public long f5398; public long f5399;
+ public long f5400; public long f5401; public long f5402; public long f5403;
+ public long f5404; public long f5405; public long f5406; public long f5407;
+ public long f5408; public long f5409; public long f5410; public long f5411;
+ public long f5412; public long f5413; public long f5414; public long f5415;
+ public long f5416; public long f5417; public long f5418; public long f5419;
+ public long f5420; public long f5421; public long f5422; public long f5423;
+ public long f5424; public long f5425; public long f5426; public long f5427;
+ public long f5428; public long f5429; public long f5430; public long f5431;
+ public long f5432; public long f5433; public long f5434; public long f5435;
+ public long f5436; public long f5437; public long f5438; public long f5439;
+ public long f5440; public long f5441; public long f5442; public long f5443;
+ public long f5444; public long f5445; public long f5446; public long f5447;
+ public long f5448; public long f5449; public long f5450; public long f5451;
+ public long f5452; public long f5453; public long f5454; public long f5455;
+ public long f5456; public long f5457; public long f5458; public long f5459;
+ public long f5460; public long f5461; public long f5462; public long f5463;
+ public long f5464; public long f5465; public long f5466; public long f5467;
+ public long f5468; public long f5469; public long f5470; public long f5471;
+ public long f5472; public long f5473; public long f5474; public long f5475;
+ public long f5476; public long f5477; public long f5478; public long f5479;
+ public long f5480; public long f5481; public long f5482; public long f5483;
+ public long f5484; public long f5485; public long f5486; public long f5487;
+ public long f5488; public long f5489; public long f5490; public long f5491;
+ public long f5492; public long f5493; public long f5494; public long f5495;
+ public long f5496; public long f5497; public long f5498; public long f5499;
+ public long f5500; public long f5501; public long f5502; public long f5503;
+ public long f5504; public long f5505; public long f5506; public long f5507;
+ public long f5508; public long f5509; public long f5510; public long f5511;
+ public long f5512; public long f5513; public long f5514; public long f5515;
+ public long f5516; public long f5517; public long f5518; public long f5519;
+ public long f5520; public long f5521; public long f5522; public long f5523;
+ public long f5524; public long f5525; public long f5526; public long f5527;
+ public long f5528; public long f5529; public long f5530; public long f5531;
+ public long f5532; public long f5533; public long f5534; public long f5535;
+ public long f5536; public long f5537; public long f5538; public long f5539;
+ public long f5540; public long f5541; public long f5542; public long f5543;
+ public long f5544; public long f5545; public long f5546; public long f5547;
+ public long f5548; public long f5549; public long f5550; public long f5551;
+ public long f5552; public long f5553; public long f5554; public long f5555;
+ public long f5556; public long f5557; public long f5558; public long f5559;
+ public long f5560; public long f5561; public long f5562; public long f5563;
+ public long f5564; public long f5565; public long f5566; public long f5567;
+ public long f5568; public long f5569; public long f5570; public long f5571;
+ public long f5572; public long f5573; public long f5574; public long f5575;
+ public long f5576; public long f5577; public long f5578; public long f5579;
+ public long f5580; public long f5581; public long f5582; public long f5583;
+ public long f5584; public long f5585; public long f5586; public long f5587;
+ public long f5588; public long f5589; public long f5590; public long f5591;
+ public long f5592; public long f5593; public long f5594; public long f5595;
+ public long f5596; public long f5597; public long f5598; public long f5599;
+ public long f5600; public long f5601; public long f5602; public long f5603;
+ public long f5604; public long f5605; public long f5606; public long f5607;
+ public long f5608; public long f5609; public long f5610; public long f5611;
+ public long f5612; public long f5613; public long f5614; public long f5615;
+ public long f5616; public long f5617; public long f5618; public long f5619;
+ public long f5620; public long f5621; public long f5622; public long f5623;
+ public long f5624; public long f5625; public long f5626; public long f5627;
+ public long f5628; public long f5629; public long f5630; public long f5631;
+ public long f5632; public long f5633; public long f5634; public long f5635;
+ public long f5636; public long f5637; public long f5638; public long f5639;
+ public long f5640; public long f5641; public long f5642; public long f5643;
+ public long f5644; public long f5645; public long f5646; public long f5647;
+ public long f5648; public long f5649; public long f5650; public long f5651;
+ public long f5652; public long f5653; public long f5654; public long f5655;
+ public long f5656; public long f5657; public long f5658; public long f5659;
+ public long f5660; public long f5661; public long f5662; public long f5663;
+ public long f5664; public long f5665; public long f5666; public long f5667;
+ public long f5668; public long f5669; public long f5670; public long f5671;
+ public long f5672; public long f5673; public long f5674; public long f5675;
+ public long f5676; public long f5677; public long f5678; public long f5679;
+ public long f5680; public long f5681; public long f5682; public long f5683;
+ public long f5684; public long f5685; public long f5686; public long f5687;
+ public long f5688; public long f5689; public long f5690; public long f5691;
+ public long f5692; public long f5693; public long f5694; public long f5695;
+ public long f5696; public long f5697; public long f5698; public long f5699;
+ public long f5700; public long f5701; public long f5702; public long f5703;
+ public long f5704; public long f5705; public long f5706; public long f5707;
+ public long f5708; public long f5709; public long f5710; public long f5711;
+ public long f5712; public long f5713; public long f5714; public long f5715;
+ public long f5716; public long f5717; public long f5718; public long f5719;
+ public long f5720; public long f5721; public long f5722; public long f5723;
+ public long f5724; public long f5725; public long f5726; public long f5727;
+ public long f5728; public long f5729; public long f5730; public long f5731;
+ public long f5732; public long f5733; public long f5734; public long f5735;
+ public long f5736; public long f5737; public long f5738; public long f5739;
+ public long f5740; public long f5741; public long f5742; public long f5743;
+ public long f5744; public long f5745; public long f5746; public long f5747;
+ public long f5748; public long f5749; public long f5750; public long f5751;
+ public long f5752; public long f5753; public long f5754; public long f5755;
+ public long f5756; public long f5757; public long f5758; public long f5759;
+ public long f5760; public long f5761; public long f5762; public long f5763;
+ public long f5764; public long f5765; public long f5766; public long f5767;
+ public long f5768; public long f5769; public long f5770; public long f5771;
+ public long f5772; public long f5773; public long f5774; public long f5775;
+ public long f5776; public long f5777; public long f5778; public long f5779;
+ public long f5780; public long f5781; public long f5782; public long f5783;
+ public long f5784; public long f5785; public long f5786; public long f5787;
+ public long f5788; public long f5789; public long f5790; public long f5791;
+ public long f5792; public long f5793; public long f5794; public long f5795;
+ public long f5796; public long f5797; public long f5798; public long f5799;
+ public long f5800; public long f5801; public long f5802; public long f5803;
+ public long f5804; public long f5805; public long f5806; public long f5807;
+ public long f5808; public long f5809; public long f5810; public long f5811;
+ public long f5812; public long f5813; public long f5814; public long f5815;
+ public long f5816; public long f5817; public long f5818; public long f5819;
+ public long f5820; public long f5821; public long f5822; public long f5823;
+ public long f5824; public long f5825; public long f5826; public long f5827;
+ public long f5828; public long f5829; public long f5830; public long f5831;
+ public long f5832; public long f5833; public long f5834; public long f5835;
+ public long f5836; public long f5837; public long f5838; public long f5839;
+ public long f5840; public long f5841; public long f5842; public long f5843;
+ public long f5844; public long f5845; public long f5846; public long f5847;
+ public long f5848; public long f5849; public long f5850; public long f5851;
+ public long f5852; public long f5853; public long f5854; public long f5855;
+ public long f5856; public long f5857; public long f5858; public long f5859;
+ public long f5860; public long f5861; public long f5862; public long f5863;
+ public long f5864; public long f5865; public long f5866; public long f5867;
+ public long f5868; public long f5869; public long f5870; public long f5871;
+ public long f5872; public long f5873; public long f5874; public long f5875;
+ public long f5876; public long f5877; public long f5878; public long f5879;
+ public long f5880; public long f5881; public long f5882; public long f5883;
+ public long f5884; public long f5885; public long f5886; public long f5887;
+ public long f5888; public long f5889; public long f5890; public long f5891;
+ public long f5892; public long f5893; public long f5894; public long f5895;
+ public long f5896; public long f5897; public long f5898; public long f5899;
+ public long f5900; public long f5901; public long f5902; public long f5903;
+ public long f5904; public long f5905; public long f5906; public long f5907;
+ public long f5908; public long f5909; public long f5910; public long f5911;
+ public long f5912; public long f5913; public long f5914; public long f5915;
+ public long f5916; public long f5917; public long f5918; public long f5919;
+ public long f5920; public long f5921; public long f5922; public long f5923;
+ public long f5924; public long f5925; public long f5926; public long f5927;
+ public long f5928; public long f5929; public long f5930; public long f5931;
+ public long f5932; public long f5933; public long f5934; public long f5935;
+ public long f5936; public long f5937; public long f5938; public long f5939;
+ public long f5940; public long f5941; public long f5942; public long f5943;
+ public long f5944; public long f5945; public long f5946; public long f5947;
+ public long f5948; public long f5949; public long f5950; public long f5951;
+ public long f5952; public long f5953; public long f5954; public long f5955;
+ public long f5956; public long f5957; public long f5958; public long f5959;
+ public long f5960; public long f5961; public long f5962; public long f5963;
+ public long f5964; public long f5965; public long f5966; public long f5967;
+ public long f5968; public long f5969; public long f5970; public long f5971;
+ public long f5972; public long f5973; public long f5974; public long f5975;
+ public long f5976; public long f5977; public long f5978; public long f5979;
+ public long f5980; public long f5981; public long f5982; public long f5983;
+ public long f5984; public long f5985; public long f5986; public long f5987;
+ public long f5988; public long f5989; public long f5990; public long f5991;
+ public long f5992; public long f5993; public long f5994; public long f5995;
+ public long f5996; public long f5997; public long f5998; public long f5999;
+ public long f6000; public long f6001; public long f6002; public long f6003;
+ public long f6004; public long f6005; public long f6006; public long f6007;
+ public long f6008; public long f6009; public long f6010; public long f6011;
+ public long f6012; public long f6013; public long f6014; public long f6015;
+ public long f6016; public long f6017; public long f6018; public long f6019;
+ public long f6020; public long f6021; public long f6022; public long f6023;
+ public long f6024; public long f6025; public long f6026; public long f6027;
+ public long f6028; public long f6029; public long f6030; public long f6031;
+ public long f6032; public long f6033; public long f6034; public long f6035;
+ public long f6036; public long f6037; public long f6038; public long f6039;
+ public long f6040; public long f6041; public long f6042; public long f6043;
+ public long f6044; public long f6045; public long f6046; public long f6047;
+ public long f6048; public long f6049; public long f6050; public long f6051;
+ public long f6052; public long f6053; public long f6054; public long f6055;
+ public long f6056; public long f6057; public long f6058; public long f6059;
+ public long f6060; public long f6061; public long f6062; public long f6063;
+ public long f6064; public long f6065; public long f6066; public long f6067;
+ public long f6068; public long f6069; public long f6070; public long f6071;
+ public long f6072; public long f6073; public long f6074; public long f6075;
+ public long f6076; public long f6077; public long f6078; public long f6079;
+ public long f6080; public long f6081; public long f6082; public long f6083;
+ public long f6084; public long f6085; public long f6086; public long f6087;
+ public long f6088; public long f6089; public long f6090; public long f6091;
+ public long f6092; public long f6093; public long f6094; public long f6095;
+ public long f6096; public long f6097; public long f6098; public long f6099;
+ public long f6100; public long f6101; public long f6102; public long f6103;
+ public long f6104; public long f6105; public long f6106; public long f6107;
+ public long f6108; public long f6109; public long f6110; public long f6111;
+ public long f6112; public long f6113; public long f6114; public long f6115;
+ public long f6116; public long f6117; public long f6118; public long f6119;
+ public long f6120; public long f6121; public long f6122; public long f6123;
+ public long f6124; public long f6125; public long f6126; public long f6127;
+ public long f6128; public long f6129; public long f6130; public long f6131;
+ public long f6132; public long f6133; public long f6134; public long f6135;
+ public long f6136; public long f6137; public long f6138; public long f6139;
+ public long f6140; public long f6141; public long f6142; public long f6143;
+ public long f6144; public long f6145; public long f6146; public long f6147;
+ public long f6148; public long f6149; public long f6150; public long f6151;
+ public long f6152; public long f6153; public long f6154; public long f6155;
+ public long f6156; public long f6157; public long f6158; public long f6159;
+ public long f6160; public long f6161; public long f6162; public long f6163;
+ public long f6164; public long f6165; public long f6166; public long f6167;
+ public long f6168; public long f6169; public long f6170; public long f6171;
+ public long f6172; public long f6173; public long f6174; public long f6175;
+ public long f6176; public long f6177; public long f6178; public long f6179;
+ public long f6180; public long f6181; public long f6182; public long f6183;
+ public long f6184; public long f6185; public long f6186; public long f6187;
+ public long f6188; public long f6189; public long f6190; public long f6191;
+ public long f6192; public long f6193; public long f6194; public long f6195;
+ public long f6196; public long f6197; public long f6198; public long f6199;
+ public long f6200; public long f6201; public long f6202; public long f6203;
+ public long f6204; public long f6205; public long f6206; public long f6207;
+ public long f6208; public long f6209; public long f6210; public long f6211;
+ public long f6212; public long f6213; public long f6214; public long f6215;
+ public long f6216; public long f6217; public long f6218; public long f6219;
+ public long f6220; public long f6221; public long f6222; public long f6223;
+ public long f6224; public long f6225; public long f6226; public long f6227;
+ public long f6228; public long f6229; public long f6230; public long f6231;
+ public long f6232; public long f6233; public long f6234; public long f6235;
+ public long f6236; public long f6237; public long f6238; public long f6239;
+ public long f6240; public long f6241; public long f6242; public long f6243;
+ public long f6244; public long f6245; public long f6246; public long f6247;
+ public long f6248; public long f6249; public long f6250; public long f6251;
+ public long f6252; public long f6253; public long f6254; public long f6255;
+ public long f6256; public long f6257; public long f6258; public long f6259;
+ public long f6260; public long f6261; public long f6262; public long f6263;
+ public long f6264; public long f6265; public long f6266; public long f6267;
+ public long f6268; public long f6269; public long f6270; public long f6271;
+ public long f6272; public long f6273; public long f6274; public long f6275;
+ public long f6276; public long f6277; public long f6278; public long f6279;
+ public long f6280; public long f6281; public long f6282; public long f6283;
+ public long f6284; public long f6285; public long f6286; public long f6287;
+ public long f6288; public long f6289; public long f6290; public long f6291;
+ public long f6292; public long f6293; public long f6294; public long f6295;
+ public long f6296; public long f6297; public long f6298; public long f6299;
+ public long f6300; public long f6301; public long f6302; public long f6303;
+ public long f6304; public long f6305; public long f6306; public long f6307;
+ public long f6308; public long f6309; public long f6310; public long f6311;
+ public long f6312; public long f6313; public long f6314; public long f6315;
+ public long f6316; public long f6317; public long f6318; public long f6319;
+ public long f6320; public long f6321; public long f6322; public long f6323;
+ public long f6324; public long f6325; public long f6326; public long f6327;
+ public long f6328; public long f6329; public long f6330; public long f6331;
+ public long f6332; public long f6333; public long f6334; public long f6335;
+ public long f6336; public long f6337; public long f6338; public long f6339;
+ public long f6340; public long f6341; public long f6342; public long f6343;
+ public long f6344; public long f6345; public long f6346; public long f6347;
+ public long f6348; public long f6349; public long f6350; public long f6351;
+ public long f6352; public long f6353; public long f6354; public long f6355;
+ public long f6356; public long f6357; public long f6358; public long f6359;
+ public long f6360; public long f6361; public long f6362; public long f6363;
+ public long f6364; public long f6365; public long f6366; public long f6367;
+ public long f6368; public long f6369; public long f6370; public long f6371;
+ public long f6372; public long f6373; public long f6374; public long f6375;
+ public long f6376; public long f6377; public long f6378; public long f6379;
+ public long f6380; public long f6381; public long f6382; public long f6383;
+ public long f6384; public long f6385; public long f6386; public long f6387;
+ public long f6388; public long f6389; public long f6390; public long f6391;
+ public long f6392; public long f6393; public long f6394; public long f6395;
+ public long f6396; public long f6397; public long f6398; public long f6399;
+ public long f6400; public long f6401; public long f6402; public long f6403;
+ public long f6404; public long f6405; public long f6406; public long f6407;
+ public long f6408; public long f6409; public long f6410; public long f6411;
+ public long f6412; public long f6413; public long f6414; public long f6415;
+ public long f6416; public long f6417; public long f6418; public long f6419;
+ public long f6420; public long f6421; public long f6422; public long f6423;
+ public long f6424; public long f6425; public long f6426; public long f6427;
+ public long f6428; public long f6429; public long f6430; public long f6431;
+ public long f6432; public long f6433; public long f6434; public long f6435;
+ public long f6436; public long f6437; public long f6438; public long f6439;
+ public long f6440; public long f6441; public long f6442; public long f6443;
+ public long f6444; public long f6445; public long f6446; public long f6447;
+ public long f6448; public long f6449; public long f6450; public long f6451;
+ public long f6452; public long f6453; public long f6454; public long f6455;
+ public long f6456; public long f6457; public long f6458; public long f6459;
+ public long f6460; public long f6461; public long f6462; public long f6463;
+ public long f6464; public long f6465; public long f6466; public long f6467;
+ public long f6468; public long f6469; public long f6470; public long f6471;
+ public long f6472; public long f6473; public long f6474; public long f6475;
+ public long f6476; public long f6477; public long f6478; public long f6479;
+ public long f6480; public long f6481; public long f6482; public long f6483;
+ public long f6484; public long f6485; public long f6486; public long f6487;
+ public long f6488; public long f6489; public long f6490; public long f6491;
+ public long f6492; public long f6493; public long f6494; public long f6495;
+ public long f6496; public long f6497; public long f6498; public long f6499;
+ public long f6500; public long f6501; public long f6502; public long f6503;
+ public long f6504; public long f6505; public long f6506; public long f6507;
+ public long f6508; public long f6509; public long f6510; public long f6511;
+ public long f6512; public long f6513; public long f6514; public long f6515;
+ public long f6516; public long f6517; public long f6518; public long f6519;
+ public long f6520; public long f6521; public long f6522; public long f6523;
+ public long f6524; public long f6525; public long f6526; public long f6527;
+ public long f6528; public long f6529; public long f6530; public long f6531;
+ public long f6532; public long f6533; public long f6534; public long f6535;
+ public long f6536; public long f6537; public long f6538; public long f6539;
+ public long f6540; public long f6541; public long f6542; public long f6543;
+ public long f6544; public long f6545; public long f6546; public long f6547;
+ public long f6548; public long f6549; public long f6550; public long f6551;
+ public long f6552; public long f6553; public long f6554; public long f6555;
+ public long f6556; public long f6557; public long f6558; public long f6559;
+ public long f6560; public long f6561; public long f6562; public long f6563;
+ public long f6564; public long f6565; public long f6566; public long f6567;
+ public long f6568; public long f6569; public long f6570; public long f6571;
+ public long f6572; public long f6573; public long f6574; public long f6575;
+ public long f6576; public long f6577; public long f6578; public long f6579;
+ public long f6580; public long f6581; public long f6582; public long f6583;
+ public long f6584; public long f6585; public long f6586; public long f6587;
+ public long f6588; public long f6589; public long f6590; public long f6591;
+ public long f6592; public long f6593; public long f6594; public long f6595;
+ public long f6596; public long f6597; public long f6598; public long f6599;
+ public long f6600; public long f6601; public long f6602; public long f6603;
+ public long f6604; public long f6605; public long f6606; public long f6607;
+ public long f6608; public long f6609; public long f6610; public long f6611;
+ public long f6612; public long f6613; public long f6614; public long f6615;
+ public long f6616; public long f6617; public long f6618; public long f6619;
+ public long f6620; public long f6621; public long f6622; public long f6623;
+ public long f6624; public long f6625; public long f6626; public long f6627;
+ public long f6628; public long f6629; public long f6630; public long f6631;
+ public long f6632; public long f6633; public long f6634; public long f6635;
+ public long f6636; public long f6637; public long f6638; public long f6639;
+ public long f6640; public long f6641; public long f6642; public long f6643;
+ public long f6644; public long f6645; public long f6646; public long f6647;
+ public long f6648; public long f6649; public long f6650; public long f6651;
+ public long f6652; public long f6653; public long f6654; public long f6655;
+ public long f6656; public long f6657; public long f6658; public long f6659;
+ public long f6660; public long f6661; public long f6662; public long f6663;
+ public long f6664; public long f6665; public long f6666; public long f6667;
+ public long f6668; public long f6669; public long f6670; public long f6671;
+ public long f6672; public long f6673; public long f6674; public long f6675;
+ public long f6676; public long f6677; public long f6678; public long f6679;
+ public long f6680; public long f6681; public long f6682; public long f6683;
+ public long f6684; public long f6685; public long f6686; public long f6687;
+ public long f6688; public long f6689; public long f6690; public long f6691;
+ public long f6692; public long f6693; public long f6694; public long f6695;
+ public long f6696; public long f6697; public long f6698; public long f6699;
+ public long f6700; public long f6701; public long f6702; public long f6703;
+ public long f6704; public long f6705; public long f6706; public long f6707;
+ public long f6708; public long f6709; public long f6710; public long f6711;
+ public long f6712; public long f6713; public long f6714; public long f6715;
+ public long f6716; public long f6717; public long f6718; public long f6719;
+ public long f6720; public long f6721; public long f6722; public long f6723;
+ public long f6724; public long f6725; public long f6726; public long f6727;
+ public long f6728; public long f6729; public long f6730; public long f6731;
+ public long f6732; public long f6733; public long f6734; public long f6735;
+ public long f6736; public long f6737; public long f6738; public long f6739;
+ public long f6740; public long f6741; public long f6742; public long f6743;
+ public long f6744; public long f6745; public long f6746; public long f6747;
+ public long f6748; public long f6749; public long f6750; public long f6751;
+ public long f6752; public long f6753; public long f6754; public long f6755;
+ public long f6756; public long f6757; public long f6758; public long f6759;
+ public long f6760; public long f6761; public long f6762; public long f6763;
+ public long f6764; public long f6765; public long f6766; public long f6767;
+ public long f6768; public long f6769; public long f6770; public long f6771;
+ public long f6772; public long f6773; public long f6774; public long f6775;
+ public long f6776; public long f6777; public long f6778; public long f6779;
+ public long f6780; public long f6781; public long f6782; public long f6783;
+ public long f6784; public long f6785; public long f6786; public long f6787;
+ public long f6788; public long f6789; public long f6790; public long f6791;
+ public long f6792; public long f6793; public long f6794; public long f6795;
+ public long f6796; public long f6797; public long f6798; public long f6799;
+ public long f6800; public long f6801; public long f6802; public long f6803;
+ public long f6804; public long f6805; public long f6806; public long f6807;
+ public long f6808; public long f6809; public long f6810; public long f6811;
+ public long f6812; public long f6813; public long f6814; public long f6815;
+ public long f6816; public long f6817; public long f6818; public long f6819;
+ public long f6820; public long f6821; public long f6822; public long f6823;
+ public long f6824; public long f6825; public long f6826; public long f6827;
+ public long f6828; public long f6829; public long f6830; public long f6831;
+ public long f6832; public long f6833; public long f6834; public long f6835;
+ public long f6836; public long f6837; public long f6838; public long f6839;
+ public long f6840; public long f6841; public long f6842; public long f6843;
+ public long f6844; public long f6845; public long f6846; public long f6847;
+ public long f6848; public long f6849; public long f6850; public long f6851;
+ public long f6852; public long f6853; public long f6854; public long f6855;
+ public long f6856; public long f6857; public long f6858; public long f6859;
+ public long f6860; public long f6861; public long f6862; public long f6863;
+ public long f6864; public long f6865; public long f6866; public long f6867;
+ public long f6868; public long f6869; public long f6870; public long f6871;
+ public long f6872; public long f6873; public long f6874; public long f6875;
+ public long f6876; public long f6877; public long f6878; public long f6879;
+ public long f6880; public long f6881; public long f6882; public long f6883;
+ public long f6884; public long f6885; public long f6886; public long f6887;
+ public long f6888; public long f6889; public long f6890; public long f6891;
+ public long f6892; public long f6893; public long f6894; public long f6895;
+ public long f6896; public long f6897; public long f6898; public long f6899;
+ public long f6900; public long f6901; public long f6902; public long f6903;
+ public long f6904; public long f6905; public long f6906; public long f6907;
+ public long f6908; public long f6909; public long f6910; public long f6911;
+ public long f6912; public long f6913; public long f6914; public long f6915;
+ public long f6916; public long f6917; public long f6918; public long f6919;
+ public long f6920; public long f6921; public long f6922; public long f6923;
+ public long f6924; public long f6925; public long f6926; public long f6927;
+ public long f6928; public long f6929; public long f6930; public long f6931;
+ public long f6932; public long f6933; public long f6934; public long f6935;
+ public long f6936; public long f6937; public long f6938; public long f6939;
+ public long f6940; public long f6941; public long f6942; public long f6943;
+ public long f6944; public long f6945; public long f6946; public long f6947;
+ public long f6948; public long f6949; public long f6950; public long f6951;
+ public long f6952; public long f6953; public long f6954; public long f6955;
+ public long f6956; public long f6957; public long f6958; public long f6959;
+ public long f6960; public long f6961; public long f6962; public long f6963;
+ public long f6964; public long f6965; public long f6966; public long f6967;
+ public long f6968; public long f6969; public long f6970; public long f6971;
+ public long f6972; public long f6973; public long f6974; public long f6975;
+ public long f6976; public long f6977; public long f6978; public long f6979;
+ public long f6980; public long f6981; public long f6982; public long f6983;
+ public long f6984; public long f6985; public long f6986; public long f6987;
+ public long f6988; public long f6989; public long f6990; public long f6991;
+ public long f6992; public long f6993; public long f6994; public long f6995;
+ public long f6996; public long f6997; public long f6998; public long f6999;
+ public long f7000; public long f7001; public long f7002; public long f7003;
+ public long f7004; public long f7005; public long f7006; public long f7007;
+ public long f7008; public long f7009; public long f7010; public long f7011;
+ public long f7012; public long f7013; public long f7014; public long f7015;
+ public long f7016; public long f7017; public long f7018; public long f7019;
+ public long f7020; public long f7021; public long f7022; public long f7023;
+ public long f7024; public long f7025; public long f7026; public long f7027;
+ public long f7028; public long f7029; public long f7030; public long f7031;
+ public long f7032; public long f7033; public long f7034; public long f7035;
+ public long f7036; public long f7037; public long f7038; public long f7039;
+ public long f7040; public long f7041; public long f7042; public long f7043;
+ public long f7044; public long f7045; public long f7046; public long f7047;
+ public long f7048; public long f7049; public long f7050; public long f7051;
+ public long f7052; public long f7053; public long f7054; public long f7055;
+ public long f7056; public long f7057; public long f7058; public long f7059;
+ public long f7060; public long f7061; public long f7062; public long f7063;
+ public long f7064; public long f7065; public long f7066; public long f7067;
+ public long f7068; public long f7069; public long f7070; public long f7071;
+ public long f7072; public long f7073; public long f7074; public long f7075;
+ public long f7076; public long f7077; public long f7078; public long f7079;
+ public long f7080; public long f7081; public long f7082; public long f7083;
+ public long f7084; public long f7085; public long f7086; public long f7087;
+ public long f7088; public long f7089; public long f7090; public long f7091;
+ public long f7092; public long f7093; public long f7094; public long f7095;
+ public long f7096; public long f7097; public long f7098; public long f7099;
+ public long f7100; public long f7101; public long f7102; public long f7103;
+ public long f7104; public long f7105; public long f7106; public long f7107;
+ public long f7108; public long f7109; public long f7110; public long f7111;
+ public long f7112; public long f7113; public long f7114; public long f7115;
+ public long f7116; public long f7117; public long f7118; public long f7119;
+ public long f7120; public long f7121; public long f7122; public long f7123;
+ public long f7124; public long f7125; public long f7126; public long f7127;
+ public long f7128; public long f7129; public long f7130; public long f7131;
+ public long f7132; public long f7133; public long f7134; public long f7135;
+ public long f7136; public long f7137; public long f7138; public long f7139;
+ public long f7140; public long f7141; public long f7142; public long f7143;
+ public long f7144; public long f7145; public long f7146; public long f7147;
+ public long f7148; public long f7149; public long f7150; public long f7151;
+ public long f7152; public long f7153; public long f7154; public long f7155;
+ public long f7156; public long f7157; public long f7158; public long f7159;
+ public long f7160; public long f7161; public long f7162; public long f7163;
+ public long f7164; public long f7165; public long f7166; public long f7167;
+ public long f7168; public long f7169; public long f7170; public long f7171;
+ public long f7172; public long f7173; public long f7174; public long f7175;
+ public long f7176; public long f7177; public long f7178; public long f7179;
+ public long f7180; public long f7181; public long f7182; public long f7183;
+ public long f7184; public long f7185; public long f7186; public long f7187;
+ public long f7188; public long f7189; public long f7190; public long f7191;
+ public long f7192; public long f7193; public long f7194; public long f7195;
+ public long f7196; public long f7197; public long f7198; public long f7199;
+ public long f7200; public long f7201; public long f7202; public long f7203;
+ public long f7204; public long f7205; public long f7206; public long f7207;
+ public long f7208; public long f7209; public long f7210; public long f7211;
+ public long f7212; public long f7213; public long f7214; public long f7215;
+ public long f7216; public long f7217; public long f7218; public long f7219;
+ public long f7220; public long f7221; public long f7222; public long f7223;
+ public long f7224; public long f7225; public long f7226; public long f7227;
+ public long f7228; public long f7229; public long f7230; public long f7231;
+ public long f7232; public long f7233; public long f7234; public long f7235;
+ public long f7236; public long f7237; public long f7238; public long f7239;
+ public long f7240; public long f7241; public long f7242; public long f7243;
+ public long f7244; public long f7245; public long f7246; public long f7247;
+ public long f7248; public long f7249; public long f7250; public long f7251;
+ public long f7252; public long f7253; public long f7254; public long f7255;
+ public long f7256; public long f7257; public long f7258; public long f7259;
+ public long f7260; public long f7261; public long f7262; public long f7263;
+ public long f7264; public long f7265; public long f7266; public long f7267;
+ public long f7268; public long f7269; public long f7270; public long f7271;
+ public long f7272; public long f7273; public long f7274; public long f7275;
+ public long f7276; public long f7277; public long f7278; public long f7279;
+ public long f7280; public long f7281; public long f7282; public long f7283;
+ public long f7284; public long f7285; public long f7286; public long f7287;
+ public long f7288; public long f7289; public long f7290; public long f7291;
+ public long f7292; public long f7293; public long f7294; public long f7295;
+ public long f7296; public long f7297; public long f7298; public long f7299;
+ public long f7300; public long f7301; public long f7302; public long f7303;
+ public long f7304; public long f7305; public long f7306; public long f7307;
+ public long f7308; public long f7309; public long f7310; public long f7311;
+ public long f7312; public long f7313; public long f7314; public long f7315;
+ public long f7316; public long f7317; public long f7318; public long f7319;
+ public long f7320; public long f7321; public long f7322; public long f7323;
+ public long f7324; public long f7325; public long f7326; public long f7327;
+ public long f7328; public long f7329; public long f7330; public long f7331;
+ public long f7332; public long f7333; public long f7334; public long f7335;
+ public long f7336; public long f7337; public long f7338; public long f7339;
+ public long f7340; public long f7341; public long f7342; public long f7343;
+ public long f7344; public long f7345; public long f7346; public long f7347;
+ public long f7348; public long f7349; public long f7350; public long f7351;
+ public long f7352; public long f7353; public long f7354; public long f7355;
+ public long f7356; public long f7357; public long f7358; public long f7359;
+ public long f7360; public long f7361; public long f7362; public long f7363;
+ public long f7364; public long f7365; public long f7366; public long f7367;
+ public long f7368; public long f7369; public long f7370; public long f7371;
+ public long f7372; public long f7373; public long f7374; public long f7375;
+ public long f7376; public long f7377; public long f7378; public long f7379;
+ public long f7380; public long f7381; public long f7382; public long f7383;
+ public long f7384; public long f7385; public long f7386; public long f7387;
+ public long f7388; public long f7389; public long f7390; public long f7391;
+ public long f7392; public long f7393; public long f7394; public long f7395;
+ public long f7396; public long f7397; public long f7398; public long f7399;
+ public long f7400; public long f7401; public long f7402; public long f7403;
+ public long f7404; public long f7405; public long f7406; public long f7407;
+ public long f7408; public long f7409; public long f7410; public long f7411;
+ public long f7412; public long f7413; public long f7414; public long f7415;
+ public long f7416; public long f7417; public long f7418; public long f7419;
+ public long f7420; public long f7421; public long f7422; public long f7423;
+ public long f7424; public long f7425; public long f7426; public long f7427;
+ public long f7428; public long f7429; public long f7430; public long f7431;
+ public long f7432; public long f7433; public long f7434; public long f7435;
+ public long f7436; public long f7437; public long f7438; public long f7439;
+ public long f7440; public long f7441; public long f7442; public long f7443;
+ public long f7444; public long f7445; public long f7446; public long f7447;
+ public long f7448; public long f7449; public long f7450; public long f7451;
+ public long f7452; public long f7453; public long f7454; public long f7455;
+ public long f7456; public long f7457; public long f7458; public long f7459;
+ public long f7460; public long f7461; public long f7462; public long f7463;
+ public long f7464; public long f7465; public long f7466; public long f7467;
+ public long f7468; public long f7469; public long f7470; public long f7471;
+ public long f7472; public long f7473; public long f7474; public long f7475;
+ public long f7476; public long f7477; public long f7478; public long f7479;
+ public long f7480; public long f7481; public long f7482; public long f7483;
+ public long f7484; public long f7485; public long f7486; public long f7487;
+ public long f7488; public long f7489; public long f7490; public long f7491;
+ public long f7492; public long f7493; public long f7494; public long f7495;
+ public long f7496; public long f7497; public long f7498; public long f7499;
+ public long f7500; public long f7501; public long f7502; public long f7503;
+ public long f7504; public long f7505; public long f7506; public long f7507;
+ public long f7508; public long f7509; public long f7510; public long f7511;
+ public long f7512; public long f7513; public long f7514; public long f7515;
+ public long f7516; public long f7517; public long f7518; public long f7519;
+ public long f7520; public long f7521; public long f7522; public long f7523;
+ public long f7524; public long f7525; public long f7526; public long f7527;
+ public long f7528; public long f7529; public long f7530; public long f7531;
+ public long f7532; public long f7533; public long f7534; public long f7535;
+ public long f7536; public long f7537; public long f7538; public long f7539;
+ public long f7540; public long f7541; public long f7542; public long f7543;
+ public long f7544; public long f7545; public long f7546; public long f7547;
+ public long f7548; public long f7549; public long f7550; public long f7551;
+ public long f7552; public long f7553; public long f7554; public long f7555;
+ public long f7556; public long f7557; public long f7558; public long f7559;
+ public long f7560; public long f7561; public long f7562; public long f7563;
+ public long f7564; public long f7565; public long f7566; public long f7567;
+ public long f7568; public long f7569; public long f7570; public long f7571;
+ public long f7572; public long f7573; public long f7574; public long f7575;
+ public long f7576; public long f7577; public long f7578; public long f7579;
+ public long f7580; public long f7581; public long f7582; public long f7583;
+ public long f7584; public long f7585; public long f7586; public long f7587;
+ public long f7588; public long f7589; public long f7590; public long f7591;
+ public long f7592; public long f7593; public long f7594; public long f7595;
+ public long f7596; public long f7597; public long f7598; public long f7599;
+ public long f7600; public long f7601; public long f7602; public long f7603;
+ public long f7604; public long f7605; public long f7606; public long f7607;
+ public long f7608; public long f7609; public long f7610; public long f7611;
+ public long f7612; public long f7613; public long f7614; public long f7615;
+ public long f7616; public long f7617; public long f7618; public long f7619;
+ public long f7620; public long f7621; public long f7622; public long f7623;
+ public long f7624; public long f7625; public long f7626; public long f7627;
+ public long f7628; public long f7629; public long f7630; public long f7631;
+ public long f7632; public long f7633; public long f7634; public long f7635;
+ public long f7636; public long f7637; public long f7638; public long f7639;
+ public long f7640; public long f7641; public long f7642; public long f7643;
+ public long f7644; public long f7645; public long f7646; public long f7647;
+ public long f7648; public long f7649; public long f7650; public long f7651;
+ public long f7652; public long f7653; public long f7654; public long f7655;
+ public long f7656; public long f7657; public long f7658; public long f7659;
+ public long f7660; public long f7661; public long f7662; public long f7663;
+ public long f7664; public long f7665; public long f7666; public long f7667;
+ public long f7668; public long f7669; public long f7670; public long f7671;
+ public long f7672; public long f7673; public long f7674; public long f7675;
+ public long f7676; public long f7677; public long f7678; public long f7679;
+ public long f7680; public long f7681; public long f7682; public long f7683;
+ public long f7684; public long f7685; public long f7686; public long f7687;
+ public long f7688; public long f7689; public long f7690; public long f7691;
+ public long f7692; public long f7693; public long f7694; public long f7695;
+ public long f7696; public long f7697; public long f7698; public long f7699;
+ public long f7700; public long f7701; public long f7702; public long f7703;
+ public long f7704; public long f7705; public long f7706; public long f7707;
+ public long f7708; public long f7709; public long f7710; public long f7711;
+ public long f7712; public long f7713; public long f7714; public long f7715;
+ public long f7716; public long f7717; public long f7718; public long f7719;
+ public long f7720; public long f7721; public long f7722; public long f7723;
+ public long f7724; public long f7725; public long f7726; public long f7727;
+ public long f7728; public long f7729; public long f7730; public long f7731;
+ public long f7732; public long f7733; public long f7734; public long f7735;
+ public long f7736; public long f7737; public long f7738; public long f7739;
+ public long f7740; public long f7741; public long f7742; public long f7743;
+ public long f7744; public long f7745; public long f7746; public long f7747;
+ public long f7748; public long f7749; public long f7750; public long f7751;
+ public long f7752; public long f7753; public long f7754; public long f7755;
+ public long f7756; public long f7757; public long f7758; public long f7759;
+ public long f7760; public long f7761; public long f7762; public long f7763;
+ public long f7764; public long f7765; public long f7766; public long f7767;
+ public long f7768; public long f7769; public long f7770; public long f7771;
+ public long f7772; public long f7773; public long f7774; public long f7775;
+ public long f7776; public long f7777; public long f7778; public long f7779;
+ public long f7780; public long f7781; public long f7782; public long f7783;
+ public long f7784; public long f7785; public long f7786; public long f7787;
+ public long f7788; public long f7789; public long f7790; public long f7791;
+ public long f7792; public long f7793; public long f7794; public long f7795;
+ public long f7796; public long f7797; public long f7798; public long f7799;
+ public long f7800; public long f7801; public long f7802; public long f7803;
+ public long f7804; public long f7805; public long f7806; public long f7807;
+ public long f7808; public long f7809; public long f7810; public long f7811;
+ public long f7812; public long f7813; public long f7814; public long f7815;
+ public long f7816; public long f7817; public long f7818; public long f7819;
+ public long f7820; public long f7821; public long f7822; public long f7823;
+ public long f7824; public long f7825; public long f7826; public long f7827;
+ public long f7828; public long f7829; public long f7830; public long f7831;
+ public long f7832; public long f7833; public long f7834; public long f7835;
+ public long f7836; public long f7837; public long f7838; public long f7839;
+ public long f7840; public long f7841; public long f7842; public long f7843;
+ public long f7844; public long f7845; public long f7846; public long f7847;
+ public long f7848; public long f7849; public long f7850; public long f7851;
+ public long f7852; public long f7853; public long f7854; public long f7855;
+ public long f7856; public long f7857; public long f7858; public long f7859;
+ public long f7860; public long f7861; public long f7862; public long f7863;
+ public long f7864; public long f7865; public long f7866; public long f7867;
+ public long f7868; public long f7869; public long f7870; public long f7871;
+ public long f7872; public long f7873; public long f7874; public long f7875;
+ public long f7876; public long f7877; public long f7878; public long f7879;
+ public long f7880; public long f7881; public long f7882; public long f7883;
+ public long f7884; public long f7885; public long f7886; public long f7887;
+ public long f7888; public long f7889; public long f7890; public long f7891;
+ public long f7892; public long f7893; public long f7894; public long f7895;
+ public long f7896; public long f7897; public long f7898; public long f7899;
+ public long f7900; public long f7901; public long f7902; public long f7903;
+ public long f7904; public long f7905; public long f7906; public long f7907;
+ public long f7908; public long f7909; public long f7910; public long f7911;
+ public long f7912; public long f7913; public long f7914; public long f7915;
+ public long f7916; public long f7917; public long f7918; public long f7919;
+ public long f7920; public long f7921; public long f7922; public long f7923;
+ public long f7924; public long f7925; public long f7926; public long f7927;
+ public long f7928; public long f7929; public long f7930; public long f7931;
+ public long f7932; public long f7933; public long f7934; public long f7935;
+ public long f7936; public long f7937; public long f7938; public long f7939;
+ public long f7940; public long f7941; public long f7942; public long f7943;
+ public long f7944; public long f7945; public long f7946; public long f7947;
+ public long f7948; public long f7949; public long f7950; public long f7951;
+ public long f7952; public long f7953; public long f7954; public long f7955;
+ public long f7956; public long f7957; public long f7958; public long f7959;
+ public long f7960; public long f7961; public long f7962; public long f7963;
+ public long f7964; public long f7965; public long f7966; public long f7967;
+ public long f7968; public long f7969; public long f7970; public long f7971;
+ public long f7972; public long f7973; public long f7974; public long f7975;
+ public long f7976; public long f7977; public long f7978; public long f7979;
+ public long f7980; public long f7981; public long f7982; public long f7983;
+ public long f7984; public long f7985; public long f7986; public long f7987;
+ public long f7988; public long f7989; public long f7990; public long f7991;
+ public long f7992; public long f7993; public long f7994; public long f7995;
+ public long f7996; public long f7997; public long f7998; public long f7999;
+ public long f8000; public long f8001; public long f8002; public long f8003;
+ public long f8004; public long f8005; public long f8006; public long f8007;
+ public long f8008; public long f8009; public long f8010; public long f8011;
+ public long f8012; public long f8013; public long f8014; public long f8015;
+ public long f8016; public long f8017; public long f8018; public long f8019;
+ public long f8020; public long f8021; public long f8022; public long f8023;
+ public long f8024; public long f8025; public long f8026; public long f8027;
+ public long f8028; public long f8029; public long f8030; public long f8031;
+ public long f8032; public long f8033; public long f8034; public long f8035;
+ public long f8036; public long f8037; public long f8038; public long f8039;
+ public long f8040; public long f8041; public long f8042; public long f8043;
+ public long f8044; public long f8045; public long f8046; public long f8047;
+ public long f8048; public long f8049; public long f8050; public long f8051;
+ public long f8052; public long f8053; public long f8054; public long f8055;
+ public long f8056; public long f8057; public long f8058; public long f8059;
+ public long f8060; public long f8061; public long f8062; public long f8063;
+ public long f8064; public long f8065; public long f8066; public long f8067;
+ public long f8068; public long f8069; public long f8070; public long f8071;
+ public long f8072; public long f8073; public long f8074; public long f8075;
+ public long f8076; public long f8077; public long f8078; public long f8079;
+ public long f8080; public long f8081; public long f8082; public long f8083;
+ public long f8084; public long f8085; public long f8086; public long f8087;
+ public long f8088; public long f8089; public long f8090; public long f8091;
+ public long f8092; public long f8093; public long f8094; public long f8095;
+ public long f8096; public long f8097; public long f8098; public long f8099;
+ public long f8100; public long f8101; public long f8102; public long f8103;
+ public long f8104; public long f8105; public long f8106; public long f8107;
+ public long f8108; public long f8109; public long f8110; public long f8111;
+ public long f8112; public long f8113; public long f8114; public long f8115;
+ public long f8116; public long f8117; public long f8118; public long f8119;
+ public long f8120; public long f8121; public long f8122; public long f8123;
+ public long f8124; public long f8125; public long f8126; public long f8127;
+ public long f8128; public long f8129; public long f8130; public long f8131;
+ public long f8132; public long f8133; public long f8134; public long f8135;
+ public long f8136; public long f8137; public long f8138; public long f8139;
+ public long f8140; public long f8141; public long f8142; public long f8143;
+ public long f8144; public long f8145; public long f8146; public long f8147;
+ public long f8148; public long f8149; public long f8150; public long f8151;
+ public long f8152; public long f8153; public long f8154; public long f8155;
+ public long f8156; public long f8157; public long f8158; public long f8159;
+ public long f8160; public long f8161; public long f8162; public long f8163;
+ public long f8164; public long f8165; public long f8166; public long f8167;
+ public long f8168; public long f8169; public long f8170; public long f8171;
+ public long f8172; public long f8173; public long f8174; public long f8175;
+ public long f8176; public long f8177; public long f8178; public long f8179;
+ public long f8180; public long f8181; public long f8182; public long f8183;
+ public long f8184; public long f8185; public long f8186; public long f8187;
+ public long f8188; public long f8189; public long f8190; public long f8191;
+ public long f8192; public long f8193; public long f8194; public long f8195;
+ public long f8196; public long f8197; public long f8198; public long f8199;
+ public long f8200;
+
+ public static void printV(PR26858 o)
+ {
+ System.out.println(o.f8200);
+ }
+
+ public static void main(String args[])
+ {
+ PR26858 x = new PR26858();
+
+ try
+ {
+ printV(x);
+ printV(null);
+ System.out.println("bad");
+ }
+ catch (Exception e)
+ {
+ System.out.println("ok");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR26858.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+0
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,87 @@
+class PR27908
+{
+ public static void main (String[] argv)
+ throws InterruptedException
+ {
+ run1 r1 = new run1();
+ run2 r2 = new run2();
+ run3 r3 = new run3();
+
+ Thread t1, t2, t3;
+
+ (t1 = new Thread (r1)).start();
+ (t2 = new Thread (r2)).start();
+ (t3 = new Thread (r3)).start();
+
+ Thread.yield();
+
+ r1.stop();
+ r2.stop();
+ r3.stop();
+
+ Thread.sleep(5000);
+
+ if (t1.isAlive() || t2.isAlive() || t3.isAlive())
+ {
+ System.out.println ("fail");
+ System.exit(1);
+ }
+ }
+
+ private static class run1 implements Runnable
+ {
+ volatile int counter;
+ volatile boolean running;
+
+ public void run ()
+ {
+ counter = 0;
+ running = true;
+ while (running)
+ counter++;
+ }
+
+ void stop ()
+ {
+ running = false;
+ }
+ }
+
+ private static class run2 implements Runnable
+ {
+ volatile int counter;
+ boolean running;
+
+ public void run ()
+ {
+ counter = 0;
+ running = true;
+ while (running)
+ counter++;
+ }
+
+ void stop ()
+ {
+ running = false;
+ }
+ }
+
+ static class run3 implements Runnable
+ {
+ volatile int counter;
+ private volatile boolean running;
+
+ public void run ()
+ {
+ counter = 0;
+ running = true;
+ while (running)
+ counter++;
+ }
+
+ void stop ()
+ {
+ running = false;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR27908.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class PR29013 {
+ public static int result() { return 5; }
+
+ public static void computeResult() { result(); }
+
+ public static void main(String[] args) {
+ computeResult();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR29013.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// This test case was built for java/3096.
+
+class PR3096
+{
+ static void foo (int x[], int i) {
+ ++x[i];
+ }
+ static void foo (float x[], int i) {
+ ++x[i];
+ }
+ public static void main(String [] args) {
+ int a[] = new int [1];
+ float f[] = new float [1];
+ int b[];
+ int i = 0;
+ foo (a,0);
+ foo (f,0);
+ System.out.println (a[0]);
+ System.out.println (f[0]);
+ System.out.println ((b=a)[0]);
+ (b=a)[i]=99;
+ b[0]++;
+ System.out.println (a[0]+", "+b[0]);
+ System.out.println (++a[i]);
+ System.out.println (a[i]);
+ System.out.println (a[i]++);
+ System.out.println (a[i]);
+ String s[] = new String [1];
+ String y[];
+ s[0]="";
+ s[0] += "Peace ";
+ System.out.println (s[0]);
+ (y=s)[0] += "now!";
+ System.out.println (s[0]+", "+y[0]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3096.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+1
+1.0
+1
+100, 100
+101
+101
+101
+102
+Peace
+Peace now!, Peace now!
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+// Check whether "instanceof" initializes its class argument.
+
+public class PR3731 {
+ static B b;
+ public static void main(String[] args) {
+ System.out.println(b instanceof B);
+ }
+}
+
+class B {
+ static {
+ System.out.println("Initialized");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR3731.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,16 @@
+/* Test to make sure <clinit> is generated correctly. */
+
+public class PR5057
+{
+ public static int x;
+
+ static
+ {
+ x = 72;
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (x);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+72
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+/* Test to make sure <clinit> is generated correctly. */
+
+class R
+{
+ public static int z = 23;
+}
+
+public class PR5057_2 extends R
+{
+ static
+ {
+ R.z = 72;
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (R.z);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR5057_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+72
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class PR55 {
+
+ // This demonstrates a bug in gcj
+
+ public static void main(String[] argv){
+ int i = 666;
+ System.out.println("The number "+i+" is "+ (""+i).length() +" digits wide");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR55.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+The number 666 is 3 digits wide
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public final class PR56 {
+ public static void main(String[] args) {
+ Object o = args;
+ int[] a;
+ if (!(o instanceof int[]) || (a = (int[])o).length != 2) {
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR56.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+public class PR6085
+{
+ public static void main(String[] args)
+ {
+ F1 f1 = new F1();
+ }
+
+ static class F1
+ {
+ F11 f11;
+ F12 f12;
+
+ F1()
+ {
+ f12 = new F12();
+ System.out.println (f12.i);
+ System.out.println (f12.k);
+ }
+
+ class F11
+ {
+ int k = 90;
+ F11() {}
+ }
+
+ class F12 extends F11
+ {
+ int i;
+ F12()
+ {
+ i = 17;
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6085.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+17
+90
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,38 @@
+class X
+{
+ public Y getY()
+ {
+ return new Y(1);
+ }
+}
+
+class Y extends X
+{
+ int i;
+
+ Y(int i)
+ {
+ this.i = i;
+ }
+
+ public Y getY()
+ {
+ return new Y(2);
+ }
+}
+
+class A
+{
+ X x = new Y(-1);
+ public X getX() { return x; }
+}
+
+public class PR6204 extends A
+{
+ public Y getY() { return super.getX().getY(); }
+
+ public static void main(String[] args)
+ {
+ System.out.println (new PR6204().getY().i);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6204.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+2
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6520.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6520.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6520.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6520.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class PR6520
+{
+ public static void check (double x, double y)
+ {
+ System.out.println (x == y);
+ }
+
+ public static void main(String[] args)
+ {
+ check (Math.min (2.0f, Float.NaN), Float.NaN);
+ }
+ }
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class PR6729
+{
+ static int attr = 0x9;
+
+ public static void main(String [] args) {
+ boolean res = ( ( 1 << attr ) & 0x1000 ) != 0 ;
+ System.out.println("this should be "+res+": "+isWhite());
+ }
+
+ public static boolean isWhite() {
+ return ( ( 1 << attr ) & 0x1000 ) != 0 ;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6729.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+this should be false: false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+public class PR6820
+{
+ static void m(int a, int b) {
+ System.out.println("a="+a+" b="+b);
+ }
+
+ static int a = 10;
+
+ public static void main(String[] args) {
+ int b = 10;
+ m(a,++a);
+ m(b,++b);
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR6820.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+a=10 b=11
+a=10 b=11
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+public class PR7482
+{
+ private interface I { }
+ private static class B { }
+ private static class U extends B implements I { }
+ private static class V extends B implements I { }
+
+ static I field;
+
+ private static void g1(Object o)
+ {
+ I val;
+ if (o == null)
+ val = new U();
+ else
+ val = new V();
+ field = val;
+ }
+
+ private static I g2(Object o)
+ {
+ I val;
+ if (o == null)
+ val = new U();
+ else
+ val = new V();
+ return val;
+ }
+
+ public static void main(String[] args)
+ {
+ g1(null);
+ g2(null);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR7482.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR8866.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR8866.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR8866.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/PR8866.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+public class PR8866
+{
+ public static void main (String args[])
+ {
+ String attTypeString = "";
+
+ switch (args.length) {
+ case 1:
+ attTypeString = "string";
+ case 4:
+ attTypeString = "ID";;
+ case 5:
+ attTypeString = "IDREF";;
+ case 6:
+ attTypeString = "NMTOKEN";;
+ case 7:
+ attTypeString = "NOTATION";;
+ default:
+ ;
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,41 @@
+// Create a process and read from its standard output.
+//
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+
+public class Process_1
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ Runtime r = Runtime.getRuntime();
+ String s = "Hello World";
+ String[] a = { "echo", s };
+ Process p = r.exec(a);
+ InputStream is = p.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ String result = br.readLine();
+ if (! s.equals(result))
+ {
+ System.out.println("bad 1");
+ return;
+ }
+ result = br.readLine();
+ if (result != null)
+ {
+ System.out.println("bad 2");
+ return;
+ }
+ int c = p.waitFor();
+ System.out.println(c == 0 ? "ok" : "bad 3");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,40 @@
+// Create a process and read from its standard error.
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+
+public class Process_2
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ Runtime r = Runtime.getRuntime();
+ String s = "Hello World";
+ String[] a = { "sh", "-c", "echo " + s + " >&2" };
+ Process p = r.exec(a);
+ InputStream is = p.getErrorStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ String result = br.readLine();
+ if (! s.equals(result))
+ {
+ System.out.println("bad 1");
+ return;
+ }
+ result = br.readLine();
+ if (result != null)
+ {
+ System.out.println("bad 2");
+ return;
+ }
+ int c = p.waitFor();
+ System.out.println(c == 0 ? "ok" : "bad 3");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,73 @@
+// Create a process and pipe data through it. waitFor() the process
+// in a different thread than the one that created it.
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+
+public class Process_3 implements Runnable
+{
+ Process p;
+
+ public void run()
+ {
+ try
+ {
+ Runtime r = Runtime.getRuntime();
+ String[] a = { "sed", "-e", "s/Hello/Goodbye/" };
+ synchronized (this)
+ {
+ p = r.exec(a);
+ this.notifyAll();
+ }
+ OutputStream os = p.getOutputStream();
+ PrintStream ps = new PrintStream(os);
+ ps.println("Hello World");
+ ps.close();
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ System.exit(1);
+ }
+ }
+
+ public static void main(String[] args)
+ {
+ try
+ {
+ Process_3 p3 = new Process_3();
+ Thread t = new Thread(p3);
+ t.start();
+ synchronized (p3)
+ {
+ while (p3.p == null)
+ p3.wait();
+ }
+
+ InputStream is = p3.p.getInputStream();
+ InputStreamReader isr = new InputStreamReader(is);
+ BufferedReader br = new BufferedReader(isr);
+ String result = br.readLine();
+ if (! "Goodbye World".equals(result))
+ {
+ System.out.println("bad 1");
+ return;
+ }
+ result = br.readLine();
+ if (result != null)
+ {
+ System.out.println("bad 2");
+ return;
+ }
+ int c = p3.p.waitFor();
+ System.out.println(c == 0 ? "ok" : "bad 3");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+// Create a process and verify failure exit code.
+public class Process_4
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ Runtime r = Runtime.getRuntime();
+ String[] a = { "false" };
+ Process p = r.exec(a);
+ int c = p.waitFor();
+ // Solaris' false doesn't return 1.
+ System.out.println(c != 0 ? "ok" : "bad");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_4.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,43 @@
+// Create a long running process and verify that the exitValue is not
+// immediately available. Then destroy() it and verify that it
+// terminates quickly with a non-zero exitValue.
+public class Process_5
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ int c;
+ long startTime = System.currentTimeMillis();
+ Runtime r = Runtime.getRuntime();
+ String[] a = { "sleep", "120" };
+ Process p = r.exec(a);
+
+ try
+ {
+ c = p.exitValue();
+ System.out.println("bad 1");
+ return;
+ }
+ catch (IllegalThreadStateException itse)
+ {
+ // Ignore as this is good here.
+ }
+
+ p.destroy();
+
+ c = p.waitFor();
+
+ long endTime = System.currentTimeMillis();
+
+ if (endTime - startTime > 110000L)
+ System.out.println("bad 2");
+
+ System.out.println(c != 0 ? "ok" : "bad 3");
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_5.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,31 @@
+// Create a running process for a non existent executable.
+// Verify that IOException is thrown.
+import java.io.IOException;
+
+
+public class Process_6
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ int c;
+ Runtime r = Runtime.getRuntime();
+ String[] a = { "blablabla_failure" };
+
+ try
+ {
+ Process p = r.exec(a);
+ System.out.println("bad");
+ }
+ catch (IOException ioe)
+ {
+ System.out.println("ok");
+ }
+ }
+ catch (Exception ex)
+ {
+ System.out.println(ex.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Process_6.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Test case for http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=194522
+
+import java.io.*;
+import java.nio.charset.Charset;
+
+public class RH194522
+{
+ public static void main(String[] args) throws Exception
+ {
+ Charset c = Charset.forName("UTF-8");
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ PrintWriter pw = new PrintWriter(new OutputStreamWriter(baos, c));
+ pw.println("hi");
+ pw.println("bob");
+ pw.flush();
+ pw.close();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/RH194522.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+import java.io.*;
+import java.util.*;
+
+public class Serialization
+{
+ public static void main(String[] args)
+ throws IOException, ClassNotFoundException
+ {
+ File f = new File("test.ser");
+ ObjectOutputStream objStream =
+ new ObjectOutputStream(new FileOutputStream(f));
+ objStream.writeInt(8);
+ objStream.writeObject(new Integer(99));
+ List l = new LinkedList();
+ l.add(new Integer(1));
+ l.add(new Short((short) 7));
+ l.add(new Float(9.95));
+ l.add(new Long(-900000000000001l));
+ l.add(new Double(-3.14159));
+ l.add(new Character('X'));
+ l.add(new Byte((byte) 'z'));
+ objStream.writeObject(l);
+ objStream.close();
+
+ ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f));
+ System.out.println (ois.readInt());
+ System.out.println (ois.readObject());
+ System.out.println (ois.readObject());
+ ois.close();
+ f.delete();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Serialization.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+8
+99
+[1, 7, 9.95, -900000000000001, -3.14159, X, 122]
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+import java.io.*;
+
+public class Shazam {
+
+ private static String shazam ()
+ {
+ try {
+ return "shazam";
+ } finally {
+ System.out.println ("The next line should say \"shazam\"");
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (shazam ());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Shazam.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+The next line should say "shazam"
+shazam
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,76 @@
+// Check that stack trace's work, and stack trace line numbers, if available,
+// are correct.
+
+public class StackTrace2
+{
+ public static void main(String[] args)
+ {
+ try
+ {
+ a();
+ }
+ catch (Exception x)
+ {
+ StackTraceElement[] trace = x.getStackTrace();
+ checkTrace(trace);
+ }
+ }
+
+ static void a()
+ {
+ new Inner();
+ }
+
+ static class Inner
+ {
+ public Inner()
+ {
+ doCrash(null);
+ }
+
+ public void doCrash(Object o)
+ {
+ o.toString();
+ }
+ }
+
+ static void checkTrace(StackTraceElement[] trace)
+ {
+ System.out.println("Trace length = " + trace.length);
+ checkLine(trace[0], "StackTrace2$Inner", "doCrash", 33);
+ checkLine(trace[1], "StackTrace2$Inner", "<init>", 28);
+ checkLine(trace[2], "StackTrace2", "a", 21);
+ checkLine(trace[3], "StackTrace2", "main", 10);
+ }
+
+ static void checkLine(StackTraceElement frame, String expected_cl,
+ String expected_method, int expected_line)
+ {
+ if (frame.getClassName().equals(expected_cl))
+ System.out.print(expected_cl);
+ else
+ System.out.print("FAIL - expected " + expected_cl + ", got: " +
+ frame.getClassName());
+
+ System.out.print(".");
+
+ if (frame.getMethodName().equals(expected_method))
+ System.out.print(expected_method);
+ else
+ System.out.print("FAIL - expected " + expected_method + ", got: " +
+ frame.getMethodName());
+
+ System.out.print(":");
+
+ // Permit either the correct line number or no line number. This is so
+ // we don't fail on platforms that don't yet support reading debug info
+ // for stack traces, or when no debug info is available.
+ if (frame.getLineNumber() < 0
+ || (frame.getLineNumber() == expected_line
+ && frame.getFileName().equals("StackTrace2.java")))
+ System.out.println("OK");
+ else
+ System.out.println("FAIL - expected " + expected_line + ", got: " +
+ frame.getLineNumber());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StackTrace2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+Trace length = 4
+StackTrace2$Inner.doCrash:OK
+StackTrace2$Inner.<init>:OK
+StackTrace2.a:OK
+StackTrace2.main:OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+// Test to make sure static initializers are called
+
+class bar
+{
+ public static int zog;
+ public static int zag;
+
+ static
+ {
+ zog = 12;
+ zag = 2;
+ }
+
+ public bar() { }
+}
+
+public class StaticConstructor
+{
+ static int foo ()
+ {
+ return new bar().zog;
+ }
+
+ public static void main(String args[])
+ {
+ System.out.println ("" + (foo() + bar.zag));
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StaticConstructor.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+14
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,124 @@
+// Test StringBuffer.replace(), reverse(), insert(String), append(String),
+// and delete().
+
+public class StringBuffer_1
+{
+ public static void main(String args[])
+ {
+ StringBuffer sb = new StringBuffer("45");
+ sb.insert(0, "123");
+ sb.append("89");
+ sb.insert(5, "6");
+ sb.insert(6, '7');
+ System.out.println (sb);
+
+ sb.delete (3, 99);
+
+ String foo = sb.toString();
+
+ System.out.println (foo);
+ sb.reverse();
+ System.out.println (foo);
+
+ System.out.println (sb);
+ sb = new StringBuffer("1234");
+ System.out.println(sb.reverse());
+
+ sb = new StringBuffer("123456789");
+ sb.append ("0");
+ System.out.println(sb);
+
+ sb.replace (2, 99, "foo");
+ System.out.println (sb);
+
+ sb = new StringBuffer("123456789");
+ sb.replace (1, 1, "XX");
+ System.out.println (sb);
+
+ sb = new StringBuffer("123456789");
+ sb.replace (0, 2, "XX");
+ System.out.println (sb);
+
+ sb = new StringBuffer("123456789");
+ sb.replace (5, 9, "54321");
+ System.out.println (sb);
+
+ sb = new StringBuffer("123456789");
+
+ sb.delete (1,4);
+ System.out.println (sb);
+
+ // Test bounds checks
+ try
+ {
+ sb.insert (-2, "x");
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.insert (96, "x");
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.delete (-2, 2);
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.delete (96, 418);
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.delete (4, 2);
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.replace (-2, 2, "54321");
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.replace (4, 2, "54321");
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+
+ try
+ {
+ sb.replace (12, 18, "54321");
+ }
+ catch (StringIndexOutOfBoundsException x)
+ {
+ System.out.println (x.getClass());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+123456789
+123
+123
+321
+4321
+1234567890
+12foo
+1XX23456789
+XX3456789
+1234554321
+156789
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
+class java.lang.StringIndexOutOfBoundsException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* This tests some corner cases of arithmetic in StringBuffer. */
+
+/* These tests can all be run on a 32 bit machine with modest amounts
+ * of memory. */
+
+/* The symptom of the problem is that ArrayIndexOutOfBoundsException
+ * gets thrown, while the documentation says that
+ * StringIndexOutOfBoundsException should be thrown. */
+
+class StringBuffer_overflow
+{
+ /* Test correct exception on getChars. */
+ static void getChars()
+ {
+ StringBuffer b = new StringBuffer ("x");
+ char[] s = new char [1];
+ try
+ {
+ // The substring we are attempting to obtain is invalid,
+ // so we should get a StringIndexOutOfBoundsException.
+ b.getChars (1, -1 << 31, s, 0);
+ Fail ("getChars", "no exception");
+ }
+ catch (Throwable e)
+ {
+ ExpectStringIndex ("getChars()", e);
+ }
+ }
+
+ /* Test correct exception on append with bogus count. */
+ static void append()
+ {
+ StringBuffer s = new StringBuffer("a");
+ try
+ {
+ s.append ("".toCharArray(), 1, (1<<31)-1);
+ Fail ("append", "no exception");
+ }
+ catch (Throwable e)
+ {
+ ExpectStringIndex ("append", e);
+ }
+ }
+
+ // Check that append still more or less works.
+ static void appendbasic()
+ {
+ StringBuffer s = new StringBuffer();
+
+ try
+ {
+ if (!new StringBuffer().append ("abcdefg".toCharArray())
+ .toString().equals ("abcdefg"))
+ {
+ Fail ("appendbasic", "append gives incorrect result");
+ }
+ }
+ catch (Throwable e)
+ {
+ Fail ("appendbasic", e);
+ }
+ }
+
+ /* Test correct expception on substring with bogus indexes. */
+ static void substring()
+ {
+ StringBuffer s = new StringBuffer ("abc");
+ try
+ {
+ // end - begin == -2 - ((1<<31)-1) == (1<<31) - 1 > 0. */
+ s.substring ((1<<31)-1, -2);
+ Fail ("substring", "no exception");
+ }
+ catch (Throwable e)
+ {
+ ExpectStringIndex ("substring", e);
+ }
+ }
+
+ static void insert()
+ {
+ StringBuffer s = new StringBuffer ("");
+ try
+ {
+ s.insert (0, "abcd".toCharArray(), (1<<31)-1, 1);
+ Fail ("insert", "no exception");
+ }
+ catch (Throwable e)
+ {
+ ExpectStringIndex ("insert", e);
+ }
+ }
+
+
+ public static void main (String[] unused)
+ {
+ getChars();
+ append();
+ appendbasic();
+ substring();
+ insert();
+
+ if (tests_failed == 0)
+ {
+ System.out.println ("ok");
+ }
+ }
+
+ static int tests_failed = 0;
+
+ static void ExpectStringIndex (String name, Throwable exception)
+ {
+ if (! (exception instanceof StringIndexOutOfBoundsException))
+ {
+ Fail (name, exception);
+ }
+ }
+ static void Fail (String name, Object why)
+ {
+ ++tests_failed;
+
+ System.err.print (name);
+ System.err.print ('\t');
+ System.err.println (why);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/StringBuffer_overflow.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,140 @@
+class String_overflow
+{
+ static void getChars()
+ {
+ String source = "abcdefg";
+ char[] dest = new char [3];
+
+ try
+ {
+ source.getChars (0, 5, // Source
+ dest, (1<<31) - 1);
+ Fail ("getChars", "Should not have succeeded");
+ }
+ catch (Throwable e)
+ {
+ ExpectArrayIndex ("getChars", e);
+ }
+ }
+
+ /* How do I stop a compiler warning causing a test to fail?
+ static void getBytes()
+ {
+ String source = "abcdefg";
+ byte[] dest = new byte[3];
+
+ try
+ {
+ source.getBytes (0, 5, dest, (1<<31) - 1);
+ Fail ("getBytes", "Should not have succeeded");
+ }
+ catch (Throwable e)
+ {
+ ExpectArrayIndex ("getBytes", e);
+ }
+ }
+ */
+
+ static void regionMatches()
+ {
+ if ("abcdefg".regionMatches (4, "abcdefg", 4, -1))
+ {
+ Fail ("regionMatches", "Should not return true");
+ }
+
+ try
+ {
+ if ("abcdefg".regionMatches (4, "abcdefg", 4, (1<<31)-1))
+ {
+ Fail ("regionMatches (2nd)", "Should not return true");
+ }
+ }
+ catch (Throwable e)
+ {
+ Fail ("regionMatches (2nd)", e);
+ }
+ }
+
+ static void regionMatchesCase()
+ {
+ if ("abcdefg".regionMatches (true, 4, "abcdefg", 4, -1))
+ {
+ Fail ("regionMatchesCase", "Should not return true");
+ }
+
+ try
+ {
+ if ("abcdefg".regionMatches (true, 4, "abcdefg", 4, (1<<31)-1))
+ {
+ Fail ("regionMatchesCase (2nd)", "Should not return true");
+ }
+ }
+ catch (Throwable e)
+ {
+ Fail ("regionMatchesCase (2nd)", e);
+ }
+ }
+
+ static void startsWith()
+ {
+ // We make the arg pretty big to try and cause a segfault.
+ String s = new String ("abcdef");
+ StringBuffer b = new StringBuffer (1000000);
+ b.setLength (1000000);
+ String arg = new String (b);
+
+ try
+ {
+ s.startsWith (arg, (1<<31) - 1000000);
+ }
+ catch (Throwable e)
+ {
+ Fail ("startsWith", e);
+ }
+ }
+
+ static void valueOf()
+ {
+ char[] array = new char[] {'a', 'b', 'c', 'd', 'e'};
+ try
+ {
+ String.valueOf (array, 4, (1<<31)-1);
+ Fail ("valueOf", "should not succeed");
+ }
+ catch (Throwable e)
+ {
+ ExpectArrayIndex ("valueOf", e);
+ }
+ }
+
+ public static void main (String[] args) throws Throwable
+ {
+ getChars();
+ // getBytes();
+ regionMatches();
+ regionMatchesCase();
+ startsWith();
+ valueOf();
+
+ if (tests_failed == 0)
+ System.out.println ("ok");
+ }
+
+ static void ExpectArrayIndex (String test, Throwable e)
+ {
+ if (e instanceof ArrayIndexOutOfBoundsException)
+ return;
+
+ Fail (test, e);
+ }
+
+ static void Fail (String test, Object problem)
+ {
+ ++tests_failed;
+ System.err.print (test);
+ System.err.print ('\t');
+ System.err.println (problem);
+ }
+
+ static int tests_failed;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/String_overflow.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+// Test suitability of alignment of statically-allocated Objects.
+class SyncGlobal
+{
+ private static final byte[] global_1 = { 1 };
+ private static final byte[] global_2 = { 2, 3 };
+ private static final byte[] global_3 = { 4, 5, 6 };
+ private static final byte[] global_4 = { 7, 8, 9, 10 };
+ private static final byte[] global_5 = { 11, 12, 13, 14, 15 };
+ private static final byte[] global_6 = { 16, 17, 18, 19, 20, 21 };
+ private static final byte[] global_7 = { 22, 23, 24, 25, 26, 27, 28 };
+ private static final byte[] global_8 = { 29, 30, 31, 32, 33, 34, 35, 36 };
+
+ public static void main (String args[])
+ {
+ synchronized (global_1) { System.out.println ("PASS1"); }
+ synchronized (global_2) { System.out.println ("PASS2"); }
+ synchronized (global_3) { System.out.println ("PASS3"); }
+ synchronized (global_4) { System.out.println ("PASS4"); }
+ synchronized (global_5) { System.out.println ("PASS5"); }
+ synchronized (global_6) { System.out.println ("PASS6"); }
+ synchronized (global_7) { System.out.println ("PASS7"); }
+ synchronized (global_8) { System.out.println ("PASS8"); }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncGlobal.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+PASS1
+PASS2
+PASS3
+PASS4
+PASS5
+PASS6
+PASS7
+PASS8
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+// Test atomic increment via synchronized blocks.
+public class SyncTest implements Runnable {
+ static int counter;
+
+ public void run() {
+ // We cache the .class value; otherwise this code is
+ // slow enough that it will time out in some situations.
+ Object lock = SyncTest.class;
+ for (int n = 0; n < 1000000; n++)
+ synchronized (lock) {
+ counter++;
+ }
+ }
+
+ public static void main(String[] args) {
+ SyncTest test = new SyncTest();
+ Thread[] thr = new Thread[4];
+
+ for (int n = 0; n < thr.length; n++) {
+ thr[n] = new Thread(test);
+ thr[n].start();
+ }
+
+ for (int n = 0; n < thr.length; n++) {
+ try {
+ thr[n].join();
+ } catch (InterruptedException ex) {
+ }
+ }
+
+ System.out.println(counter == 1000000 * thr.length ?
+ "ok" : "fail: " + counter);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/SyncTest.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+public class Synch
+{
+ public synchronized void s()
+ {
+ // This call to notify() isn't supposed to cause a
+ // java.lang.IllegalMonitorStateException.
+ notify ();
+ }
+
+ public static void main (String[] args)
+ {
+ (new Synch()).s();
+ System.out.println ("Ok");
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Synch.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,60 @@
+class TLtest extends Thread {
+
+ public static void main (String [] args) {
+ Data d = new Data ();
+ new ThreadTest (d, "A").start ();
+ new ThreadTest (d, "B").start ();
+ }
+}
+
+class Data {
+
+ private static ThreadLocal owner = new ThreadLocal () {
+ public Object initialValue () { return ("0"); }
+ };
+ /* A thread will call `set' to set a value it wants an instance
+ of Data to associate with it and only it. */
+ synchronized public void set (String v){owner.set (v);}
+ /* A thread will call `get' to get a value it wants an instance
+ of Data to associate with it and only it. */
+ synchronized public String get (){return (String)owner.get();}
+}
+
+class ThreadTest extends Thread {
+
+ public Data d;
+
+ ThreadTest (Data d, String name) {
+ super (name);
+ this.d = d;
+ }
+
+ public void run () {
+
+ int value = 0;
+ int ref = 0;
+
+ for (int i = 0; i < 20; i++) {
+
+ int rand = (int)(Math.random ()*20);
+
+ /* Read `value', ref is kept for comparison */
+ value = Integer.parseInt (d.get());
+
+ /* change `value' and ref by a random number, store `value'. */
+ value += rand; ref += rand;
+ d.set (Integer.toString (value));
+
+ try {
+ sleep((int)((Math.random() * 20)));
+ } catch (InterruptedException e) {}
+ }
+
+ /* If a thread didn't have private value to attach to the
+ instance of Data, results wouldn't be the same */
+ if (ref == value)
+ System.out.println ("test OK.");
+ else
+ System.out.println ("test failed.");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+test OK.
+test OK.
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TLtest.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+import java.lang.reflect.*;
+import java.net.*;
+
+public class TestProxy
+{
+ public static class MyInvocationHandler implements InvocationHandler
+ {
+ public Object invoke (Object proxy,
+ Method method,
+ Object[] args)
+ throws Throwable
+ {
+ System.out.println (args[0]);
+ return null;
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ try {
+ InvocationHandler ih = new MyInvocationHandler();
+
+ SocketOptions c = (SocketOptions)
+ Proxy.newProxyInstance (SocketOptions.class.getClassLoader(),
+ new Class[]{SocketOptions.class},
+ ih);
+
+ c.getOption (555);
+
+ } catch (Exception e) {
+ e.printStackTrace ();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/TestProxy.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+555
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,46 @@
+// Test the status of the isAlive() flag before, during, and after thread
+// execution. Check that thread's threadgroup is null after thread exits.
+
+public class Thread_Alive implements Runnable
+{
+ public static void main(String args[]) throws InterruptedException
+ {
+ Thread_Alive ta = new Thread_Alive();
+ Thread t = new Thread(ta);
+ System.out.println(t.isAlive());
+ t.start();
+ System.out.println(t.isAlive());
+
+ Thread.sleep(50);
+
+ synchronized (ta)
+ {
+ ta.notifyAll();
+ }
+
+ t.join();
+ System.out.println(t.isAlive());
+
+ try
+ {
+ t.start();
+ System.out.println("Error: dead thread can be restarted.");
+ }
+ catch (IllegalThreadStateException x)
+ {
+ System.out.println ("ok");
+ }
+
+ System.out.println(t.getThreadGroup());
+ }
+
+ public synchronized void run()
+ {
+ try
+ {
+ wait();
+ }
+ catch (InterruptedException x) {}
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+false
+true
+false
+ok
+null
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Alive.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Test that Thread.holdsLock() works.
+
+class Lock {}
+
+public class Thread_HoldsLock
+{
+ static Lock lock = new Lock();
+
+ public static void main(String args[]) throws InterruptedException
+ {
+ Thread_HoldsLock thl = new Thread_HoldsLock();
+
+ thl.check();
+ synchronized (lock)
+ {
+ thl.check();
+ }
+ thl.check();
+ }
+
+ public void check()
+ {
+ Thread this_thread = Thread.currentThread();
+ System.out.println(this_thread.holdsLock(lock));
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_HoldsLock.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+false
+true
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,156 @@
+// Test interrupt() behaviour on a thread in wait(), sleep(), and spinning
+// in a loop.
+
+class ThreadBase extends Thread
+{
+ boolean ready = false;
+
+ synchronized void ready()
+ {
+ ready = true;
+ }
+}
+
+class Waiter extends ThreadBase
+{
+ public synchronized void run()
+ {
+ super.ready();
+ System.out.println ("wait()");
+ try
+ {
+ wait();
+ System.out.println("Error: wait() completed normally.");
+ }
+ catch (InterruptedException x)
+ {
+ if (isInterrupted() || interrupted())
+ System.out.println("Error: interrupt flag is still set.");
+
+ }
+ System.out.println("interrupted - ok");
+ }
+}
+
+class Sleeper extends ThreadBase
+{
+ public void run()
+ {
+ super.ready();
+ System.out.println ("sleep()");
+ try
+ {
+ sleep(5000);
+ System.out.println("Error: sleep() completed normally.");
+ }
+ catch (InterruptedException x)
+ {
+ if (isInterrupted() || interrupted())
+ System.out.println("Error: interrupt flag is still set.");
+
+ System.out.println("interrupted - ok");
+ }
+ }
+}
+
+class Looper extends ThreadBase
+{
+ public void run()
+ {
+ super.ready();
+ System.out.println ("Busy waiting");
+
+ int count = 0;
+ long start = System.currentTimeMillis();
+ while (true)
+ {
+ Thread.yield();
+ if (isInterrupted ())
+ break;
+ long now = System.currentTimeMillis();
+ if ((now - start) > 5000)
+ break;
+ }
+ synchronized (this)
+ {
+ if (interrupted ())
+ {
+ System.out.println ("interrupted - ok");
+ if (isInterrupted () || interrupted ())
+ System.out.println("Error: interrupt flag is still set.");
+ }
+ else
+ System.out.println ("Error: Busy wait was not interrupted.");
+ }
+ }
+}
+
+class Joiner extends ThreadBase
+{
+ public void run()
+ {
+ super.ready();
+ System.out.println("join()");
+ try
+ {
+ join(2000);
+ System.out.println("Error: join() completed normally??!");
+ }
+ catch (InterruptedException x)
+ {
+ if (isInterrupted() || interrupted())
+ System.out.println("Error: interrupt flag is still set.");
+
+ System.out.println("interrupted - ok");
+ }
+
+ }
+}
+
+public class Thread_Interrupt
+{
+ public static void main(String args[])
+ {
+ Waiter w = new Waiter();
+ w.start ();
+ sleep_and_interrupt (w);
+
+ Sleeper s = new Sleeper();
+ s.start ();
+ sleep_and_interrupt (s);
+
+ Looper l = new Looper ();
+ l.start ();
+ sleep_and_interrupt (l);
+
+ Joiner j = new Joiner ();
+ j.start ();
+ sleep_and_interrupt (j);
+ }
+
+ public static void sleep_and_interrupt(ThreadBase t)
+ {
+ try
+ {
+ synchronized (t)
+ {
+ while (!t.ready)
+ t.wait(10);
+ }
+
+ Thread.sleep (50);
+ t.interrupt ();
+ long t1 = System.currentTimeMillis();
+ t.join (5000);
+ long time = System.currentTimeMillis() - t1;
+ if (time > 2900)
+ {
+ System.out.println ("Error: join() from main thread timed out");
+ }
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("Error: main thread interrupted.");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+wait()
+interrupted - ok
+sleep()
+interrupted - ok
+Busy waiting
+interrupted - ok
+join()
+interrupted - ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Interrupt.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,67 @@
+// Many threads join a single thread.
+
+class Sleeper implements Runnable
+{
+ int num = -1;
+
+ public Sleeper(int num)
+ {
+ this.num = num;
+ }
+
+ public void run()
+ {
+ System.out.println("sleeping");
+ try
+ {
+ Thread.sleep(500);
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("sleep() interrupted");
+ }
+ System.out.println("done");
+ }
+}
+
+class Joiner implements Runnable
+{
+ Thread join_target;
+
+ public Joiner(Thread t)
+ {
+ this.join_target = t;
+ }
+
+ public void run()
+ {
+ try
+ {
+ long start = System.currentTimeMillis();
+ join_target.join(2000);
+ if ((System.currentTimeMillis() - start) > 1900)
+ System.out.println("Error: Join timed out");
+ else
+ System.out.println("ok");
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("join() interrupted");
+ }
+ }
+
+}
+
+public class Thread_Join
+{
+ public static void main(String[] args)
+ {
+ Thread primary = new Thread(new Sleeper(1));
+ primary.start();
+ for (int i=0; i < 10; i++)
+ {
+ Thread t = new Thread(new Joiner(primary));
+ t.start();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+sleeping
+done
+ok
+ok
+ok
+ok
+ok
+ok
+ok
+ok
+ok
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Join.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,64 @@
+// Test that monitor locks work and are recursive.
+
+class T implements Runnable
+{
+ public int count = 0;
+ Counter c;
+
+ public T (Counter c)
+ {
+ this.c = c;
+ }
+
+ public void run()
+ {
+ while (true)
+ {
+ // NOTE: double-synchronization here.
+ synchronized (c)
+ {
+ if (c.getCount() <= 100000)
+ count++;
+ else
+ break;
+ }
+ }
+ }
+}
+
+class Counter
+{
+ int i = 0;
+ public synchronized int getCount ()
+ {
+ return ++i;
+ }
+}
+
+public class Thread_Monitor
+{
+ public static void main(String args[])
+ {
+ Counter c = new Counter();
+ T t1 = new T(c);
+ T t2 = new T(c);
+
+ Thread th1 = new Thread(t1);
+ Thread th2 = new Thread(t2);
+ th1.start();
+ th2.start();
+ try
+ {
+ th1.join();
+ th2.join();
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("failed: Interrupted");
+ }
+ if (t1.count + t2.count == 100000)
+ System.out.println ("ok");
+ else
+ System.out.println ("failed: total count incorrect");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Monitor.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+// Test that Thread.sleep() works.
+
+public class Thread_Sleep
+{
+ public static void main(String args[])
+ {
+ try
+ {
+ long start = System.currentTimeMillis();
+ System.out.println("sleeping");
+ Thread.sleep(50);
+ long end = System.currentTimeMillis();
+ if ((end - start) < 50)
+ System.out.println ("failed");
+ else
+ System.out.println("ok");
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("error: Thread interrupted.");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+sleeping
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+// Test that Thread.sleep() is accurate
+// and that nanoTime actually measures in nanoseconds.
+
+public class Thread_Sleep_2
+{
+ public static void main(String args[])
+ {
+ try
+ {
+ boolean ok = true;
+ for (int i = 0; i < 100; i++)
+ {
+ long start = System.nanoTime();
+ Thread.sleep(10);
+ long end = System.nanoTime();
+ if ((end - start) < 10000000)
+ {
+ System.out.print ("failed, iteration ");
+ System.out.print (i);
+ System.out.print (", time ");
+ System.out.print (end - start);
+ System.out.println ("ns");
+ ok = false;
+ }
+ }
+ if (ok)
+ System.out.println ("ok");
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println("error: Thread interrupted.");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Sleep_2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,48 @@
+// Test basic thread creation and wait/notify functionality.
+
+public class Thread_Wait implements Runnable
+{
+ public static void main(String args[])
+ {
+ new Thread_Wait();
+ }
+
+ public Thread_Wait()
+ {
+ System.out.println("creating thread");
+ Thread t = new Thread(this);
+ t.start();
+
+ try
+ {
+ Thread.sleep(100);
+ }
+ catch (Exception x)
+ {
+ System.out.println("exception occurred: " + x);
+ }
+
+ synchronized (this)
+ {
+ System.out.println("notifying other thread");
+ notify();
+ }
+ }
+
+ public void run()
+ {
+ System.out.println ("new thread running");
+ synchronized (this)
+ {
+ try
+ {
+ wait();
+ }
+ catch (Exception x)
+ {
+ System.out.println("exception occurred: " + x);
+ }
+ }
+ System.out.println ("thread notified okay");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+creating thread
+new thread running
+notifying other thread
+thread notified okay
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,143 @@
+// Create many threads waiting on a monitor. Interrupt some of them. Do the
+// others wake up correctly with notify() and/or notifyAll()?
+
+import java.util.Vector;
+
+class Waiter extends Thread
+{
+ Object monitor;
+ int thread_num;
+ boolean interrupted = false;
+ boolean notified = false;
+
+ Waiter (Object monitor, int thread_num)
+ {
+ this.monitor = monitor;
+ this.thread_num = thread_num;
+ }
+
+ public void run()
+ {
+ synchronized (monitor)
+ {
+ try
+ {
+ monitor.wait();
+ notified = true;
+ }
+ catch (InterruptedException x)
+ {
+ interrupted = true;
+ }
+ }
+
+ }
+}
+
+public class Thread_Wait_2
+{
+ static Vector threads;
+ static Object monitor = new Object();
+
+ static final int NUM_THREADS = 10;
+
+ public static void main(String args[])
+ {
+
+
+ try
+ {
+ makeThreads ();
+
+ Thread.sleep(250);
+
+ // Interrupt a few threads...
+ Waiter i1 = (Waiter) threads.elementAt(3);
+ Waiter i2 = (Waiter) threads.elementAt(4);
+ Waiter i3 = (Waiter) threads.elementAt(9);
+ i1.interrupt();
+ i2.interrupt();
+ i3.interrupt();
+
+ // Call notify the exact number of times required to wake the remaining
+ // threads.
+ synchronized (monitor)
+ {
+ for (int i=0; i < NUM_THREADS -3 ; i++)
+ {
+ monitor.notify ();
+ }
+ }
+
+ joinAll();
+ printStatus();
+
+ // Repeat all the above, but use notifyAll() instead.
+ makeThreads();
+
+ Thread.sleep(250);
+
+ // Interrupt a few threads...
+ i1 = (Waiter) threads.elementAt(0);
+ i2 = (Waiter) threads.elementAt(1);
+ i3 = (Waiter) threads.elementAt(9);
+ i1.interrupt();
+ i2.interrupt();
+ i3.interrupt();
+
+ // Call notifyAll to wake the remaining threads.
+ synchronized (monitor)
+ {
+ monitor.notifyAll ();
+ }
+
+ joinAll();
+ printStatus();
+
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println (x);
+ }
+
+
+ }
+
+ static void makeThreads()
+ {
+ threads = new Vector(NUM_THREADS);
+
+ for (int i=0; i < NUM_THREADS; i++)
+ {
+ Waiter w = new Waiter(monitor, i);
+ w.start();
+ threads.addElement(w);
+ }
+ }
+
+ static void joinAll()
+ {
+ try
+ {
+ for (int i=0; i < threads.size(); i++)
+ {
+ Thread t = (Thread) threads.elementAt(i);
+ t.join();
+ }
+ }
+ catch (InterruptedException x) {}
+ }
+
+ static void printStatus()
+ {
+ for (int i=0; i < threads.size(); i++)
+ {
+ Waiter w = (Waiter) threads.elementAt(i);
+ if (w.interrupted)
+ System.out.println (i + " interrupted.");
+ if (w.notified)
+ System.out.println (i + " notified.");
+ }
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+0 notified.
+1 notified.
+2 notified.
+3 interrupted.
+4 interrupted.
+5 notified.
+6 notified.
+7 notified.
+8 notified.
+9 interrupted.
+0 interrupted.
+1 interrupted.
+2 notified.
+3 notified.
+4 notified.
+5 notified.
+6 notified.
+7 notified.
+8 notified.
+9 interrupted.
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_2.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,75 @@
+// Create two threads waiting on a monitor. Interrupt one of them. Does the
+// other wake up correctly?
+
+class Waiter extends Thread
+{
+ Object monitor;
+ int thread_num;
+ boolean interrupted = false;
+ boolean notified = false;
+
+ Waiter (Object monitor, int thread_num)
+ {
+ this.monitor = monitor;
+ this.thread_num = thread_num;
+ }
+
+ public void run()
+ {
+ synchronized (monitor)
+ {
+ System.out.println ("Thread waiting.");
+ try
+ {
+ long start = System.currentTimeMillis();
+ monitor.wait(1000);
+ long time = System.currentTimeMillis() - start;
+ if (time > 990)
+ System.out.println ("Error: wait on thread " + thread_num
+ + " timed out.");
+ else
+ notified = true;
+ }
+ catch (InterruptedException x)
+ {
+ interrupted = true;
+ }
+ }
+
+ }
+}
+
+public class Thread_Wait_Interrupt
+{
+ public static void main(String args[])
+ {
+ Object monitor = new Object();
+ Waiter w1 = new Waiter(monitor, 1);
+ Waiter w2 = new Waiter(monitor, 2);
+ w1.start();
+ w2.start();
+ try
+ {
+ Thread.sleep(250);
+
+ synchronized (monitor)
+ {
+ w1.interrupt();
+ monitor.notify();
+ }
+
+ w1.join();
+ w2.join();
+ System.out.println("join ok");
+ System.out.println("Thread 1 " +
+ (w1.interrupted ? "interrupted ok" : "error"));
+ System.out.println("Thread 2 " +
+ (w2.notified ? "notified ok" : "error"));
+
+ }
+ catch (InterruptedException x)
+ {
+ System.out.println (x);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+Thread waiting.
+Thread waiting.
+join ok
+Thread 1 interrupted ok
+Thread 2 notified ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Thread_Wait_Interrupt.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+need-threads
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Some tests of `throw'.
+
+public class Throw_1
+{
+ public static Throwable get ()
+ {
+ return null;
+ }
+
+ public static void main (String[] args)
+ {
+ Throwable t = get ();
+ try
+ {
+ throw t;
+ }
+ catch (NullPointerException y)
+ {
+ }
+ catch (Throwable x)
+ {
+ System.out.println ("no");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_1.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,59 @@
+// Check that NullPointerExceptions thrown from library code are
+// caught. This detects a number of failures that can be caused by
+// libgcj being built incorrectly. In particular, we ensure that a
+// SEGV in native (i.e. C++) code in libgcj is handled correctly.
+
+// Regrettably, we cannot guarantee that Double.parseDouble() will
+// always be native code, or that it will never be inlined. It could
+// be argued that we should add a method to libgcj that will be
+// guaranteed forever to be native, but I'm reluctant to add to the
+// library for the sole purpose of performing this test.
+
+public class Throw_2
+{
+ public static Throwable obj()
+ {
+ return null;
+ }
+
+ public static String str()
+ {
+ return null;
+ }
+
+ static double d;
+
+ public static void main (String[] args)
+ {
+ // This NullPointerException will, at the time of writing, be
+ // thrown from Java code in libgcj.
+ try
+ {
+ java.util.Vector v = new java.util.Vector (null);
+ System.out.println ("fail: no exception thrown");
+ }
+ catch (NullPointerException _)
+ {
+ System.out.println ("1");
+ }
+ catch (Throwable _)
+ {
+ System.out.println ("fail: " + _);
+ }
+ // This one will, at the time of writing, be thrown from C++
+ // code in libgcj.
+ try
+ {
+ d = Double.parseDouble(str());
+ System.out.println ("fail: no exception thrown");
+ }
+ catch (NullPointerException _)
+ {
+ System.out.println ("2");
+ }
+ catch (Throwable _)
+ {
+ System.out.println ("fail: " + _);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/Throw_2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+1
+2
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+// Class anfi
+// Generated on Sat Jan 29 16:06:33 PST 2000
+// Anonymous with access to outer context locals
+
+class anfi {
+
+ itf foo (final String s, final int i) {
+ return new itf () {
+ String buff = s+" "+i;
+ public void setString (String s) { buff = s+" "+i; }
+ public String getString () { return buff; }
+ };
+ }
+
+ void test () {
+ itf x = foo ("Hello", 123);
+ System.out.println (x.getString ());
+ x.setString ("Frinkahedron");
+ System.out.println (x.getString ());
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `anfi'...");
+ new anfi().test();
+ }
+}
+
+interface itf {
+ void setString (String s);
+ String getString();
+ String buff = null;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anfi.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `anfi'...
+Hello 123
+Frinkahedron 123
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,52 @@
+// Class anon
+// Generated on Wed Dec 29 10:07:09 PST 1999
+//
+
+
+interface itf {int count = 0;void setCount (int i);int getCount ();}
+
+class anon {
+
+ int count = 34;
+
+ class x implements itf {
+ int count = 3;
+ public void setCount (int j) { }
+ public int getCount () { return count*3; }
+ }
+
+
+ itf foo () {
+ class y implements itf {
+ int count = 3;
+ public void setCount (int j) { count = j; }
+ public int getCount () { return count+1; }
+ }
+ return new y ();
+ }
+
+ itf bar () {
+ return new itf () {
+ // The class defined right here will implement `itf'
+ int count = 5;
+ public void setCount (int j) { count = j; }
+ public int getCount () { return count+1; }
+ } ;
+ }
+
+ void test () {
+ itf a = foo ();
+ itf b = bar ();
+ x c = this.new x ();
+ System.out.println (a.getCount ());
+ System.out.println (b.getCount ());
+ System.out.println (c.getCount ());
+ System.out.println (this.count);
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `anon'...");
+ new anon ().test ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+Testing class `anon'...
+4
+6
+9
+34
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,50 @@
+// Class anon2
+// Generated on Wed Dec 29 10:07:09 PST 1999
+//
+
+
+class anon2 {
+
+ int count = 34;
+ int field;
+
+ anon2 () { System.out.println ("anon2()"); }
+
+ anon2 (foobar x) {
+ System.out.println ("Yikes!"+x.zoink());
+ }
+
+ anon2 foo () {
+ class y extends anon2 {
+ int count = 3;
+ public void setCount (int j) { count = j; }
+ public int getCount () { return count+1; }
+ y (int i) { System.out.println ("y(int)"); }
+ }
+ return new y (3);
+ }
+
+ anon2 bar () {
+ foobar xyz = new foobar ();
+ return new anon2 (xyz) {
+ int count = 5;
+ public void setCount (int j) { field = 3; count = j; }
+ public int getCount () { return count+1; }
+ } ;
+ }
+
+ void test () {
+ anon2 b = bar ();
+ anon2 c = foo ();
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `anon2'...");
+ new anon2 ().test ();
+ }
+}
+
+class foobar {
+ public String zoink() { return " zoinked"; }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+Testing class `anon2'...
+anon2()
+Yikes! zoinked
+anon2()
+y(int)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Class anon3
+// Generated on Wed Dec 29 10:07:09 PST 1999
+//
+
+
+class anon3 {
+
+ itf bar () {
+ return new itf () {
+ int count = 5;
+ public void setCount (int j) { count = 3; }
+ public int getCount () { return count; }
+ } ;
+ }
+
+ void test () {
+ itf x = bar ();
+ System.out.println (x.getCount ());
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `anon3'...");
+ new anon3 ().test ();
+ }
+}
+
+interface itf { void setCount (int j); int getCount(); int count = 0; }
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `anon3'...
+5
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,30 @@
+// Class anon4
+// Generated on Wed Dec 29 10:07:09 PST 1999
+//
+
+
+class anon4 {
+
+ private int field = 3;
+
+ itf bar () {
+ return new itf () {
+ int count = 5;
+ public void setCount (int j) { count = 3+field; }
+ public int getCount () { return count+field; }
+ } ;
+ }
+
+ void test () {
+ itf x = bar ();
+ System.out.println (x.getCount ());
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `anon4'...");
+ new anon4 ().test ();
+ }
+}
+
+interface itf { void setCount (int j); int getCount(); int count = 0; }
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon4.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `anon4'...
+8
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,38 @@
+/* From java/3285, By p.thio at valescom.com */
+
+interface I
+{
+ void print ();
+};
+
+class C1
+implements I
+{
+ public void print () { System.out.println ("C1: Message"); }
+}
+
+abstract
+class C2
+{
+ C2(I i)
+ {
+ i.print ();
+ }
+ abstract void h();
+}
+
+public
+class anon_ctor_itf_arg
+{
+ public static
+ void main(String argv[])
+ {
+ C1 c1 = new C1();
+ new C2(c1)
+ {
+ void h()
+ {
+ }
+ };
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anon_ctor_itf_arg.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+C1: Message
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// Class anonarray
+// Generated on Tue Feb 1 16:11:29 PST 2000
+// Simple anonymous array, of primitive types.
+
+class anonarray {
+
+ static void foo (int [][] x) {
+ for (int i = 0; i < x.length; i++)
+ {
+ for (int j = 0; j < x[i].length; j++)
+ System.out.print (x[i][j]);
+ System.out.println();
+ }
+ }
+
+ public static void main (String[] arg)
+ {
+ foo (new int[][] {{2,3},{5,7}});
+ System.out.println ((new int [][] {{11,13},{17,19}}).length);
+ System.out.println ((new int [][] {{23,29},{31,37}})[0][1]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+23
+57
+2
+29
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// Class anonarray2
+// Generated on Tue Feb 1 21:14:06 PST 2000
+// Anonymous array, with a non primitive type.
+
+class anonarray2 {
+
+ static void foo (String [][] x) {
+ for (int i = 0; i < x.length; i++)
+ {
+ for (int j = 0; j < x[i].length; j++)
+ System.out.print (x[i][j]);
+ System.out.println();
+ }
+ }
+
+ public static void main (String[] arg)
+ {
+ foo (new String[][] {{"2","3"},{"5","7"}});
+ System.out.println ((new String [][] {{"11","13"},{"17","19"}}).length);
+ System.out.println ((new String [][] {{"23","29"},{"31","37"}})[0][1]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+23
+57
+2
+29
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+// Class anonarray3
+// Generated on Tue Feb 8 19:18:10 PST 2000
+//
+
+class anonarray3 {
+ private static final int[] foo (int x) {
+ return new int[] { x+1 };
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println (foo (34)[0]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/anonarray3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+35
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+// Test for an array assignment bug we've had.
+
+public class assign
+{
+ public static class base
+ {
+ }
+
+ public static class derived extends base
+ {
+ }
+
+ public static void main(String[] args)
+ {
+ base[][] x1 = new base[3][3];
+ derived[] x2 = new derived[3];
+ x1[0] = x2;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+// Test for an array assignment bug we've had.
+
+public class assign2
+{
+ public static Object[][] c () { return new Long[5][5]; }
+
+ public static Object[] d () { return new Integer[3]; }
+
+ public static void main(String[] args)
+ {
+ try
+ {
+ Object[][] x = c();
+ x[0] = d();
+ }
+ catch (ArrayStoreException _)
+ {
+ System.out.println("good");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/assign2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+good
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+// This tests that a C++ ABI class can derive from a BC ABI class.
+// This can't always work, but if the base class does not change then
+// it will work fine.
+
+import org.xml.sax.*;
+
+public class bclink extends SAXParseException {
+ public bclink() { super ("hi", null); }
+
+ public static void main(String[] args) throws Throwable {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bclink.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+public class bytearray
+{
+ public static void main (String[] argv) throws Throwable {
+ Class c = Class.forName ("[Ljava.lang.String;");
+ c = Class.forName ("[B");
+ System.out.println (c);
+ c = ClassLoader.getSystemClassLoader().loadClass ("[[Ljava.lang.String;");
+ System.out.println (c);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/bytearray.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+class [B
+class [[Ljava.lang.String;
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Class direct_read
+// Generated on Sat Nov 13 23:26:34 UTC 1999
+//
+
+class direct_read {
+
+ int foo;
+
+ class direct_read_inner {
+ void test () {
+ int x = foo;
+ System.out.println ("x="+x);
+ }
+ }
+
+ void foo ()
+ {
+ foo = 670;
+ direct_read_inner inn = this.new direct_read_inner ();
+ inn.test ();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `direct_read'...");
+ new direct_read().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_read.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `direct_read'...
+x=670
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Class direct_write
+// Generated on Mon Nov 15 17:10:56 UTC 1999
+//
+
+class direct_write {
+
+ int foo;
+
+ class direct_write_inner {
+ void test () {
+ foo = 670;
+ }
+ }
+
+ void foo ()
+ {
+ foo = 650;
+ direct_write_inner inn = this.new direct_write_inner ();
+ inn.test ();
+ System.out.println ("foo="+foo);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `direct_write'...");
+ new direct_write().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/direct_write.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `direct_write'...
+foo=670
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+public class emptystring
+{
+ public static void main(String[] args)
+ {
+ System.out.println("null".equals(n(0) + ""));
+ System.out.println("null".equals("" + n(0)));
+ System.out.println("x".equals(n(1) + ""));
+ System.out.println("x".equals("" + n(1)));
+ }
+
+ static String n(int i)
+ {
+ if (i==0) return null; else return "x";
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/emptystring.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+true
+true
+true
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+/*-------------------------------------------------------------------------*/
+/* File name : err1.java */
+/* : */
+/* Cause : When I make class-type Object. */
+/* : */
+/* Message : Internal compiler error: program jc1 got */
+/* : fatal signal 11 */
+/*-------------------------------------------------------------------------*/
+
+class A {
+ int counter = 100;
+}
+
+public class err1 {
+ public static void main(String[] args) {
+ A array[] = new A[10]; //err
+ array[0] = new A();
+
+ if ( array[0].counter == 100 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG:[100]-->[" +array[0].counter+ "]");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err10.java */
+/* : */
+/* Cause : Operator >>> doesn't work correctly when value is negative. */
+/* : */
+/* Message : NG : a = -2 */
+/*--------------------------------------------------------------------------*/
+
+public class err10 {
+ public static void main(String[] args) {
+ int a = -3;
+
+ a = a>>>1;
+
+ if ( a == 2147483646 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG:[2147483646]-->[" +a+ "]");
+ }
+
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err10.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,30 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err11.java */
+/* : */
+/* Cause : If I declare both array which have more than 10 element */
+/* : and switch statement, make error. */
+/* : */
+/* Message : err11.java:1: Missing class name. */
+/* : public class err11 */
+/* : ^ */
+/* : err11.java:1: Class or interface declaration expected. */
+/* : public class err11 */
+/* : ^ */
+/* : 2 errors */
+/*--------------------------------------------------------------------------*/
+
+public class err11
+{
+ public static void main(String args[])
+ {
+ int i;
+ short ary1[] = {12,23,34,45,56,67,78,89,90,111};
+
+ for(i=0; i<10; i++) {
+ switch(ary1[i]) {
+ case 111 : System.out.println("OK");
+ default : break;
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err11.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err12.java */
+/* : */
+/* Cause : Cast negative floating point to char makes error */
+/* : */
+/* Message : Internal compiler error in functi on convert_move */
+/*--------------------------------------------------------------------------*/
+
+public class err12 {
+ public static void main(String[] args){
+ char x1, x2;
+
+ float y = -10000f;
+
+ x1 = (char)y; // err
+ x2 = (char)-10000f; // ok
+
+ if ( x1 == x2 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG");
+ System.out.println("x1:[65520]-->[" +(x1-0)+"]");
+ System.out.println("x2:[65520]-->[" +(x2-0)+"]");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err12.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err13.java */
+/* : */
+/* Cause : Conversion from zero to String type is not correct. */
+/* : */
+/* Message : NG : test */
+/*--------------------------------------------------------------------------*/
+
+public class err13 {
+ public static void main(String[] args) {
+ String s = "test";
+ s += 0;
+
+ if ( s.equals("test0") ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG : " +s);
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err13.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+/* Check for incorrectly aligned byte args. */
+
+public class err14
+{
+ protected final String getClearToolCommand(Object a, Object b,
+ Object c, Object d,
+ int e, int f, boolean x)
+ {
+ return x ? "hi" : "byte";
+ }
+
+
+ public static void main(String[] args)
+ {
+ System.out.println(new err14().getClearToolCommand(null, null,
+ null, null, 0, 0, false));
+ System.out.println(new err14().getClearToolCommand(null, null,
+ null, null, 0, 0, true));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err14.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+byte
+hi
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err2.java */
+/* : */
+/* Cause : Operator "+=" error in char,byte,short type */
+/* : */
+/* Message : err2.java: In class `err2': */
+/* : err2.java: In method `main(java.lang.String[])': */
+/* : err2.java:22: Incompatible type for `='. Explicit cast */
+/* : needed to convert `int' to `byte'. */
+/* : a %= b; */
+/* : ^ */
+/* : 1 error */
+/*--------------------------------------------------------------------------*/
+
+public class err2 {
+ public static void main(String[] args) {
+ byte a = -16;
+ byte b = 10;
+
+ a %= b;
+
+ if ( a == -6 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("a = " +a);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err3.java */
+/* : */
+/* Cause : Evaluation sequence of the formula which used */
+/* : the substitution operator is not performed correctly. */
+/* : */
+/* Message : NG1:[27]-->[9] */
+/* : NG2:[27]-->[9] */
+/* : */
+/* Note : JLS 15.6 Evaluation Order (p305) */
+/* S15.6.1 Evaluate Left-Hand Operand First */
+/* : A formula should be evaluated to 9*3 instead of 3*3. */
+/*--------------------------------------------------------------------------*/
+
+public class err3 {
+ public static void main(String[] args) {
+ int x = 9;
+ x *= (x = 3);
+ if ( x == 27 ) {
+ System.out.println("OK1");
+ } else {
+ System.out.println("NG1:[27]-->["+x+"]");
+ }
+
+ int y = 9;
+ y = y * (y = 3);
+ if ( y == 27 ) {
+ System.out.println("OK2");
+ } else {
+ System.out.println("NG2:[27]-->["+y+"]");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+OK1
+OK2
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+/*--------------------------------------------------------------------------*/
+/* file_name : err4.java */
+/* : */
+/* Cause : Evaluation of the array which used the substitution */
+/* : operator is not performed correctly. */
+/* : */
+/* Message : NG1:[27}-->[9.0] */
+/* : NG1:[27}-->[9.0] */
+/*--------------------------------------------------------------------------*/
+
+public class err4 {
+ public static void main(String[] args) {
+
+ // TEST1
+ float []a = {9f};
+ a[0] *= (a[0] = 3f);
+
+ if ( a[0] == 27 ) {
+ System.out.println("OK1");
+ } else {
+ System.out.println("NG1:[27}-->["+a[0]+"]");
+ }
+
+ //TEST2
+ float [] b = {9f};
+ b[0] = (float)(b[0] * (b[0] = 3f));
+ if ( b[0] == 27 ) {
+ System.out.println("OK1");
+ } else {
+ System.out.println("NG1:[27}-->["+b[0]+"]");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err4.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+OK1
+OK1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+/*--------------------------------------------------------------------------*/
+/* file_name : err5.java */
+/* : */
+/* Cause : Evaluation order of method argument is not correct. */
+/* : */
+/* Message : NG */
+/* : a:[1]-->[2] */
+/* : b:[3]-->[3] */
+/* : c:[2]-->[2] */
+/* : */
+/* Note : JLS 15.6 Evaluation Order */
+/* S15.6.4 Argument Lists are Evaluated Left-to-Right(p309) */
+/* [Each argument expression appears to be fully evaluated */
+/* before any part of any argument expression to its right.] */
+/*--------------------------------------------------------------------------*/
+
+public class err5 {
+ public static void main(String[] args) {
+ int x = 1;
+
+ err5 obj = new err5();
+ obj.print(x, x = 3, x = 2);
+ }
+
+ void print(int a, int b, int c) {
+ if ( a == 1 && b == 3 && c == 2 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG");
+ System.out.println("a:[1]-->["+a+"]");
+ System.out.println("b:[3]-->["+b+"]");
+ System.out.println("c:[2]-->["+c+"]");
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err5.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,26 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err6.java */
+/* : */
+/* Cause : Array evaluation order */
+/* : */
+/* Message : NG:[1]-->[4] */
+/* : */
+/* Note : JLS 15.9 Array Creation Expressions (p315--) */
+/* : p318 line3 */
+/* :[Each dimension expression is fully evaluated */
+/* : before any part of any dimension expression to its right.] */
+/*--------------------------------------------------------------------------*/
+
+public class err6 {
+ public static void main(String[] args) {
+ int[] x = { 10, 11, 12, 1, 14 };
+ int[] y = { 1, 2, 3, 4, 5, 6 };
+
+ if ( x[(x=y)[2]] == 1 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG:[1]-->[" +x[(x=y)[2]]+ "]");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err6.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err7.java */
+/* : */
+/* Cause : When exists both array (more than 10 elements) and */
+/* "for" or "while" or "do while" statement , error. */
+/* : */
+/* Message : /var/tmp/cc1oQM8i.s: Assembler messages: */
+/* : /var/tmp/cc1oQM8i.s:243: Fatal error: Symbol $L2 already def*/
+/* : fined. */
+/*--------------------------------------------------------------------------*/
+
+public class err7 {
+ public static void main(String[] args) {
+ int[] ary = {0,1,2,3,4,5,6,7,8,9};
+
+ while ( true ) {
+ break;
+ }
+
+ System.out.println("OK");
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err7.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err8.java */
+/* : */
+/* Cause : When "do while" statement has only "break", error. */
+/* : */
+/* Message : err8.java: In class `err8': xxxxxx */
+/* : err8.java: In method `main(java.lang.String[])': */
+/* : err8.java:20: Unreachable statement. */
+/* : } while (true) ; */
+/* : ^ */
+/* : 1 error */
+/*--------------------------------------------------------------------------*/
+
+public class err8 {
+ public static void main(String[] args) {
+ do {
+ break;
+ } while (true) ;
+
+ System.out.println("OK");
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err8.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+/*--------------------------------------------------------------------------*/
+/* File name : err9.java */
+/* : */
+/* Cause : When I use "labeled continue" in "for"statement, error */
+/* : */
+/* Message : In class `err9': */
+/* : In method `main(java.lang.String[])': */
+/* : 22: `continue' must be in loop. */
+/* : continue movehere; */
+/* : ^ */
+/* : 1 error */
+/*--------------------------------------------------------------------------*/
+
+public class err9 {
+ public static void main(String[] args) {
+ int y = 0;
+
+ movehere: for ( int x = 0; x < 10; x++ ) {
+ if ( x > 2 ) {
+ continue movehere;
+ }
+ y++;
+ }
+
+ if ( y == 3 ) {
+ System.out.println("OK");
+ } else {
+ System.out.println("NG:[3]-->[" +y+ "]");
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/err9.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+// Class final_inner
+// Generated on Tue Jan 18 13:35:19 PST 2000
+//
+
+class final_inner {
+
+ void foo (final String s, final int i) {
+ class bar {
+ void printI () { System.out.println (s+i); }
+ }
+ new bar ().printI ();
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `final_inner'...");
+ new final_inner ().foo ("The Number ", 666);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_inner.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `final_inner'...
+The Number 666
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// Class final_int
+// Generated on Sat Feb 12 01:27:46 PST 2000
+
+class final_int {
+
+ final int x = 30;
+
+ class foo {
+ int bar () {
+ return x;
+ }
+ }
+ void bar () {
+ int x = this.new foo ().bar ();
+ System.out.println (x);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `final_int'...");
+ new final_int().bar ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_int.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `final_int'...
+30
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,17 @@
+// Class final_static_and_friend
+// Generated on Sat Feb 12 01:58:38 PST 2000
+
+class final_static_and_friend {
+ final int a = 34;
+ static int b = 34;
+ int c = 34;
+ void foo ()
+ {
+ System.out.println (a+b+c);
+ }
+ public static void main (String[] arg)
+ {
+ new final_static_and_friend ().foo ();
+ }
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/final_static_and_friend.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+102
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+// Class indirect
+// Generated on Tue Nov 16 15:53:14 UTC 1999
+// Several indirection to enclosing class
+
+class indirect {
+
+ private int foo;
+
+ class indirect_inner {
+ class other {
+ class inner {
+ void test () {
+ int x = foo;
+ System.out.println ("x="+foo);
+ foo = 671;
+ }
+ }
+ }
+
+ }
+ void foo ()
+ {
+ foo = 670;
+ indirect_inner inn = this.new indirect_inner ();
+ this.new indirect_inner().new other().new inner ().test ();
+ System.out.println ("foo="+foo);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `indirect'...");
+ new indirect().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `indirect'...
+x=670
+foo=671
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+// Class indirect_read
+// Generated on Mon Nov 15 17:20:40 UTC 1999
+//
+
+class indirect_read {
+
+ int foo;
+
+ class indirect_read_inner {
+ void test () {
+ }
+
+ class other {
+ void testx () {
+ int x = foo;
+ System.out.println ("x="+x);
+ }
+ }
+
+ }
+ void foo ()
+ {
+ foo = 670;
+ indirect_read_inner inn = this.new indirect_read_inner ();
+ indirect_read_inner.other o = inn.new other ();
+ o.testx ();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `indirect_read'...");
+ new indirect_read().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_read.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `indirect_read'...
+x=670
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+// Class indirect_write
+// Generated on Tue Nov 16 15:01:24 UTC 1999
+//
+
+class indirect_write {
+
+ int foo;
+
+ class indirect_write_inner {
+ void test () {
+ }
+
+ class other {
+ void testx () {
+ foo = 670;
+ }
+ }
+
+ }
+ void foo ()
+ {
+ indirect_write_inner inn = this.new indirect_write_inner ();
+ indirect_write_inner.other x = inn.new other ();
+ x.testx();
+ System.out.println ("foo="+foo);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `indirect_write'...");
+ new indirect_write().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/indirect_write.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `indirect_write'...
+foo=670
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,37 @@
+public class initexc
+{
+ public static class fail
+ {
+ static
+ {
+ // Static initializers must be able to complete normally.
+ if (true)
+ throw new NullPointerException("nope");
+ }
+
+ public static int val ()
+ {
+ return 23;
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ try
+ {
+ System.out.println (fail.val ());
+ }
+ catch (ExceptionInInitializerError _)
+ {
+ // Ok.
+ }
+ try
+ {
+ System.out.println (fail.val ());
+ }
+ catch (NoClassDefFoundError _)
+ {
+ // Ok.
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initexc.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+// gcj generated buggy code when we reference a field of a
+// non-constant member that we inherit from an interface.
+
+interface iface
+{
+ final value x = new value();
+}
+
+final class value
+{
+ Object field = "maude";
+}
+
+public class initfield implements iface
+{
+ public static void main(String[] args)
+ {
+ System.out.println(x.field);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/initfield.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+maude
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+public class inline
+{
+ static int factorial_1 (int n)
+ {
+ if (n > 0)
+ return n * factorial_1(n-1);
+ return 1;
+ }
+
+ static int factorial_2 (int n)
+ {
+ if (n > 0)
+ return n * factorial_3(n-1);
+ return 1;
+ }
+
+ static int factorial_3 (int n)
+ {
+ if (n > 0)
+ return n * factorial_2(n-1);
+ return 1;
+ }
+
+ public static void main(String args[])
+ {
+ if (factorial_1 (5) != 120)
+ System.out.println("This should not happen");
+ else
+ System.out.println("OK");
+ if (factorial_2 (5) != 120)
+ System.out.println("This should not happen");
+ else
+ System.out.println("OK");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inline.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+OK
+OK
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// Class inner1
+// Generated on Thu Nov 4 16:35:03 PST 1999
+//
+
+class inner1 {
+ int i;
+ void foo () {
+ inner1.z x1 = new z();
+ inner1.z.y x = x1.new y();
+ x.bar ();
+ x.print();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner1'...");
+ new inner1 ().foo();
+ }
+ class z {
+ int j;
+ void foo () {
+ inner1.this.i = 3;
+ }
+ class y {
+ int k;
+ void bar () {
+ inner1.this.i = 3;
+ z.this.j = 4;
+ y.this.k = 34;
+ }
+ void print () {
+ System.out.println ("i="+i+", j="+j+", k="+k);
+ }
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner1.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `inner1'...
+i=3, j=4, k=34
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,18 @@
+// Class inner2
+// Generated on Mon Dec 6 14:32:34 PST 1999
+//
+
+class inner2 {
+ int foo = 1999;
+ void foo ()
+ {
+ inner2.this.foo = 666;
+ System.out.println (inner2.this.foo);
+ }
+ void print () {System.out.println (foo);}
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner2'...");
+ new inner2().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `inner2'...
+666
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,23 @@
+// Class inner3
+// Generated on Tue Dec 7 11:37:43 PST 1999
+//
+
+class inner3 {
+ int bar;
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner3'...");
+ new inner3().bar ();
+ }
+ void bar () {
+ t xx = this.new t ();
+ xx.bar ();
+ }
+ void foo () { bar = 3; }
+ class t {
+ void bar () {
+ inner3.this.foo ();
+ System.out.println (inner3.this.bar);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `inner3'...
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+// Class inner4
+// Generated on Tue Dec 7 11:43:48 PST 1999
+//
+
+class inner4 {
+ static private int xyz () { return 3; }
+ private String f;
+
+ String p () {
+ return "public String p()";
+ }
+
+ private String pp (int x, byte y, char c) {
+ return "private String pp("+x+", "+y+", "+c+")";
+ }
+
+ void foo () {
+ t xxx = this.new t();
+ xxx.bar ();
+ pp (3, (byte)34, 'C');
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner4'...");
+ new inner4().foo();
+ }
+ class t {
+ void bar () {
+ System.out.println (p ());
+ System.out.println (pp (3, (byte)34, 'C'));
+ System.out.println (xyz ());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner4.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+Testing class `inner4'...
+public String p()
+private String pp(3, 34, C)
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,30 @@
+// Class inner_array
+// Generated on Fri Nov 19 13:19:47 PST 1999
+//
+
+class inner_array {
+
+ private int[] foo;
+
+ class array_inner {
+ void test () {
+ int x = foo[2];
+ System.out.println ("x="+x);
+ foo [1] = 34;
+ foo [1]++;
+ }
+ }
+ void foo ()
+ {
+ foo = new int [3];
+ foo[2]=670;
+ array_inner inn = this.new array_inner ();
+ inn.test ();
+ System.out.println ("foo[1]="+foo[1]);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner_array'...");
+ new inner_array().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_array.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `inner_array'...
+x=670
+foo[1]=35
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Class inner_interface
+// Generated on Fri Feb 11 16:29:04 PST 2000
+// Simple inner interface example.
+
+class inner_interface {
+ interface bar {
+ static final int field = 14022000;
+ public void inner_interface ();
+ }
+
+ class baz implements inner_interface.bar {
+ public void inner_interface ()
+ {
+ System.out.println ("This is baz.inner_interface "+field);
+ }
+ }
+
+ void x () {
+ this.new baz ().inner_interface ();
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `inner_interface'...");
+ new inner_interface ().x();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/inner_interface.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `inner_interface'...
+This is baz.inner_interface 14022000
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,48 @@
+// instance.java -- test the `instanceof' operator.
+
+import java.util.EventListener;
+
+public class instance implements EventListener
+{
+ public static void main (String[] args)
+ {
+ Object x1 = new instance ();
+ EventListener x2 = new instance ();
+ IllegalArgumentException iae
+ = new IllegalArgumentException ("any random class");
+ String x3 = "zardoz";
+ Object x4 = "zardoz";
+
+ // Test simple object stuff
+ System.out.println (x1 instanceof Object);
+ System.out.println (x1 instanceof IllegalArgumentException);
+ System.out.println (x1 instanceof EventListener);
+ System.out.println (x1 instanceof String);
+ System.out.println ("=");
+
+ // Test with value which is an interface.
+ System.out.println (x2 instanceof Object);
+ System.out.println (x2 instanceof IllegalArgumentException);
+ System.out.println (x2 instanceof EventListener);
+ System.out.println ("=");
+
+ // Test with value which is a final class.
+ System.out.println (x3 instanceof Object);
+ System.out.println (x3 instanceof String);
+ System.out.println ("=");
+
+ // Test with value which is a random class.
+ System.out.println (iae instanceof Object);
+ System.out.println (iae instanceof IllegalArgumentException);
+ System.out.println (iae instanceof EventListener);
+ System.out.println ("=");
+
+ // Test with value which is a final class, but not known
+ // statically.
+ System.out.println (x4 instanceof Object);
+ System.out.println (x4 instanceof IllegalArgumentException);
+ System.out.println (x4 instanceof EventListener);
+ System.out.println (x4 instanceof String);
+ System.out.println (x4 instanceof int[]);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instance.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+true
+false
+true
+false
+=
+true
+false
+true
+=
+true
+true
+=
+true
+true
+false
+=
+true
+false
+false
+true
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// Class instinit
+// Generated on Wed Feb 2 12:31:16 PST 2000
+// Simple instance initializer test case.
+
+class instinit {
+
+ String buffer = "No Oink! Oink!";
+
+ /* Instance initializer */
+ {
+ System.out.println ("Oinking...");
+ }
+ {
+ buffer = "Oink! Oink!";
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `instinit'...");
+ System.out.println (new instinit ().buffer);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `instinit'...
+Oinking...
+Oink! Oink!
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,31 @@
+// Class instinit2
+// Generated on Wed Feb 2 17:52:49 PST 2000
+// The instance initializer throws a checked exception. This is OK
+// since the constructors declares it in its `throws' clause -- at
+// least that's what the specs are saying.
+
+class instinit2 {
+
+ String buffer = "Oink Oink!";
+
+ {
+ System.out.println ("Checking the oink...");
+ if (buffer != null)
+ throw new Exception ("It just oinked");
+ }
+
+ instinit2 () throws Exception
+ {
+ System.out.println ("Ctor");
+ }
+
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `instinit2'...");
+ try {
+ System.out.println (new instinit2 ().buffer);
+ } catch (Exception e) {
+ System.out.println (e.toString());
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/instinit2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `instinit2'...
+Checking the oink...
+java.lang.Exception: It just oinked
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,37 @@
+// This test case once showed that `f[0].execute(x)' woudln't be
+// expanded properly, attempting to retrieve this$0 to be used in
+// place of `f[0]'.
+
+abstract class A {
+ abstract public void execute(C x);
+}
+
+class C {}
+
+class Z extends A {
+ public void execute (C x) {
+ System.out.println ("Z.execute");
+ }
+}
+
+public class invoke_from_inner extends A {
+
+ Z f[] = new Z[1];
+ class D extends C {
+ D (C x) {
+ f[0].execute (x);
+ execute (x);
+ }
+ }
+ public void execute (C x) {
+ System.out.println ("invoke_from_inner.execute");
+ }
+
+ public static void main (String a[]) {
+ new invoke_from_inner().foo();
+ }
+ void foo () {
+ f[0] = new Z();
+ new D(new C());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invoke_from_inner.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Z.execute
+invoke_from_inner.execute
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+// Test a `throw' across a libffi call.
+
+import java.lang.reflect.*;
+
+public class invokethrow
+{
+ public static void doit () throws Throwable
+ {
+ throw new Throwable ("hi!");
+ }
+
+ public static void main (String[] args)
+ {
+ Class k = invokethrow.class;
+ try
+ {
+ Class[] noargs = new Class[0];
+ Method m = k.getMethod ("doit", noargs);
+ m.invoke (null, null);
+ }
+ catch (InvocationTargetException x1)
+ {
+ System.out.println (x1.getTargetException ().getMessage ());
+ }
+ catch (UnsupportedOperationException _)
+ {
+ // Some systems don't support invocation, in which case we
+ // will fake a passing result.
+ System.out.println ("hi!");
+ }
+ catch (Throwable _)
+ {
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/invokethrow.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+hi!
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+public class klass
+{
+ public static void main (String[] args)
+ {
+ Class ic1 = Integer.TYPE;
+ int[] foo = new int[3];
+ Class ic2 = foo.getClass().getComponentType();
+ System.out.println(ic1.equals(ic2));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/klass.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/lang.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/lang.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/lang.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/lang.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,35 @@
+global srcdir subdir
+
+catch { lsort [glob -nocomplain ${srcdir}/${subdir}/*.out] } srcfiles
+verbose "srcfiles are $srcfiles"
+
+set prefix ""
+foreach x $srcfiles {
+ regsub "\\.out$" $x "" prefix
+ set bname [file tail $prefix]
+
+ if [file exists $srcdir/$subdir/${bname}.xpo] {
+ set resfile "$srcdir/$subdir/${bname}.xpo"
+ set options "regexp_match"
+ } else {
+ set resfile "${prefix}.out"
+ set options ""
+ }
+
+ if [file exists ${prefix}.inp] {
+ set inpfile ${prefix}.inp
+ } else {
+ set inpfile ""
+ }
+
+ set args [libjava_read_xfail $srcdir/$subdir/$bname.xfail]
+
+ verbose "inpfile is $inpfile"
+
+ test_libjava $options "${prefix}.java" "" $inpfile $resfile $args
+ test_libjava $options "${prefix}.java" "-O3" $inpfile $resfile $args
+}
+
+# Local Variables:
+# tcl-indent-level:4
+# End:
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,63 @@
+import java.security.*;
+
+class md5test {
+
+
+ // gnu-crypto/source/gnu/testlet/gnu/crypto/hash/TestOfMD5.java
+
+ public static void main(String[] argv) {
+ String[] strings = {
+ "a",
+ "abc",
+ "message digest",
+ "abcdefghijklmnopqrstuvwxyz",
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
+ };
+
+ String[] expected = {
+ "0CC175B9C0F1B6A831C399E269772661",
+ "900150983CD24FB0D6963F7D28E17F72",
+ "F96B697D7CB7938D525A2F31AAF161D0",
+ "C3FCD3D76192E4007DFB496CCA67E13B",
+ "D174AB98D277D9F5A5611C2C9F419D9F",
+ "57EDF4A22BE3C955AC49DA2E2107B67A"
+ };
+
+ for (int i = 0; i < strings.length; i++)
+ testString(strings[i], expected[i]);
+
+ }
+
+ public static void testString(String string, String expected) {
+
+ MessageDigest md=null;
+ try {
+ md = MessageDigest.getInstance("MD5");
+ md.update(string.getBytes(), 0, string.length());
+ String result = toString(md.digest());
+ System.out.println(expected);
+ System.out.println(result);
+ if (!expected.equals(result))
+ System.out.println("NOT EQUAL!");
+ } catch (Exception x) {
+ x.printStackTrace();
+ }
+ }
+
+ public static String toString(byte[] ba) {
+ return toString(ba, 0, ba.length);
+ }
+ public static final String toString(byte[] ba, int offset, int length) {
+ char[] buf = new char[length * 2];
+ for (int i = 0, j = 0, k; i < length; ) {
+ k = ba[offset + i++];
+ buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F];
+ buf[j++] = HEX_DIGITS[ k & 0x0F];
+ }
+ return new String(buf);
+ }
+
+ private static final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/md5test.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+0CC175B9C0F1B6A831C399E269772661
+0CC175B9C0F1B6A831C399E269772661
+900150983CD24FB0D6963F7D28E17F72
+900150983CD24FB0D6963F7D28E17F72
+F96B697D7CB7938D525A2F31AAF161D0
+F96B697D7CB7938D525A2F31AAF161D0
+C3FCD3D76192E4007DFB496CCA67E13B
+C3FCD3D76192E4007DFB496CCA67E13B
+D174AB98D277D9F5A5611C2C9F419D9F
+D174AB98D277D9F5A5611C2C9F419D9F
+57EDF4A22BE3C955AC49DA2E2107B67A
+57EDF4A22BE3C955AC49DA2E2107B67A
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Class multiple_finit
+// Generated on Mon Jan 3 20:07:18 PST 2000
+//
+
+class multiple_finit {
+
+ int foo = 99;
+
+ class multiple_finit_inner {
+ int inner = 34;
+ void test () {
+ System.out.println (inner);
+ System.out.println (foo);
+ }
+ }
+ void foo (String s)
+ {
+ multiple_finit_inner inn = this.new multiple_finit_inner ();
+ inn.test ();
+ System.out.println (foo);
+ }
+ void testx () { }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `multiple_finit'...");
+ new multiple_finit().foo ("");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/multiple_finit.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+Testing class `multiple_finit'...
+34
+99
+99
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public class negzero
+{
+ public static void main(String[] args)
+ {
+ System.out.println(-0.0);
+ System.out.println(-0.0f);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/negzero.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+-0.0
+-0.0
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,27 @@
+// Class nested_with_ctor
+// Generated on Mon Jan 31 18:31:47 PST 2000
+// The nested class contains explicit constructors. Their argument
+// lists should be augmented with the alias initializer values when
+// the ctors are seen declared (as opposed to generated.)
+
+class nested_with_ctor {
+
+ void fct(final String s, final int i)
+ {
+ class nested {
+ String buffer = s+i;
+ String getString () { return buffer; }
+ nested (int i) { buffer = "(int)"+i; }
+ nested () {}
+ }
+ nested x = new nested ();
+ System.out.println (x.getString ());
+ nested y = new nested (123);
+ System.out.println (y.getString ());
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `nested_with_ctor'...");
+ new nested_with_ctor ().fct ("Yikes!", 321);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/nested_with_ctor.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `nested_with_ctor'...
+Yikes!321
+(int)123
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,88 @@
+/* This test checks for two slightly different overflow scenarios in
+ * array allocation.
+ *
+ * The first is that the number of bytes needed for an array size
+ * overflows on a 32 bit machine.
+ *
+ * The second is that on a 64 machine, the number of bytes silently
+ * gets truncated, resulting in too small an object being
+ * allocated. */
+
+class newarray_overflow
+{
+ static boolean failed = false;
+
+ static void int_check()
+ {
+ int[] x;
+ try
+ {
+ x = new int [1 << 30];
+ }
+ catch (OutOfMemoryError e)
+ {
+ return;
+ }
+ /* If we really get away with it (64 bit machine), that's cool. */
+ if (x == null) {
+ System.err.println ("int check: new returned null.");
+ failed = true;
+ return;
+ }
+ try
+ {
+ // Only check a few places so we don't thrash too badly.
+ for (int i = 0; i < x.length; i += (1 << 24))
+ if (x[i] != 0)
+ failed = true;
+ }
+ catch (Throwable e)
+ {
+ System.err.print ("int check: ");
+ System.err.println (e);
+ failed = true;
+ }
+ }
+
+ static void object_check()
+ {
+ Object[] x;
+ try
+ {
+ x = new Object [1 << 30];
+ System.err.println ("Alloc succeeded.");
+ System.err.println (x);
+ }
+ catch (OutOfMemoryError e)
+ {
+ return;
+ }
+ /* If we really get away with it (64 bit machine), that's cool. */
+ if (x == null) {
+ System.err.println ("Object check: new returned null.");
+ failed = true;
+ return;
+ }
+ try
+ {
+ for (int i = 0; i < x.length; i += (1 << 24))
+ if (x[i] != null)
+ failed = true;
+ }
+ catch (Throwable e)
+ {
+ System.err.print ("Object check: ");
+ System.err.println (e);
+ failed = true;
+ }
+ }
+
+ public static void main (String[] ignore)
+ {
+ int_check();
+ object_check();
+
+ if (!failed)
+ System.out.println ("ok");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/newarray_overflow.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+ok
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+// Regression test that overrides a virtual method with a final one.
+
+class override1
+{
+ public int x1 () { return 3; }
+}
+
+public class override extends override1
+{
+ public final int x1() { return 5; }
+ public final int x2() { return 7; }
+
+ public static void main(String[] args)
+ {
+ override z = new override();
+ System.out.println(z.x1());
+ System.out.println(z.x2());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/override.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+5
+7
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+// PR 100
+
+// Second call to hashcode causes SEGV when dynamically linking.
+
+public class pr100
+{
+ public static void main(String[] args) {
+ pr100 ht = new pr100();
+
+ System.err.println(ht.hashCode());
+ System.err.println(ht.getClass().hashCode());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.xpo
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.xpo?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.xpo (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr100.xpo Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+[0-9]+
+[0-9]+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+// PR 109
+
+// Running the test code produces the output "0" instead of the
+// expected "01234".
+
+// The break statement exits both for-loops (not just the innermost
+// one) if the (single statement) body of the outer for-loop is not
+// enclosed in braces. Affects more deeply nested loops in the same
+// way.
+
+public class pr109
+{
+ public static void main (String argv[])
+ {
+ int i, j;
+
+ for (i = 0; i < 5; i++)
+ for (j = 0; j < 2; j++)
+ {
+ if (j == 1)
+ break;
+ System.out.print (i);
+ }
+
+ // We print a newline here because otherwise the DejaGNU log
+ // file is screwed up.
+ System.out.println ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr109.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+01234
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.java Thu Nov 8 16:56:19 2007
@@ -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";
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.java Thu Nov 8 16:56:19 2007
@@ -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)
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_2.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.java Thu Nov 8 16:56:19 2007
@@ -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;
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr13107_3.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+0
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+// PR 133
+
+// System.exit(0) appears to hang the program.
+
+public class pr133 {
+ public static void main(String argv[])
+ {
+ String name;
+
+ if (argv.length == 0) {
+ name = "Rocket J. Squirrel";
+ } else {
+ name = argv[0];
+ }
+
+ new pr133(name).identifySelf();
+ System.out.println("goodbye");
+
+ System.exit(0);
+ }
+
+ public pr133 (String name)
+ {
+ v_name = name;
+ }
+
+ public void identifySelf()
+ {
+ System.out.println("This is a pr133 instance named " + v_name);
+ System.out.println("Leaving identifySelf()...");
+ }
+
+ private String v_name;
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr133.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+This is a pr133 instance named Rocket J. Squirrel
+Leaving identifySelf()...
+goodbye
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+// gcj used to generate incorrect bytecode for
+// staticMethod().staticMethod()
+public class pr16789
+{
+ public void foo()
+ {
+ System.out.println(Thread.currentThread().holdsLock(this));
+ }
+
+ public static void main(String[] args)
+ {
+ new pr16789().foo();
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr16789.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+false
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+public class pr17536 {
+ public static void main(String[] args) {
+ System.out.println(int[].class.getClassLoader());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr17536.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+null
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,59 @@
+// Extended regression test for the PR 179.
+//
+// This tests the ".class" language syntax, initialization behaviour for
+// Class.isInstance() and Class.isAssignableFrom(), and isAssignableFrom()
+// functionality in the event that an interface argument that is not
+// implemented by any loaded class is given.
+
+class A
+{
+ static
+ {
+ System.out.println("A initialized");
+ }
+}
+
+interface IA {}
+
+class B implements IA
+{
+ static
+ {
+ System.out.println("B initialized");
+ }
+}
+
+class C
+{
+ static
+ {
+ System.out.println("C initialized");
+ }
+}
+
+interface IB {}
+
+public class pr179
+{
+ public static void main(String[] args)
+ {
+ System.out.println (A.class.isAssignableFrom (Object.class));
+ System.out.println (IB.class.isAssignableFrom (B.class));
+ System.out.println (IA.class.isAssignableFrom (B.class));
+ A a = new A();
+ System.out.println (C.class.isInstance (a));
+ C c = new C();
+ System.out.println (C.class.isInstance (c));
+ }
+}
+
+/* Expected Output:
+A initialized
+false
+B initialized
+false
+true
+C initialized
+false
+true
+*/
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr179.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+A initialized
+false
+B initialized
+false
+true
+C initialized
+false
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+public class pr184
+{
+ public static void main(String[] args)
+ {
+ pr184 n = null;
+ try
+ {
+ n.foo();
+ }
+ catch (NullPointerException x)
+ {
+ System.out.println(x);
+ }
+ }
+
+ int x = 2;
+
+ final int foo()
+ {
+ return x;
+ };
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr184.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+java.lang.NullPointerException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+import java.io.*;
+
+public class pr21785 implements Serializable
+{
+ public static void main(String[] args)
+ {
+ try {
+ ByteArrayOutputStream outb = new ByteArrayOutputStream();
+ ObjectOutputStream outs = new ObjectOutputStream(outb);
+ outs.writeObject(new pr21785());
+ byte[] store = outb.toByteArray();
+
+ ByteArrayInputStream inb = new ByteArrayInputStream(store);
+ ObjectInputStream ins = new ObjectInputStream(inb);
+ ins.readObject();
+ }
+ catch (Throwable e) {
+ throw new Error(e);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21785.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+class pr21844base
+{
+ int modCount;
+
+ public pr21844base(int x)
+ {
+ modCount = x;
+ }
+}
+
+public class pr21844 extends pr21844base
+{
+ class inner
+ {
+ public int doit ()
+ {
+ ++modCount;
+ return modCount;
+ }
+ }
+
+ public pr21844(int x)
+ {
+ super(x);
+ }
+
+ public static void main(String[] args)
+ {
+ pr21844 val = new pr21844(7);
+ inner i = val.new inner();
+ System.out.println(i.doit());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr21844.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+8
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr22211.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr22211.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr22211.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr22211.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,8 @@
+public class pr22211
+{
+ public static void main(String[] args)
+ {
+ Thread x = new Thread();
+ x.interrupt();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,21 @@
+public class pr24321 {
+ static class Z {
+ static {
+ System.out.println("init");
+ }
+ }
+
+ static class Y extends Z { }
+
+ public static Object x () { return new Object(); }
+
+ public static void main(String[] args) throws Throwable
+ {
+ System.out.println(x() instanceof Z);
+
+ ClassLoader cl = pr24321.class.getClassLoader();
+ Class zk = Class.forName("pr24321$Z", false, cl);
+ Class yk = Class.forName("pr24321$Y", false, cl);
+ System.out.println(zk.isAssignableFrom(yk));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr24321.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+false
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,12 @@
+public class pr25676
+{
+ public static double g(double a, double b)
+ {
+ return Math.min(a, b);
+ }
+ public static void main(String a[])
+ {
+ System.out.println (g(0.0, -0.0));
+ System.out.println (g(-0.0, 0.0));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr25676.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+-0.0
+-0.0
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,45 @@
+public class pr26390
+{
+ public interface ComponentPeer {
+ public void setBounds();
+ }
+
+ public interface ContainerPeer extends ComponentPeer {
+ }
+
+ public interface WindowPeer extends ContainerPeer {
+ }
+
+ public interface FramePeer extends WindowPeer {
+ }
+
+ public static class SwingComponentPeer implements ComponentPeer {
+ public void setBounds() {
+ }
+ }
+
+ public static class SwingContainerPeer
+ extends SwingComponentPeer implements ContainerPeer
+ {
+ }
+
+ public static class SwingWindowPeer
+ extends SwingContainerPeer implements WindowPeer
+ {
+ }
+
+ public static class SwingFramePeer
+ extends SwingWindowPeer implements FramePeer
+ {
+ public void setBounds() {
+ super.setBounds();
+ }
+ }
+
+ public static void main(String[] args)
+ {
+ SwingFramePeer s = new SwingFramePeer();
+ s.setBounds();
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26390.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+public class pr26990
+{
+ public static void main (String args[]) throws Exception
+ {
+ System.setSecurityManager(new SecurityManager()
+ {
+ public void checkExit(int status)
+ {
+ throw new SecurityException("This is a bug");
+ }
+ });
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr26990.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,19 @@
+public class pr27171 {
+
+ public static void main(String[] args) throws Throwable {
+ // Isolated low surrogate.
+ char x = 56478; // 0xdc9e
+ String xs = new String(new char[] { x });
+ // Note that we fix a result for our implementation; but
+ // the JDK does something else.
+ System.out.println(xs.getBytes("UTF-8").length);
+
+ // isolated high surrogate -- at end of input stream
+ char y = 0xdaee;
+ String ys = new String(new char[] { y });
+ // Note that we fix a result for our implementation; but
+ // the JDK does something else.
+ System.out.println(ys.getBytes("UTF-8").length);
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr27171.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+3
+3
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+public class pr6388
+{
+ public static void main (String[] args)
+ {
+ System.out.println (Integer.MIN_VALUE);
+ System.out.println (0x80000000);
+ System.out.println (Integer.MIN_VALUE == 0x80000000);
+ System.out.println (0x80000000 == 0x80000000);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr6388.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,4 @@
+-2147483648
+-2147483648
+true
+true
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,39 @@
+// PR 83
+
+/*
+ * test that caught null pointers exceptions in finalizers work correctly
+ * and that local variables are accessible in null pointer exception handlers.
+ */
+import java.io.*;
+
+public class pr83 {
+
+ static String s;
+
+ public static void main(String[] args) {
+ System.out.println(tryfinally() + s);
+ }
+
+ public static String tryfinally() {
+ String yuck = null;
+ String local_s = null;
+
+ try {
+ return "This is ";
+ } finally {
+ try {
+ local_s = "Perfect";
+ /* trigger null pointer exception */
+ String x = yuck.toLowerCase();
+ } catch (Exception _) {
+ /*
+ * when the null pointer exception is caught, we must still
+ * be able to access local_s.
+ * Our return address for the finally clause must also still
+ * be intact.
+ */
+ s = local_s;
+ }
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr83.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+This is Perfect
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,15 @@
+import java.lang.reflect.*;
+public class pr8415
+{
+ public static void meth () throws NullPointerException
+ {
+ throw new NullPointerException();
+ }
+
+ public static void main(String[] args) throws Throwable
+ {
+ Class k = pr8415.class;
+ Method m = k.getMethod ("meth", new Class[0]);
+ System.out.println(m);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8415.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+public static void pr8415.meth() throws java.lang.NullPointerException
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class pr8676 {
+ // The problem here was that this function couldn't be compiled to
+ // bytecode.
+ private void f(long j) {
+ boolean x = (1 << j) != 0;
+ }
+
+ public static void main(String[] args)
+ {
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8676.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,24 @@
+interface I
+{
+ public void m();
+}
+
+abstract class A implements I
+{
+ // But doesn't define m()
+}
+
+public class pr8823 extends A // which means it implements I
+{
+ public static void main(String[] args)
+ {
+ // Defining c as either I or C will work.
+ A c = new pr8823();
+ c.m();
+ }
+
+ public void m()
+ {
+ System.out.println("Hello World!");
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8823.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+Hello World!
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,9 @@
+public class pr8945
+{
+ public static void main(String[] args)
+ {
+ String foo = "hello";
+ int pos = 3;
+ System.out.println(foo.substring(pos,++pos));
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/pr8945.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+l
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,26 @@
+// Class private_direct_read
+// Generated on Tue Nov 16 15:04:13 UTC 1999
+//
+
+class private_direct_read {
+
+ private int foo;
+
+ class private_direct_read_inner {
+ void test () {
+ int x = foo;
+ System.out.println ("x="+x);
+ }
+ }
+ void foo ()
+ {
+ foo = 670;
+ private_direct_read_inner inn = this.new private_direct_read_inner ();
+ inn.test ();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `private_direct_read'...");
+ new private_direct_read().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_read.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `private_direct_read'...
+x=670
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_write.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_write.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_write.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_direct_write.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,25 @@
+// Class private_direct_write
+// Generated on Tue Nov 16 15:05:54 UTC 1999
+//
+
+class private_direct_write {
+
+ private int foo;
+
+ class private_direct_write_inner {
+ void test () {
+ foo = 670;
+ }
+ }
+ void foo ()
+ {
+ private_direct_write_inner inn = this.new private_direct_write_inner ();
+ inn.test ();
+ System.out.println ("foo="+foo);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `private_direct_write'...");
+ new private_direct_write().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_read.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_read.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_read.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_read.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+// Class private_indirect_read
+// Generated on Tue Nov 16 15:34:56 UTC 1999
+//
+
+class private_indirect_read {
+
+ private int foo;
+
+ class private_indirect_read_inner {
+ void test () {
+ }
+ class other {
+ void testx () {
+ int x = foo;
+ System.out.println ("x="+x);
+ }
+ }
+
+ }
+ void foo ()
+ {
+ foo=670;
+ private_indirect_read_inner inn = this.new private_indirect_read_inner ();
+ private_indirect_read_inner.other o = inn.new other ();
+ o.testx();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `private_indirect_read'...");
+ new private_indirect_read().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_write.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_write.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_write.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/private_indirect_write.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,32 @@
+// Class private_indirect_write
+// Generated on Tue Nov 16 15:44:49 UTC 1999
+//
+
+class private_indirect_write {
+
+ private int foo;
+
+ class private_indirect_write_inner {
+ void test () {
+ }
+
+ class other {
+ void test () {
+ foo = 670;
+ }
+ }
+
+ }
+ void foo ()
+ {
+ private_indirect_write_inner inn = this.new private_indirect_write_inner ();
+ private_indirect_write_inner.other x = inn.new other ();
+ x.test ();
+ System.out.println ("foo="+foo);
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `private_indirect_write'...");
+ new private_indirect_write().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Class search_outer.java
+// Generated on Thu Nov 18 18:40:43 UTC 1999
+//
+
+class search_outer {
+
+ private int foo;
+
+ class search_outer_inner {
+ void test () {
+ foo++;
+ System.out.println ("foo="+foo);
+ foo += 3;
+ System.out.println ("foo="+foo);
+ }
+ }
+ void foo ()
+ {
+ foo = 3;
+ search_outer_inner inn = this.new search_outer_inner ();
+ inn.test ();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `search_outer'...");
+ new search_outer().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/search_outer.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+Testing class `search_outer'...
+foo=4
+foo=7
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,39 @@
+import java.security.*;
+
+class shatest {
+
+ // gnu-crypto/source/gnu/testlet/gnu/crypto/hash/TestOfSha160.java
+
+ public static void main(String[] argv) {
+ MessageDigest md=null;
+ try {
+ md = MessageDigest.getInstance("SHA-1");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ md.update("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".getBytes(), 0, 56);
+ String exp = "84983E441C3BD26EBAAE4AA1F95129E5E54670F1";
+ String result = toString(md.digest());
+ System.out.println(exp);
+ System.out.println(result);
+ if (!exp.equals(result))
+ System.out.println("NOT EQUAL!");
+
+ }
+
+ public static String toString(byte[] ba) {
+ return toString(ba, 0, ba.length);
+ }
+ public static final String toString(byte[] ba, int offset, int length) {
+ char[] buf = new char[length * 2];
+ for (int i = 0, j = 0, k; i < length; ) {
+ k = ba[offset + i++];
+ buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F];
+ buf[j++] = HEX_DIGITS[ k & 0x0F];
+ }
+ return new String(buf);
+ }
+
+ private static final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
+
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/shatest.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+84983E441C3BD26EBAAE4AA1F95129E5E54670F1
+84983E441C3BD26EBAAE4AA1F95129E5E54670F1
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,67 @@
+/* This test should test the stacktrace functionality.
+ We only print ClassName and MethName since the other information
+ like FileName and LineNumber are not consistent while building
+ native or interpreted and we want to test the output inside the dejagnu
+ test environment.
+ Also, we have to make the methods public since they might be optimized away
+ with inline's and then the -O3/-O2 execution might fail.
+*/
+public class stacktrace {
+ public static void main(String args[]) {
+ try {
+ new stacktrace().a();
+ } catch (TopException e) {
+ }
+ }
+
+ public void a() throws TopException {
+ try {
+ b();
+ } catch (MiddleException e) {
+ throw new TopException(e);
+ }
+ }
+
+ public void b() throws MiddleException {
+ c();
+ }
+
+ public void c() throws MiddleException {
+ try {
+ d();
+ } catch (BottomException e) {
+ throw new MiddleException(e);
+ }
+ }
+
+ public void d() throws BottomException {
+ e();
+ }
+
+ public void e() throws BottomException {
+ throw new BottomException();
+ }
+}
+
+class TopException extends Exception {
+ TopException(Throwable cause) {
+ super(cause);
+ }
+}
+
+class MiddleException extends Exception {
+ MiddleException(Throwable cause) {
+ super(cause);
+ }
+}
+
+class BottomException extends Exception {
+ BottomException() {
+ StackTraceElement stack[] = this.getStackTrace();
+ for (int i = 0; i < stack.length; i++) {
+ String className = stack[i].getClassName();
+ String methodName = stack[i].getMethodName();
+ System.out.println(className + "." + methodName);
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stacktrace.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+stacktrace.e
+stacktrace.d
+stacktrace.c
+stacktrace.b
+stacktrace.a
+stacktrace.main
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// A reference to a String shouldn't cause an interface to be
+// initialized.
+
+interface I
+{
+ String z = "zardoz";
+ int q = stringconst.out ("q", 0);
+}
+
+public class stringconst
+{
+ public static int out (String s, int i)
+ {
+ System.out.println (s + "=" + i);
+ return i;
+ }
+
+ public static void main (String[] args)
+ {
+ System.out.println (I.z);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+zardoz
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.xfail?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.xfail (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst.xfail Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+xfail-source-output
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,22 @@
+// Test to make sure a string constant is correctly initialized.
+
+import java.lang.reflect.*;
+
+public class stringconst2
+{
+ public static final String q = "zardoz";
+
+ public static void main (String[] args)
+ {
+ try
+ {
+ Class k = Class.forName ("stringconst2");
+ Field f = k.getField ("q");
+ System.out.println (f.get (null));
+ }
+ catch (Throwable t)
+ {
+ t.printStackTrace();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stringconst2.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+zardoz
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,101 @@
+// Class stub
+// Generated on Fri Feb 4 20:23:47 PST 2000
+// A somewhat thorough test of function invocator generated stubs.
+
+class stub {
+
+ String ok;
+
+ void OK () {System.out.println (ok);}
+ void OK (int i) {System.out.println (ok+" "+i);}
+ static void testOK () {System.out.println ("OK");}
+ static void testOK (int i) {System.out.println ("OK "+i); }
+
+ // STATIC PRIVATE R_VALUE ARGS
+ // No No No No
+ void t1 () {OK();}
+ // Yes No No No
+ static void t2 () {testOK();}
+ // No Yes No No
+ private void t3 () {OK();}
+ // Yes Yes No No
+ static private void t4 () {testOK();}
+ // No No Yes No
+ int t5 () {return 5;}
+ // Yes No Yes No
+ static int t6 () {return 6;}
+ // No Yes Yes No
+ private int t7 () {return 7;}
+ // Yes Yes Yes No
+ static private int t8 () {return 8;}
+
+ // No No No Yes
+ void t9 (int i) {OK(i);}
+ // Yes No No Yes
+ static void t10 (int i) {testOK(i);}
+ // No Yes No Yes
+ private void t11 (int i) {OK(i);}
+ // Yes Yes No Yes
+ static private void t12 (int i) {testOK(i);}
+ // No No Yes Yes
+ int t13 (int i) {return i*2;}
+ // Yes No Yes Yes
+ static int t14 (int i) {return i*3;}
+ // No Yes Yes Yes
+ private int t15 (int i) {return i*4;}
+ // Yes Yes Yes Yes
+ static private int t16 (int i) {return i*5;}
+
+ void foo ()
+ {
+ this.new bar ().test ();
+ }
+ class bar {
+ void test () {
+ ok = "OK";
+ t1 ();
+ t2 ();
+ t3 ();
+ t4 ();
+ System.out.println (t5());
+ System.out.println (t6());
+ System.out.println (t7());
+ System.out.println (t8());
+ t9 (9);
+ t10 (10);
+ t11 (11);
+ t12 (12);
+ System.out.println (t13(13));
+ System.out.println (t14(14));
+ System.out.println (t15(15));
+ System.out.println (t16(16));
+ this.new baz ().test ();
+ }
+ class baz {
+ void test () {
+ ok = "OKOK";
+ t1 ();
+ t2 ();
+ t3 ();
+ t4 ();
+ System.out.println (t5());
+ System.out.println (t6());
+ System.out.println (t7());
+ System.out.println (t8());
+ t9 (9);
+ t10 (10);
+ t11 (11);
+ t12 (12);
+ System.out.println (t13(13));
+ System.out.println (t14(14));
+ System.out.println (t15(15));
+ System.out.println (t16(16));
+ }
+ }
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `stub'...");
+ new stub ().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/stub.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+Testing class `stub'...
+OK
+OK
+OK
+OK
+5
+6
+7
+8
+OK 9
+OK 10
+OK 11
+OK 12
+26
+42
+60
+80
+OKOK
+OK
+OKOK
+OK
+5
+6
+7
+8
+OKOK 9
+OK 10
+OKOK 11
+OK 12
+26
+42
+60
+80
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,13 @@
+class test_long {
+
+ public static void main (String[] arg)
+ {
+ long a, b, c, d, e;
+ e = 234L;
+ d = 0x8888888888888888L;
+ a = 0x0123456789ABCDEFL;
+ b = 0xFEDCBA9876543210L;
+ c = 0xF096A5B4C3B2E187L;
+ System.out.println (a+" "+b+" "+c+" "+d+" "+e);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/test_long.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1 @@
+81985529216486895 -81985529216486896 -1110518062304271993 -8608480567731124088 234
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,43 @@
+// Class t
+// Generated on Thu Nov 4 16:35:03 PST 1999
+//
+
+class tmi {
+ int i;
+ void foo () {
+ tmi.z x1 = new z();
+ tmi.z.y x = x1.new y();
+ x.bar ();
+ x.print();
+ tmi.this.i = 666;
+ x.print();
+ tmi.this.print();
+ }
+ void print () {
+ System.out.println ("tmi.print()");
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `tmi'...");
+ new tmi ().foo();
+ }
+ class z {
+ int j;
+ void foo () {
+ tmi.this.i = 3;
+ }
+ class y {
+ int k;
+ void bar () {
+ tmi.this.i = 3;
+ tmi.this.print ();
+ z.this.j = 4;
+ y.this.k = 34;
+ }
+ void print () {
+ System.out.println ("i="+i+", j="+j+", k="+k);
+ }
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tmi.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,5 @@
+Testing class `tmi'...
+tmi.print()
+i=3, j=4, k=34
+i=666, j=4, k=34
+tmi.print()
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,36 @@
+// Class tp
+// Generated on Thu Nov 4 16:35:03 PST 1999
+//
+
+class tp {
+ private int i;
+ void foo () {
+ tp.z x1 = new z();
+ tp.z.y x = x1.new y();
+ x.bar ();
+ x.print();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `tp'...");
+ new tp ().foo();
+ }
+ class z {
+ private int j;
+ void foo () {
+ tp.this.i = 3;
+ }
+ class y {
+ private int k;
+ void bar () {
+ tp.this.i = 3;
+ z.this.j = 4;
+ y.this.k = 34;
+ }
+ void print () {
+ System.out.println ("i="+i+", j="+j+", k="+k);
+ }
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/tp.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `tp'...
+i=3, j=4, k=34
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Class update_outer
+// Generated on Thu Nov 18 21:37:21 UTC 1999
+//
+
+class update_outer {
+
+ private String foo;
+
+ class update_outer_inner {
+ void test () {
+ foo += " M$";
+ System.out.println ("foo=`"+foo+"'");
+ }
+
+
+ }
+ void foo ()
+ {
+ foo = "780";
+ update_outer_inner inn = this.new update_outer_inner ();
+ inn.test ();
+ }
+ public static void main (String[] arg)
+ {
+ System.out.println ("Testing class `update_outer'...");
+ new update_outer().foo ();
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/update_outer.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,2 @@
+Testing class `update_outer'...
+foo=`780 M$'
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,11 @@
+public class utf8concat
+{
+ private static String s;
+
+ public static void main (String[] args)
+ {
+ // This causes a crash at runtime because the compiler is
+ // producing an invalid UTF-8 string literal.
+ s = "abc" + (char)183;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utf8concat.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,58 @@
+class utilTest {
+
+ public static void main(String[] argv) throws Throwable {
+ byte[] b = new byte[] {
+ 0x01, 0x23, 0x45, 0x67, (byte) 0x89, (byte) 0xab,
+ (byte) 0xcd, (byte) 0xef
+ };
+ String s = "0123456789ABCDEF";
+ System.out.println(toString(b));
+ System.out.println(s);
+ System.out.println(toString(toBytesFromString(s)));
+ }
+
+ // The following comes from the GNU Crypto project gnu.crypto.util.Util
+
+ private static final char[] HEX_DIGITS = {
+ '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
+ };
+
+ public static byte[] toBytesFromString(String s) {
+ int limit = s.length();
+ byte[] result = new byte[((limit + 1) / 2)];
+ int i = 0, j = 0;
+ if ((limit % 2) == 1) {
+ result[j++] = (byte) fromDigit(s.charAt(i++));
+ }
+ while (i < limit) {
+ result[j++] =
+ (byte)((fromDigit(s.charAt(i++)) << 4) | fromDigit(s.charAt(i++)));
+ }
+ return result;
+ }
+
+ public static int fromDigit(char c) {
+ if (c >= '0' && c <= '9') {
+ return c - '0';
+ } else if (c >= 'A' && c <= 'F') {
+ return c - 'A' + 10;
+ } else if (c >= 'a' && c <= 'f') {
+ return c - 'a' + 10;
+ } else
+ throw new IllegalArgumentException("Invalid hexadecimal digit: " + c);
+ }
+
+ public static String toString(byte[] ba) {
+ return toString(ba, 0, ba.length);
+ }
+
+ public static final String toString(byte[] ba, int offset, int length) {
+ char[] buf = new char[length * 2];
+ for (int i = 0, j = 0, k; i < length; ) {
+ k = ba[offset + i++];
+ buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F];
+ buf[j++] = HEX_DIGITS[ k & 0x0F];
+ }
+ return new String(buf);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.out?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.out (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/utilTest.out Thu Nov 8 16:56:19 2007
@@ -0,0 +1,3 @@
+0123456789ABCDEF
+0123456789ABCDEF
+0123456789ABCDEF
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+// Test for a verification regression.
+
+interface I { }
+class D implements I { }
+class E extends D { }
+
+public class verify
+{
+ static void call(I v) { }
+
+ static void doit (Object x)
+ {
+ call ((x instanceof I) ? (I) x : new E ());
+ }
+
+ public static void main(String[] args)
+ {
+ doit(null);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.lang/verify.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/MyLoader.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/MyLoader.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/MyLoader.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/MyLoader.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,14 @@
+import java.net.*;
+
+public class MyLoader extends URLClassLoader
+{
+ public MyLoader (URL urls[])
+ {
+ super (urls);
+ }
+
+ public MyLoader (URL urls[], ClassLoader parent)
+ {
+ super (urls, parent);
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,64 @@
+public class TestEarlyGC extends ClassLoader {
+
+ static TestEarlyGC[] a = new TestEarlyGC[10];
+
+ // Jeff Sturm writes:
+ // Reconstructed from bytecode (and memory). The singleton pattern
+ // is used as a class finalizer.
+ // public class C {
+ // private static C c;
+ // public C() {
+ // c = this;
+ // }
+ // protected void finalize() {
+ // System.out.println("finalized");
+ // }
+ // }
+ byte[] code = {
+ -54,-2,-70,-66,0,3,0,45,0,32,1,0,1,67,7,0,
+ 1,1,0,16,106,97,118,97,47,108,97,110,103,47,79,98,
+ 106,101,99,116,7,0,3,1,0,1,99,1,0,3,76,67,
+ 59,1,0,6,60,105,110,105,116,62,1,0,3,40,41,86,
+ 1,0,4,67,111,100,101,12,0,7,0,8,10,0,4,0,
+ 10,12,0,5,0,6,9,0,2,0,12,1,0,15,76,105,
+ 110,101,78,117,109,98,101,114,84,97,98,108,101,1,0,8,
+ 102,105,110,97,108,105,122,101,1,0,16,106,97,118,97,47,
+ 108,97,110,103,47,83,121,115,116,101,109,7,0,16,1,0,
+ 3,111,117,116,1,0,21,76,106,97,118,97,47,105,111,47,
+ 80,114,105,110,116,83,116,114,101,97,109,59,12,0,18,0,
+ 19,9,0,17,0,20,1,0,9,102,105,110,97,108,105,122,
+ 101,100,8,0,22,1,0,19,106,97,118,97,47,105,111,47,
+ 80,114,105,110,116,83,116,114,101,97,109,7,0,24,1,0,
+ 7,112,114,105,110,116,108,110,1,0,21,40,76,106,97,118,
+ 97,47,108,97,110,103,47,83,116,114,105,110,103,59,41,86,
+ 12,0,26,0,27,10,0,25,0,28,1,0,10,83,111,117,
+ 114,99,101,70,105,108,101,1,0,6,67,46,106,97,118,97,
+ 0,33,0,2,0,4,0,0,0,1,0,10,0,5,0,6,
+ 0,0,0,2,0,1,0,7,0,8,0,1,0,9,0,0,
+ 0,33,0,1,0,1,0,0,0,9,42,-73,0,11,42,-77,
+ 0,13,-79,0,0,0,1,0,14,0,0,0,6,0,1,0,
+ 4,0,5,0,4,0,15,0,8,0,1,0,9,0,0,0,
+ 33,0,2,0,1,0,0,0,9,-78,0,21,18,23,-74,0,
+ 29,-79,0,0,0,1,0,14,0,0,0,6,0,1,0,0,
+ 0,9,0,1,0,30,0,0,0,2,0,31
+ };
+
+ TestEarlyGC() throws Throwable {
+ defineClass("C", code, 0, code.length).newInstance();
+ }
+
+ public static void main(String[] args) {
+ Runtime r = Runtime.getRuntime();
+
+ try {
+ for (int n = 0; n < a.length; n++) {
+ a[n] = new TestEarlyGC();
+ r.gc();
+ r.runFinalization();
+ Thread.yield();
+ }
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestEarlyGC.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,33 @@
+import java.net.*;
+import java.lang.reflect.*;
+
+public class TestLeak
+{
+ class MyLoader extends URLClassLoader
+ {
+ public MyLoader (URL urls[])
+ {
+ super (urls);
+ }
+ }
+
+ public static void main (String[] args)
+ {
+ URLClassLoader ucl =
+ (URLClassLoader) ClassLoader.getSystemClassLoader();
+ URL urls[] = ucl.getURLs ();
+ Class ifaces[] = new Class[1];
+ ifaces[0] = java.lang.Comparable.class;
+
+ try {
+ for (int i = 0; i < 100; i++)
+ {
+ Proxy.getProxyClass (new MyLoader (urls), ifaces);
+ }
+ } catch (Exception e) {
+ e.printStackTrace ();
+ }
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestLeak.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,28 @@
+import java.net.*;
+
+public class TestMultiple
+{
+ public static void main (String[] args)
+ {
+ URLClassLoader ucl =
+ (URLClassLoader) ClassLoader.getSystemClassLoader();
+ URL urls[] = ucl.getURLs ();
+
+ MyLoader t1 = new MyLoader (urls);
+ MyLoader t2 = new MyLoader (urls);
+
+ Class c1, c2;
+
+ try {
+
+ c1 = t1.loadClass ("dummy");
+ c2 = t2.loadClass ("dummy");
+
+ }
+ catch (Exception e) {
+ e.printStackTrace ();
+ }
+ }
+}
+
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestMultiple.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,29 @@
+import java.net.*;
+
+public class TestParent
+{
+ public static void main (String[] args)
+ {
+ URLClassLoader ucl =
+ (URLClassLoader) ClassLoader.getSystemClassLoader();
+ URL urls[] = ucl.getURLs ();
+
+ MyLoader parent = new MyLoader (urls);
+
+ MyLoader t1 = new MyLoader (urls, parent);
+ MyLoader t2 = new MyLoader (urls, parent);
+
+ Class c1, c2;
+
+ try {
+
+ c1 = t1.loadClass ("dummy");
+ c2 = t2.loadClass ("dummy");
+
+ }
+ catch (Exception e) {
+ e.printStackTrace ();
+ }
+ }
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/TestParent.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/dummy.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/dummy.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/dummy.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/dummy.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,6 @@
+// A dummy class
+
+public class dummy
+{
+}
+
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/loader.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/loader.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/loader.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.loader/loader.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,77 @@
+# Tests for ClassLoader and native library loader code.
+
+# Compute the correct name for an object file.
+# This is an awful hack.
+proc gcj_object_file_name {compiler base} {
+ verbose "OBJECT: compiler = $compiler"
+ if {[string match *libtool* $compiler]} {
+ return $base.lo
+ }
+ return $base.o
+}
+
+# Do all the work for a single JNI test. Return 0 on failure.
+proc gcj_loader_test_one {srcfile} {
+ global objdir srcdir subdir
+
+ set resfile $srcdir/$subdir/[file rootname [file tail $srcfile]].out
+
+ regsub "^.*/(\[^/.\]+)\[.\]\[^/]*$" "$srcfile" "\\1" out
+ set executable "${objdir}/$out.exe"
+
+ set errname [file rootname [file tail $srcfile]]
+ set args [libjava_arguments link]
+ lappend args "additional_flags=--main=[file rootname [file tail $srcfile]] $srcdir/$subdir/MyLoader.java $objdir/[gcj_object_file_name $args dummy]"
+ set x [libjava_prune_warnings \
+ [libjava_tcompile $srcfile "$executable" executable $args]]
+
+ if { $x != "" } {
+ verbose "target_compile failed: $x" 2
+
+ fail "$errname compilation from source"
+ untested "$errname execution from source compiled test"
+ return
+ }
+ pass "$errname compilation from source"
+
+ libjava_invoke $executable $executable "" $executable "" $resfile ""
+
+ return 1
+}
+
+# Run the bytecode loader tests.
+proc gcj_loader_run {} {
+ global srcdir subdir objdir
+ global build_triplet host_triplet
+ global GCJ_UNDER_TEST
+
+ set file "${srcdir}/${subdir}/dummy.java"
+ if {! [bytecompile_file $file [pwd]]} {
+ fail "bytecompile $file"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $file"
+
+ set args [libjava_arguments compile]
+ lappend args "additional_flags=--resource $objdir/dummy.class"
+ set x [libjava_prune_warnings \
+ [libjava_tcompile "$objdir/dummy.class" "$objdir/[gcj_object_file_name $args dummy]" object $args]]
+
+ if { $x != "" } {
+ verbose "resource compilation failed: $x" 2
+
+ fail "resource compilation dummy.class"
+ return 0;
+ }
+ pass "resource compilation: dummy.class"
+
+ catch { lsort [glob -nocomplain ${srcdir}/${subdir}/Test*.java] } srcfiles
+
+ foreach x $srcfiles {
+ gcj_loader_test_one $x
+ }
+}
+
+gcj_loader_run
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,31 @@
+// Copyright (c) 1998, 1999 Free Software Foundation
+
+// Written by Tom Tromey <tromey at cygnus.com>
+
+import gnu.testlet.*;
+
+public class DejaGNUTestHarness extends SimpleTestHarness
+{
+ static String dejasrcdir;
+
+ public String getSourceDirectory ()
+ {
+ return dejasrcdir;
+ }
+
+ private DejaGNUTestHarness ()
+ {
+ super (/* verbose */ true, /* debug */ false);
+ }
+
+ public static void main (String[] args)
+ {
+ dejasrcdir = args.length > 0 ? args[0] : "";
+ DejaGNUTestHarness harness = new DejaGNUTestHarness ();
+ // This might seem weird, given that we check args.length above.
+ // However, in some cases the expect code rewrites this runtest
+ // invocation to have an explicit name for the test to run.
+ harness.runtest (args[1]);
+ System.exit(harness.done());
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/mauve.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/mauve.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/mauve.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/mauve.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,446 @@
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation.
+# Written by Tom Tromey <tromey at cygnus.com>.
+# Incorporate Mauve into libjava's DejaGNU test suite framework.
+
+# FIXME: should be able to compile from source as well as from .class.
+
+
+# Compute list of files to compile. Returns list of all files
+# representing classes that must be tested. Result parameter `uses'
+# maps source file names onto list of objects required for link.
+proc mauve_compute_uses {aName} {
+ upvar $aName uses
+ global env runtests
+
+ set fd [open classes r]
+ set line [read $fd]
+ close $fd
+
+ foreach item [split $line] {
+ if {$item == ""} then {
+ continue
+ }
+ set item [join [split $item .] /].java
+
+ # User might have specified "mauve.exp=something.java".
+ if {! [runtest_file_p $runtests $item]} {
+ continue
+ }
+
+ # Look for Uses line in source file.
+ set fd [open $env(MAUVEDIR)/$item r]
+ set ufiles [list $item]
+ set dir [file dirname $item]
+ while {[gets $fd sline] != -1} {
+ if {[regsub -- {^// Uses:} $sline {} sline]} then {
+ foreach uf [split $sline] {
+ if {$uf != ""} then {
+ lappend ufiles $dir/$uf
+ }
+ }
+ }
+ }
+ close $fd
+
+ set uses($item) {}
+ foreach file $ufiles {
+ set file [file rootname $file].o
+ lappend uses($item) $file
+ # Now add all inner classes
+ foreach inner [glob -nocomplain [file rootname $file]$*.class] {
+ # Prevent excessive escaping by replacing $ with a ^ in the .o name
+ set inner [file rootname $inner].o
+ regsub -all "\\$" $inner "\^" inner
+ lappend uses($item) $inner
+ }
+ }
+ }
+
+ return [lsort [array names uses]]
+}
+
+# Find Mauve sources. At end, env(MAUVEDIR) points to sources.
+# Returns 0 if sources not found, 1 otherwise.
+proc find_mauve_sources {} {
+ global env srcdir
+
+ if {[info exists env(MAUVEDIR)]} {
+ return 1
+ } elseif {[file isdirectory $srcdir/libjava.mauve/mauve]} {
+ set env(MAUVEDIR) $srcdir/libjava.mauve/mauve
+ return 1
+ }
+
+ return 0
+}
+
+# Find all the harness files and return a list of them, with no
+# suffix.
+proc mauve_find_harness_files {} {
+ set result {}
+ foreach file [glob -nocomplain -- *.class gnu/testlet/*.class] {
+ lappend result [file root $file]
+ }
+ return $result
+}
+
+# Run all the Mauve tests. Return 1 on success, 0 on any failure. If
+# the tests are skipped, that is treated like success.
+proc test_mauve {} {
+ global srcdir objdir subdir env
+
+ if {! [find_mauve_sources]} then {
+ verbose "MAUVEDIR not set; not running Mauve tests"
+ return 1
+ }
+
+ # Run in subdir so we don't overwrite our own Makefile.
+ catch {system "rm -rf mauve-build"}
+ file mkdir mauve-build
+ # Some weirdness to set srcdir correctly.
+ set here [pwd]
+ cd $srcdir
+ set full_srcdir [pwd]
+ cd $here/mauve-build
+
+ global env libgcj_jar
+ global GCJ_UNDER_TEST
+ global TOOL_EXECUTABLE
+
+ if ![info exists GCJ_UNDER_TEST] {
+ if [info exists TOOL_EXECUTABLE] {
+ set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
+ } else {
+ if [info exists env(GCJ)] {
+ set GCJ_UNDER_TEST env(GCJ)
+ } else {
+ set GCJ_UNDER_TEST "[find_gcj]"
+ }
+ }
+ }
+
+ # Append -B and -I so that libgcj.spec and libgcj.jar are found
+ # before they're installed.
+ # Append -Wno-deprecated since Mauve tests lots of deprecated stuff.
+ set env(GCJ) "$GCJ_UNDER_TEST -Wno-deprecated -B$objdir/../ -I$libgcj_jar"
+
+ if {[catch {
+ system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
+ } msg]} then {
+ fail "Mauve configure"
+ verbose "configure failed with $msg"
+ return 0
+ }
+ pass "Mauve configure"
+
+ # Copy appropriate tags file locally.
+ set fd [open $full_srcdir/../mauve-libgcj r]
+ set c [read $fd]
+ close $fd
+ set fd [open mauve-libgcj w]
+ puts -nonewline $fd $c
+ close $fd
+
+ catch {system "ln -s $full_srcdir/libjava.mauve/xfails xfails"}
+
+ if {[catch {
+ system "make KEYS=libgcj classes.stamp 2>&1"
+ } msg]} then {
+ fail "Mauve build"
+ verbose "build failed with $msg"
+ return 0
+ }
+ pass "Mauve build"
+
+ set srcfile $full_srcdir/$subdir/DejaGNUTestHarness.java
+ if {! [bytecompile_file $srcfile [pwd] $env(MAUVEDIR):[pwd]]} then {
+ fail "Compile DejaGNUTestHarness.java"
+ return 0
+ }
+ pass "Compile DejaGNUTestHarness.java"
+
+ # Compute list of files to test, and also all files to build.
+ set choices [mauve_compute_uses uses]
+
+ # Compute flags to use to do the build.
+ set compile_args [libjava_arguments]
+ set link_args [concat [libjava_arguments link] \
+ [list "additional_flags=--main=DejaGNUTestHarness"]]
+
+ if {[string match "*libtool*" $compile_args]} {
+ set objext lo
+ } else {
+ set objext o
+ }
+
+ set ok 1
+ set objlist {}
+ foreach base [mauve_find_harness_files] {
+ set file $base.class
+ set obj $base.$objext
+ set x [libjava_prune_warnings \
+ [target_compile [pwd]/$file $obj object $compile_args]]
+ if {$x != ""} then {
+ fail "Compile $obj"
+ set ok 0
+ } else {
+ pass "Compile $obj"
+ }
+ lappend objlist $obj
+ }
+ if {! $ok} then {
+ return 0
+ }
+
+ set proc_ok 1
+ set Executable DejaGNUTestHarness
+ foreach file $choices {
+ # Turn `java/lang/Foo.java' into `java.lang.Foo'.
+ set class [file rootname $file]
+ regsub -all -- / $class . class
+
+ set ok 1
+ set this_olist {}
+ foreach obj $uses($file) {
+ set obj [file rootname $obj].$objext
+ lappend this_olist $obj
+ if {! [file exists $obj]} then {
+ verbose "compiling $obj for test of $class"
+ # The .class file does contain a $, but we can quote it between "'"s.
+ set srcfile [file rootname $obj].class
+ regsub -all "\\^" $srcfile "\$" srcfile
+ set x [libjava_prune_warnings \
+ [libjava_tcompile '[pwd]/$srcfile' $obj object $compile_args]]
+ if {$x != ""} then {
+ fail "Compile $obj for $class"
+ set ok 0
+ break
+ }
+ pass "Compile $obj for $class"
+ }
+ }
+ if {! $ok} then {
+ set proc_ok 0
+ continue
+ }
+
+ set x [libjava_prune_warnings \
+ [libjava_tcompile [concat $this_olist $objlist] \
+ $Executable executable $link_args]]
+ if {$x != ""} then {
+ set proc_ok 0
+ fail "Link for $class"
+ continue
+ }
+ pass "Link for $class"
+
+ set result [libjava_load [pwd]/DejaGNUTestHarness \
+ "$env(MAUVEDIR) $class" ""]
+
+ # Extract pass/failure info from output.
+ foreach line [split [lindex $result 1] \n] {
+ if {[regexp -- {^(PASS|FAIL|XFAIL|XPASS): (.*)$} $line ignore what msg]} then {
+ if {$what == "XFAIL" || $what == "XPASS"} then {
+ setup_xfail *-*-*
+ }
+ if {$what == "PASS" || $what == "XPASS"} then {
+ pass $msg
+ } else {
+ set proc_ok 0
+ fail $msg
+ }
+ }
+ }
+ }
+
+ return $proc_ok
+}
+
+# Run all the Mauve tests in a sim environment. In this case, the
+# program cannot use argv[] because there's no way to pass in the
+# command line, so tha name of the class to test is substituted by
+# patching the source of the DejaGNUTestHarness. Return 1 on success,
+# 0 on any failure. If the tests are skipped, that is treated like
+# success.
+proc test_mauve_sim {} {
+ global srcdir subdir env
+
+ if {! [find_mauve_sources]} then {
+ verbose "MAUVEDIR not set; not running Mauve tests"
+ return 1
+ }
+
+ # Run in subdir so we don't overwrite our own Makefile.
+ catch {system "rm -rf mauve-build"}
+ file mkdir mauve-build
+ # Some weirdness to set srcdir correctly.
+ set here [pwd]
+ cd $srcdir
+ set full_srcdir [pwd]
+ cd $here/mauve-build
+
+ if {[catch {
+ system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
+ } msg]} then {
+ fail "Mauve configure"
+ verbose "configure failed with $msg"
+ return 0
+ }
+ pass "Mauve configure"
+
+ # Copy appropriate tags file locally.
+ set fd [open $full_srcdir/../mauve-libgcj r]
+ set c [read $fd]
+ close $fd
+ set fd [open mauve-libgcj w]
+ puts -nonewline $fd $c
+ close $fd
+
+ catch {system "ln -s $full_srcdir/libjava.mauve/xfails xfails"}
+
+ if {[catch {
+ system "make KEYS=libgcj classes.stamp 2>&1"
+ } msg]} then {
+ fail "Mauve build"
+ verbose "build failed with $msg"
+ return 0
+ }
+ pass "Mauve build"
+
+ # Compute list of files to test, and also all files to build.
+ set choices [mauve_compute_uses uses]
+
+ # Compute flags to use to do the build.
+ set compile_args [libjava_arguments]
+ set link_args [concat [libjava_arguments link] \
+ [list "additional_flags=--main=DejaGNUTestHarness"]]
+
+ set ok 1
+ set objlist {}
+ foreach base [mauve_find_harness_files] {
+ set file $base.class
+ set obj $base.o
+ set x [libjava_prune_warnings \
+ [target_compile [pwd]/$file $obj object $compile_args]]
+ if {$x != ""} then {
+ fail "Compile $obj"
+ set ok 0
+ } else {
+ pass "Compile $obj"
+ }
+ lappend objlist $obj
+ }
+ if {! $ok} then {
+ return 0
+ }
+
+ set proc_ok 1
+ set Executable DejaGNUTestHarness
+ foreach file $choices {
+ # Turn `java/lang/Foo.java' into `java.lang.Foo'.
+
+ set class [file rootname $file]
+ regsub -all -- / $class . class
+
+ set ok 1
+ foreach obj $uses($file) {
+ if {! [file exists $obj]} then {
+ verbose "compiling $obj for test of $class"
+ set srcfile [file rootname $obj].class
+ set x [libjava_prune_warnings \
+ [target_compile [pwd]/$srcfile $obj object $compile_args]]
+ if {$x != ""} then {
+ fail "Compile $obj for $class"
+ set ok 0
+ break
+ }
+ pass "Compile $obj for $class"
+ }
+ }
+ if {! $ok} then {
+ set proc_ok 0
+ continue
+ }
+
+ set infile $full_srcdir/$subdir/DejaGNUTestHarness.java
+ set srcfile DejaGNUTestHarness.java
+ set f [open $infile r]
+ set d [open gnu/testlet/$srcfile w]
+ while {[gets $f line] >= 0} {
+ if [regexp {harness\.runtest \(args\[1\]\)} $line] then {
+ regsub {args\[1\]} $line "\"$class\"" out
+ } else {
+ set out $line
+ }
+ puts $d $out
+ }
+ close $f
+ close $d
+
+ if {! [bytecompile_file [pwd]/gnu/testlet/$srcfile [pwd]/gnu/testlet \
+ $env(MAUVEDIR):[pwd]]} then {
+ fail "Compile DejaGNUTestHarness.java"
+ return 0
+ }
+
+ set x [libjava_prune_warnings \
+ [target_compile DejaGNUTestHarness.class \
+ DejaGNUTestHarness.o object $compile_args]]
+ if {$x != ""} then {
+ fail "Compile DejaGNUTestHarness.java"
+ set proc_ok 0
+ continue
+ }
+
+ set x [libjava_prune_warnings \
+ [target_compile [concat $uses($file) $objlist] \
+ $Executable executable $link_args]]
+ if {$x != ""} then {
+ set proc_ok 0
+ fail "Link for $class"
+ continue
+ }
+ pass "Link for $class"
+
+ set result [libjava_load [pwd]/DejaGNUTestHarness \
+ "$env(MAUVEDIR) $class" ""]
+
+ # Extract pass/failure info from output.
+ foreach line [split [lindex $result 1] \n] {
+ if {[regexp -- {^(PASS|FAIL|XFAIL|XPASS): (.*)$} $line ignore what msg]} then {
+ if {$what == "XFAIL" || $what == "XPASS"} then {
+ setup_xfail *-*-*
+ }
+ if {$what == "PASS" || $what == "XPASS"} then {
+ pass $msg
+ } else {
+ set proc_ok 0
+ fail $msg
+ }
+ }
+ }
+ }
+
+ return $proc_ok
+}
+
+proc gcj_run_mauve_tests {} {
+ # The test_mauve* procs will change the current directory. It's
+ # simpler to fix this up here than to keep track of this in the
+ # procs.
+ set here [pwd]
+ if { [board_info target exists is_simulator] } {
+ set r [test_mauve_sim]
+ } else {
+ set r [test_mauve]
+ }
+ cd $here
+
+ if {$r} {
+ # No need to keep the build around. FIXME: this knows how the
+ # tests work. This whole file could use a rewrite.
+ system "rm -rf mauve-build"
+ }
+}
+
+gcj_run_mauve_tests
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/xfails
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/xfails?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/xfails (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.mauve/xfails Thu Nov 8 16:56:19 2007
@@ -0,0 +1,461 @@
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Adding a method to a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Adding a field to a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Adding a method to an interface (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Deleting a method from a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Deleting a field from a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Reordering fields of a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Reordering methods of a class (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Moving a method upward in the class hierarchy (number 1)
+FAIL: gnu.testlet.BinaryCompatibility.BinaryCompatibilityTest: Inserting a new class in the type hierarchy (number 1)
+FAIL: gnu.testlet.java.awt.AWTKeyStroke.getAWTKeyStroke: (String) (number 2)
+FAIL: gnu.testlet.java.awt.AWTKeyStroke.getAWTKeyStroke: (String) (number 3)
+FAIL: gnu.testlet.java.awt.AWTKeyStroke.getAWTKeyStroke: (String) (number 4)
+FAIL: gnu.testlet.java.awt.AWTKeyStroke.getAWTKeyStroke: uncaught exception at "(String)" number 6: java.lang.NullPointerException
+FAIL: gnu.testlet.java.awt.Robot.constructors: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.createScreenCapture: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.getPixelColor: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.keyPress: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.keyRelease: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.mouseMove: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.mousePress: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.mouseRelease: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.Robot.mouseWheel: uncaught exception: java.lang.Error: not implemented
+FAIL: gnu.testlet.java.awt.geom.Arc2D.getEndPoint (number 1)
+FAIL: gnu.testlet.java.awt.geom.Arc2D.getPathIterator (number 8)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.constructors: (int, int, int, int[]) (number 8)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.constructors: (int, int, int, int, int[]) (number 8)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.createSubsetSampleModel (number 7)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 1)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 2)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 5)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 7)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 9)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 11)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.equals (number 13)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.getDataElements: uncaught exception at "(int, int, Object, DataBuffer(Byte))" number 5: java.lang.ArrayStoreException
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.hashCode (number 1)
+FAIL: gnu.testlet.java.awt.image.SinglePixelPackedSampleModel.hashCode (number 2)
+FAIL: Link for gnu.testlet.java.beans.Beans.instantiate_1
+FAIL: gnu.testlet.java.io.File.security: createTempFile(2-args) - unexpected exception (number 1)
+FAIL: gnu.testlet.java.io.File.security: File.listRoots() (number 1)
+FAIL: gnu.testlet.java.io.File.security: file.renameTo - unexpected exception (number 1)
+FAIL: gnu.testlet.java.io.File.security: dir.deleteOnExit() - unexpected exception (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.Deserializable: Wrong exception (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.Deserializable: Was expecting an InvalidClassException (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.InputTest: gnu.testlet.java.io.ObjectInputOutput.Test$GetPutField (number 1)
+FAIL: gnu.testlet.java.io.ObjectInputOutput.OutputTest: Serializable: test(str=null, x=0) (number 2)
+FAIL: Link for gnu.testlet.java.io.ObjectInputStream.registerValidation
+FAIL: gnu.testlet.java.io.OutputStreamWriter.jdk11: OutputStreamWriter(writer, encoding) (number 1)
+FAIL: gnu.testlet.java.io.OutputStreamWriter.jdk11: OutputStreamWriter(writer, encoding) // alias (number 1)
+FAIL: gnu.testlet.java.io.PrintWriter.checkError (number 3)
+FAIL: gnu.testlet.java.io.PrintWriter.jdk11: checkError() after close() (number 1)
+FAIL: gnu.testlet.java.io.RandomAccessFile.setLength (number 14)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Four Byte Range Error (0) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Four Byte Range Error (1) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Five Bytes (0) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Five Bytes (1) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Six Bytes (0) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Six Bytes (1) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Orphan Continuation (1) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Orphan Continuation (2) (number 1)
+FAIL: gnu.testlet.java.io.Utf8Encoding.mojo: Four Byte Range Error (2) (number 1)
+FAIL: gnu.testlet.java.lang.Character.classify12 (number 1)
+FAIL: gnu.testlet.java.lang.Character.getType (number 11)
+FAIL: gnu.testlet.java.lang.Character.getType (number 20)
+FAIL: gnu.testlet.java.lang.Character.getType (number 22)
+FAIL: gnu.testlet.java.lang.Class.init (number 14)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 2)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 3)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getClasses (number 5)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 3)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 4)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaringClass (number 5)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 1)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 2)
+FAIL: gnu.testlet.java.lang.Class.reflect2: getDeclaredClasses (number 3)
+FAIL: gnu.testlet.java.lang.Math.MathTest: Error : test_pow failed - 9 (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeBig") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeBigUnmarked") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes13: String.getBytes("UnicodeLittle") (number 1)
+FAIL: gnu.testlet.java.lang.String.getBytes14: String.getBytes("ISO8859_15") (number 1)
+FAIL: gnu.testlet.java.lang.Thread.contextClassLoader: null is a valid contextClassLoader (number 1)
+FAIL: gnu.testlet.java.lang.Thread.contextClassLoader: New thread inherits null classloader (number 1)
+FAIL: gnu.testlet.java.lang.Thread.contextClassLoader: run with null classloader (number 1)
+FAIL: gnu.testlet.java.lang.Thread.daemon: Can change daemon state on an exitted Thread (number 1)
+FAIL: gnu.testlet.java.lang.Thread.daemon: Daemon status changed when set on an exitted Thread (number 1)
+FAIL: gnu.testlet.java.lang.Thread.security10: Thread.enumerate(Thread[]) (number 1)
+FAIL: gnu.testlet.java.lang.Thread.stop: Unexpected exception during test() (number 1)
+FAIL: gnu.testlet.java.net.DatagramPacket.DatagramPacketOffset: DatagramPacket Offset Test byte[]='Hello Worl..........Hello World 12345' should be='Hello WorlHello WorlHello World 12345' (number 1)
+FAIL: gnu.testlet.java.net.MulticastSocket.MulticastSocketTest: joinGroup() twice. (number 1)
+FAIL: Compile gnu/testlet/java/net/ServerSocket/ServerSocketTest.lo for gnu.testlet.java.net.ServerSocket.ServerSocketTest
+FAIL: gnu.testlet.java.net.Socket.SocketTest: Error : test_Basics failed - 7 exception should not have been thrown. (number 1)
+FAIL: gnu.testlet.java.net.URI.URITest: unexpected exception (number 1)
+FAIL: gnu.testlet.java.net.URL.URLTest: Error in test_toString - 5 exception should not be thrown here (number 1)
+FAIL: gnu.testlet.java.net.URL.URLTest: contextResolution (number 5)
+FAIL: gnu.testlet.java.net.URL.URLTest: contextResolution (number 6)
+FAIL: gnu.testlet.java.net.URLConnection.URLConnectionTest: Error in test_getHeaderField - 2 4 header field wrong (number 1)
+FAIL: gnu.testlet.java.nio.ByteBuffer.Allocating: mark: mark not invalidated (number 1)
+FAIL: gnu.testlet.java.nio.ByteBuffer.Allocating: mark: mark not invalidated (number 1)
+FAIL: gnu.testlet.java.nio.ByteBuffer.Allocating: mark: mark not invalidated (number 1)
+FAIL: gnu.testlet.java.nio.ByteBuffer.Allocating: mark: mark not invalidated (number 1)
+FAIL: gnu.testlet.java.nio.channels.FileChannel.copyIO: Unexpected result: source=abcdefghijklmnopqrstuvwxyz, result=aababcabcdabcdeabcdefabcdef (number 1)
+FAIL: gnu.testlet.java.nio.channels.FileChannel.manyopen: Unexpected exception at nr 339: java.io.IOException: Too many open files (number 1)
+FAIL: gnu.testlet.java.nio.charset.Charset.encode: uncaught exception at "Wrong limit in char buffer" number 2: java.lang.IllegalStateException
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setAmPmStrings (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setEras (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setMonths (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setShortMonths (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setShortWeekdays (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setWeekdays (number 1)
+FAIL: gnu.testlet.java.text.DateFormatSymbols.setZoneStrings (number 1)
+FAIL: gnu.testlet.java.text.DecimalFormat.formatExp: pattern ##.###E0 (number 2)
+FAIL: gnu.testlet.java.text.DecimalFormatSymbols.getCurrency (number 1)
+FAIL: gnu.testlet.java.text.MessageFormat.format14: number (number 2)
+FAIL: gnu.testlet.java.text.MessageFormat.format14: number (number 4)
+FAIL: gnu.testlet.java.text.MessageFormat.format14: choice (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Double-based fraction formatting with integer number format (0.333). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Double-based fraction formatting with integer number format (123,456.789). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Long-based integer formatting with currency number format ($30.00). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Double-based integer formatting with currency number format ($30.00). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Double-based fraction formatting with currency number format ($0.333). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Double-based fraction formatting with currency number format ($123,456.789). (number 1)
+FAIL: gnu.testlet.java.text.NumberFormat.UK: Long-based integer formatting with percentile number format (30%). (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.Localization: uncaught exception at "Non-localized pattern comes back as is with toPattern()." number 2: java.lang.StringIndexOutOfBoundsException: String index out of range: 18
+FAIL: gnu.testlet.java.text.SimpleDateFormat.applyLocalizedPattern (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.applyLocalizedPattern (number 2)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.lang.NullPointerException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 2)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.text.ParseException: (number 2)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.parse: java.lang.NullPointerException: (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.toLocalizedPattern (number 1)
+FAIL: gnu.testlet.java.text.SimpleDateFormat.toLocalizedPattern (number 2)
+FAIL: gnu.testlet.java.util.Calendar.set: setting only some fields (number 4)
+FAIL: gnu.testlet.java.util.Calendar.set: setting only some fields (number 5)
+FAIL: gnu.testlet.java.util.Currency.Constructors: uncaught exception: java.lang.IllegalArgumentException: The currency code, null, is not supported.
+FAIL: gnu.testlet.java.util.Currency.France: Euro ISO 4217 currency code retrieval check (FRF). (number 1)
+FAIL: gnu.testlet.java.util.Currency.France: Euro currency symbol retrieval check (F). (number 1)
+FAIL: gnu.testlet.java.util.Currency.France: Euro ISO 4217 currency code retrieval check (FRF). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Germany: Euro ISO 4217 currency code retrieval check (DEM). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Germany: Euro currency symbol retrieval check (DM). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Germany: Euro ISO 4217 currency code retrieval check (DEM). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Italy: Euro ISO 4217 currency code retrieval check (ITL). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Italy: Euro currency symbol retrieval check (L.). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Italy: Euro currency fraction digits retrieval check (0). (number 1)
+FAIL: gnu.testlet.java.util.Currency.Italy: Euro ISO 4217 currency code retrieval check (ITL). (number 1)
+FAIL: gnu.testlet.java.util.Currency.ReferenceEquality: uncaught exception at "Reference equality for currencies (UK) check." number 2: java.lang.IllegalArgumentException: The currency code, GBP, is not supported.
+FAIL: gnu.testlet.java.util.Currency.US: Non local currency symbol retrieval check (CAD). (number 1)
+FAIL: gnu.testlet.java.util.Currency.getInstance (number 1)
+FAIL: gnu.testlet.java.util.Currency.getInstance (number 3)
+FAIL: gnu.testlet.java.util.Currency.getInstance (number 4)
+FAIL: gnu.testlet.java.util.Currency.getInstance (number 5)
+FAIL: gnu.testlet.java.util.Date.getTimezoneOffset: getTimezoneOffset for zone: GMT (number 1)
+FAIL: gnu.testlet.java.util.Date.getTimezoneOffset: getTimezoneOffset for zone: GMT (number 2)
+FAIL: gnu.testlet.java.util.Date.getTimezoneOffset: getTimezoneOffset for zone: Europe/London (number 2)
+FAIL: gnu.testlet.java.util.GregorianCalendar.conversion: uncaught exception at "Testing setTimeInMillis(281474976710656) i = 48" number 3: java.lang.IllegalArgumentException: month out of range
+FAIL: gnu.testlet.java.util.GregorianCalendar.getMinimalDaysInFirstWeek (number 1)
+FAIL: gnu.testlet.java.util.GregorianCalendar.getMinimalDaysInFirstWeek (number 2)
+FAIL: gnu.testlet.java.util.SimpleTimeZone.check12 (number 22)
+FAIL: gnu.testlet.java.util.SimpleTimeZone.check12 (number 23)
+FAIL: gnu.testlet.java.util.SimpleTimeZone.equals (number 21)
+FAIL: gnu.testlet.java.util.SimpleTimeZone.getDSTSavings (number 2)
+FAIL: gnu.testlet.java.util.SimpleTimeZone.hasSameRules (number 19)
+FAIL: gnu.testlet.java.util.Timer.taskException: still able to schedule tasks (number 1)
+FAIL: gnu.testlet.java.util.logging.Logger.getLogger (number 9)
+FAIL: gnu.testlet.java.util.logging.Logger.securityChecks: Logger.getAnonymousLogger() (number 7)
+FAIL: gnu.testlet.java.util.logging.Logger.securityChecks: Logger.getAnonymousLogger(null) (number 7)
+FAIL: gnu.testlet.java.util.zip.ZipFile.DirEntryTest: getEntry("dir/") (number 2)
+FAIL: gnu.testlet.java.util.zip.ZipFile.newZipFile: non-zipfile gets rejected (number 1)
+FAIL: Link for gnu.testlet.javax.swing.DefaultListModel.removeAllElements
+FAIL: gnu.testlet.javax.swing.DefaultListModel.setSize: uncaught exception at "setSize(int)" number 10: java.lang.NullPointerException
+FAIL: Link for gnu.testlet.javax.swing.JComboBox.MutableTest1
+FAIL: Link for gnu.testlet.javax.swing.JComboBox.MutableTest2
+FAIL: Link for gnu.testlet.javax.swing.JComboBox.SimpleSelectionTest
+FAIL: gnu.testlet.javax.swing.UIDefaults.remove: put with null gave NullPointerException (number 1)
+FAIL: gnu.testlet.javax.swing.tree.DefaultMutableTreeNode.add: uncaught exception: java.lang.NullPointerException
+FAIL: gnu.testlet.javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration: uncaught exception: java.lang.NullPointerException
+FAIL: gnu.testlet.javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration: uncaught exception at "rejects invalid arguments (null)" number 2: java.lang.NullPointerException
+FAIL: gnu.testlet.javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration: uncaught exception: java.lang.NullPointerException
+FAIL: gnu.testlet.javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration: uncaught exception: java.lang.NullPointerException
+FAIL: gnu.testlet.locales.LocaleTest: Locale de_DE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale de_DE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale de_DE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: de_DE (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: de_DE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: de_DE (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_BE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_BE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_BE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 5)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 11)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 12)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 16)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 17)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 20)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 23)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 24)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fr_BE (number 25)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_BE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_BE (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: BEF (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_IE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_IE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_IE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 4)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 5)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 11)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 12)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 16)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 17)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 19)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 20)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 23)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 24)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_IE (number 25)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: en_IE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: en_IE (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: IEP (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_FR (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_FR (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_FR (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_FR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_FR (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: FRF (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale es_ES (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale es_ES (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale es_ES (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: es_ES (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: es_ES (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: es_ES (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: ESP (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale pt_PT (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale pt_PT (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale pt_PT (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: pt_PT (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: pt_PT (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: PTE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale it_IT (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale it_IT (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale it_IT (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: it_IT (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: it_IT (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: it_IT (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: ITL (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale nl_NL (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale nl_NL (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale nl_NL (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 5)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 11)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 12)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 16)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 17)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 20)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 23)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 24)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: nl_NL (number 25)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: nl_NL (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: nl_NL (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: NLG (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_LU (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_LU (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fr_LU (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_LU (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fr_LU (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: LUF (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_GB (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_GB (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_GB (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM en_GB (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_GB (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: en_GB (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: GBP (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_US (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_US (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale en_US (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_US (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_US (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_US (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: en_US (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: en_US (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: USD (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fi_FI (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fi_FI (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale fi_FI (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 5)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 11)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 12)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 16)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 17)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 20)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 23)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 24)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: fi_FI (number 25)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fi_FI (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: fi_FI (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: FIM (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale tr_TR (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale tr_TR (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale tr_TR (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 4)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 5)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 11)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 12)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 16)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 17)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 19)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 20)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 23)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 24)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: tr_TR (number 25)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: tr_TR (number 2)
+FAIL: gnu.testlet.locales.LocaleTest: Currencies locale: tr_TR (number 3)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: TRL (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: Locale et_EE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: Locale et_EE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: Locale et_EE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.SHORT et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.MEDIUM et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.LONG et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: DateFormat.DEFAULT == DateFormat.MEDIUM et_EE (number 1)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 6)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 7)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 8)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 9)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 10)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 14)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 15)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 21)
+FAIL: gnu.testlet.locales.LocaleTest: numberformats locale: et_EE (number 22)
+FAIL: gnu.testlet.locales.LocaleTest: Currency code not supported: EEK (number 1)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,34 @@
+public abstract class pr21115
+{
+ public static void main(String[] args) throws Exception
+ {
+ Class c = Class.forName("pr21115I");
+ Object o = c.newInstance();
+ pr21115 t = (pr21115) o;
+ // Try to fill the stack with 0xff.
+ t.test (0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff);
+ // Pass a bunch of false (0) values.
+ if (t.test (false, false,
+ false, false,
+ false, false,
+ false, false,
+ false, false))
+ System.out.println ("FAILED - expecting false return value.");
+ }
+
+ public abstract boolean test(boolean a, boolean b,
+ boolean c, boolean d,
+ boolean e, boolean f,
+ boolean g, boolean h,
+ boolean i, boolean j);
+
+ public abstract boolean test(int a, int b,
+ int c, int d,
+ int e, int f,
+ int g, int h,
+ int i, int j);
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.out
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115.out?rev=43913&view=auto
==============================================================================
(empty)
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115I.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115I.java?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115I.java (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/pr21115I.java Thu Nov 8 16:56:19 2007
@@ -0,0 +1,20 @@
+public class pr21115I extends pr21115
+{
+ public boolean test(boolean a, boolean b,
+ boolean c, boolean d,
+ boolean e, boolean f,
+ boolean g, boolean h,
+ boolean i, boolean j)
+ {
+ return a && b && c && d && e && f && g && h && i;
+ }
+
+ public boolean test(int a, int b,
+ int c, int d,
+ int e, int f,
+ int g, int h,
+ int i, int j)
+ {
+ return true;
+ }
+}
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/special.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/special.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/special.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.special/special.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,98 @@
+# Special test cases. These require tricky build procedures.
+
+proc gcj_special_pr21115 {} {
+ global srcdir subdir env
+
+ # ---- PR 21115 -------------------------------------------------------
+
+ if {! [bytecompile_file ${srcdir}/${subdir}/pr21115I.java [pwd]]} {
+ fail "bytecompile ${srcdir}/${subdir}/libjava.special/pr21115I.java"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile pr21115I.java"
+
+ if {! [gcj_link pr21115 pr21115 [list ${srcdir}/${subdir}/pr21115.java]]} {
+ fail "compiling/linking pr21115.java"
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_invoke pr21115 ${srcdir}/${subdir}/pr21115.out ""]} {
+ # FIXME
+ return 0
+ }
+
+ return 1
+}
+
+# Write a .java file and bytecompile it. Return 0 on failure.
+proc gcj_write_and_byte_compile {name contents} {
+ set fd [open $name w]
+ puts $fd $contents
+ close $fd
+
+ if {! [bytecompile_file $name [pwd]]} {
+ fail "bytecompile $name"
+ # FIXME - should use `untested' on all remaining tests.
+ # But that is hard.
+ return 0
+ }
+ pass "bytecompile $name"
+ return 1
+}
+
+# Check that BC-compiled code lazily throws IllegalAccessError.
+proc gcj_special_lazy_illegal_access {} {
+ global srcdir subdir env
+
+ # Write and compile the initial files.
+ if {! [gcj_write_and_byte_compile LazyA.java {
+ public class LazyA {
+ public static void m() { }
+ }
+ }]} {
+ return 0
+ }
+ if {! [gcj_write_and_byte_compile LazyB.java {
+ public class LazyB {
+ public static void m() { }
+ public static void main(String[] args) { }
+ }
+ }]} {
+ return 0
+ }
+
+ # Create the expected output file.
+ set fd [open Lazy.out w]
+ close $fd
+
+ # Now recompile LazyA with different access for m().
+ if {! [gcj_write_and_byte_compile LazyA.java {
+ public class LazyA {
+ private static void m() { }
+ }
+ }]} {
+ return 0
+ }
+
+ # Link and run... this should still work, since we don't actually
+ # try to call LazyA.m().
+ if {! [gcj_link Lazy LazyB {LazyA.class LazyB.class} \
+ additional_flags=-findirect-dispatch]} {
+ fail "compiling/linking pr21115.java"
+ # FIXME
+ return 0
+ }
+
+ if {! [gcj_invoke Lazy Lazy.out ""]} {
+ # FIXME
+ return 0
+ }
+
+ return 1
+}
+
+gcj_special_pr21115
+gcj_special_lazy_illegal_access
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/README.verify
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/README.verify?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/README.verify (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/README.verify Thu Nov 8 16:56:19 2007
@@ -0,0 +1,10 @@
+The verifier tests come from Mauve.
+See http://sources.redhat.com/mauve
+
+You want the "verify" module in the Mauve cvs repository.
+
+In Mauve, only the sources are checked in. However, these need
+jasmin to be compiled to bytecode. Since jasmin would require either
+another VM or gcj itself to already be working and installed (just to
+compile it), we've chose to precompile all the .j files to .class
+files and then import the result.
Added: llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/verify.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/verify.exp?rev=43913&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/verify.exp (added)
+++ llvm-gcc-4.2/trunk/libjava/testsuite/libjava.verify/verify.exp Thu Nov 8 16:56:19 2007
@@ -0,0 +1,83 @@
+# Tests for class verifier.
+
+global gcj_verify_xfail
+set {gcj_verify_xfail(gij verify of call.fail.Static)} 1
+set {gcj_verify_xfail(gij verify of simple.fail.dupfield)} 1
+set {gcj_verify_xfail(gij verify of simple.fail.dupinterface)} 1
+set {gcj_verify_xfail(gij verify of simple.fail.dupmethod)} 1
+set {gcj_verify_xfail(gij verify of subr.fail.jsr10)} 1
+set {gcj_verify_xfail(gij verify of subr.fail.jsr8)} 1
+
+
+proc gcj_verify_list_tests {srcdir} {
+ set result {}
+ if {[file exists $srcdir]} {
+ set here [pwd]
+ cd $srcdir
+ foreach item [lsort [glob -nocomplain */*/*.class]] {
+ lappend result [file rootname $item]
+ }
+ cd $here
+ }
+ return $result
+}
+
+proc gcj_verify_test_gij {gij srcdir test shouldfail} {
+ global gcj_verify_xfail
+
+ set testname "gij verify of $test"
+ verbose "invoking gij $test - shouldfail=$shouldfail"
+ set result [libjava_load $gij [list --cp $srcdir $test] ""]
+ set status [lindex $result 0]
+ set output [lindex $result 1]
+
+ if {$shouldfail} {
+ # We match the few exceptions that are allowed. This may need
+ # updating from time to time. We do this rather than check the
+ # exit status because we want to catch the case where gij dies in
+ # some inappropriate way.
+ if {[string match *VerifyError* $output]
+ || [string match *AbstractMethodError* $output]
+ || [string match *IncompatibleClassChangeError* $output]} {
+ set cmd pass
+ } else {
+ set cmd fail
+ }
+ if {[info exists gcj_verify_xfail($testname)]} {
+ setup_xfail *-*-*
+ }
+ } else {
+ if {$status == "pass"} {
+ set cmd pass
+ } else {
+ set cmd fail
+ }
+ }
+ $cmd $testname
+}
+
+proc gcj_verify_run {} {
+ global INTERPRETER srcdir
+
+ set gij [libjava_find_gij]
+ set interpret 1
+ # libjava_find_gij will return "" if it couldn't find the
+ # program; in this case we want to skip the test.
+ if {$INTERPRETER != "yes" || $gij == ""} {
+ set interpret 0
+ }
+
+ set testsdir $srcdir/libjava.verify/verify
+ foreach test [gcj_verify_list_tests $testsdir] {
+ set shouldfail [string match */fail/* $test]
+
+ if {$interpret} {
+ regsub -all -- / $test . gijname
+ gcj_verify_test_gij $gij $testsdir $gijname $shouldfail
+ }
+
+ # FIXME: run gcj --syntax-only here.
+ }
+}
+
+gcj_verify_run
More information about the llvm-commits
mailing list