[llvm-commits] [llvm-gcc-4.2] r43913 [69/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/gnu/java/locale/LocaleInformation_ar_BH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_BH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_BH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_BH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_BH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_BH extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0628.";
+  static final String intlCurrencySymbol = "BHD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_DZ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_DZ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_DZ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_DZ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_DZ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_DZ extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u062C.";
+  static final String intlCurrencySymbol = "DZD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_EG.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_EG.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_EG.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_EG.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_EG.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_EG extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062C.\u0645.";
+  static final String intlCurrencySymbol = "EGP";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##,##0.###";
+  static final String percentFormat = "#,##,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "EEEE dd MMMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u20A8";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,##,##0.00;-$ #,##,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IQ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IQ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IQ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_IQ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_IQ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_IQ extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0639.";
+  static final String intlCurrencySymbol = "IQD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_JO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_JO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_JO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_JO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_JO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_JO extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortMonths = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631", "\u062D\u0632\u064A\u0631\u0627\u0646", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] months = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631", "\u062D\u0632\u064A\u0631\u0627\u0646", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0623.";
+  static final String intlCurrencySymbol = "JOD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_KW.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_KW.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_KW.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_KW.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_KW.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_KW extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0643.";
+  static final String intlCurrencySymbol = "KWD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_LB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_LB extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortMonths = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631", "\u062D\u0632\u064A\u0631\u0627\u0646", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] months = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631", "\u062D\u0632\u064A\u0631\u0627\u0646", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u0644.\u0644.";
+  static final String intlCurrencySymbol = "LBP";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_LY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_LY.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_LY extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0644.";
+  static final String intlCurrencySymbol = "LYD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_MA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_MA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_MA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_MA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_MA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_MA extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u0645.";
+  static final String intlCurrencySymbol = "MAD";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_OM.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_OM.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_OM.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_OM.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_OM.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_OM extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u0631.\u0639.";
+  static final String intlCurrencySymbol = "OMR";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_QA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_QA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_QA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_QA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_QA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_QA extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u0631.\u0642.";
+  static final String intlCurrencySymbol = "QAR";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SD.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SD.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SD.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SD.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_SD.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_SD extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062C.\u0633.";
+  static final String intlCurrencySymbol = "SDP";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_SY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_SY.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_SY extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortMonths = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631", "\u062D\u0632\u064A\u0631\u0627\u0646", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] months = { "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0634\u0628\u0627\u0637", "\u0622\u0630\u0627\u0631", "\u0646\u064A\u0633\u0627\u0646", "\u0646\u0648\u0627\u0631\u0627\u0646", "\u062D\u0632\u064A\u0631", "\u062A\u0645\u0648\u0632", "\u0622\u0628", "\u0623\u064A\u0644\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u0623\u0648\u0644", "\u062A\u0634\u0631\u064A\u0646 \u0627\u0644\u062B\u0627\u0646\u064A", "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u0644.\u0633.";
+  static final String intlCurrencySymbol = "SYP";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_TN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_TN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_TN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_TN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_TN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_TN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u062F.\u062A.";
+  static final String intlCurrencySymbol = "TND";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_YE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_YE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_YE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ar_YE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ar_YE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ar_YE extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0627\u0644\u0623\u062D\u062F", "\u0627\u0644\u0627\u062B\u0646\u064A\u0646", "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621", "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", "\u0627\u0644\u062E\u0645\u064A\u0633", "\u0627\u0644\u062C\u0645\u0639\u0629", "\u0627\u0644\u0633\u0628\u062A" };
+
+  static final String[] shortWeekdays = { null, "\u062D", "\u0646", "\u062B", "\u0631", "\u062E", "\u062C", "\u0633" };
+
+  static final String[] shortMonths = { "\u064A\u0646\u0627", "\u0641\u0628\u0631", "\u0645\u0627\u0631", "\u0623\u0628\u0631", "\u0645\u0627\u064A", "\u064A\u0648\u0646", "\u064A\u0648\u0644", "\u0623\u063A\u0633", "\u0633\u0628\u062A", "\u0623\u0643\u062A", "\u0646\u0648\u0641", "\u062F\u064A\u0633", null };
+
+  static final String[] months = { "\u064A\u0646\u0627\u064A\u0631", "\u0641\u0628\u0631\u0627\u064A\u0631", "\u0645\u0627\u0631\u0633", "\u0623\u0628\u0631\u064A\u0644", "\u0645\u0627\u064A\u0648", "\u064A\u0648\u0646\u064A\u0648", "\u064A\u0648\u0644\u064A\u0648", "\u0623\u063A\u0633\u0637\u0633", "\u0633\u0628\u062A\u0645\u0628\u0631", "\u0623\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0641\u0645\u0628\u0631", "\u062F\u064A\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0645" };
+
+  static final String shortDateFormat = "dd MMM, yyyy";
+  static final String defaultTimeFormat = "z hh:m:s a";
+  static final String currencySymbol = "\u0631.\u064A.";
+  static final String intlCurrencySymbol = "YER";
+  static final String currencyFormat = "$ #,##0.000;$ #,##0.000-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_be_BY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_be_BY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_be_BY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_be_BY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_be_BY.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_be_BY extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u041D\u044F\u0434\u0437\u0435\u043B\u044F", "\u041F\u0430\u043D\u044F\u0434\u0437\u0435\u043B\u0430\u043A", "\u0410\u045E\u0442\u043E\u0440\u0430\u043A", "\u0421\u0435\u0440\u0430\u0434\u0430", "\u0427\u0430\u0446\u0432\u0435\u0440", "\u041F\u044F\u0442\u043D\u0456\u0446\u0430", "\u0421\u0443\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u041D\u044F\u0434", "\u041F\u0430\u043D", "\u0410\u045E\u0442", "\u0421\u0440\u0434", "\u0427\u0446\u0432", "\u041F\u044F\u0442", "\u0421\u0443\u0431" };
+
+  static final String[] shortMonths = { "\u0421\u0442\u0434", "\u041B\u044E\u0442", "\u0421\u0430\u043A", "\u041A\u0440\u0441", "\u0422\u0440\u0430", "\u0427\u044D\u0440", "\u041B\u0456\u043F", "\u0416\u043D\u0432", "\u0412\u0440\u0441", "\u041A\u0441\u0442", "\u041B\u0456\u0441", "\u0421\u043D\u0436", null };
+
+  static final String[] months = { "\u0421\u0442\u0443\u0434\u0437\u0435\u043D\u044C", "\u041B\u044E\u0442\u044B", "\u0421\u0430\u043A\u0430\u0432\u0456\u043A", "\u041A\u0440\u0430\u0441\u0430\u0432\u0456\u043A", "\u0422\u0440\u0430\u0432\u0435\u043D\u044C", "\u0427\u044D\u0440\u0432\u0435\u043D\u044C", "\u041B\u0456\u043F\u0435\u043D\u044C", "\u0416\u043D\u0456\u0432\u0435\u043D\u044C", "\u0412\u0435\u0440\u0430\u0441\u0435\u043D\u044C", "\u041A\u0430\u0441\u0442\u0440\u044B\u0447\u043D\u0456\u043A", "\u041B\u0456\u0441\u0442\u0430\u043F\u0430\u0434", "\u0421\u043D\u0435\u0436\u0430\u043D\u044C", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0440\u0443\u0431";
+  static final String intlCurrencySymbol = "BYB";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bn_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bn_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bn_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bn_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_bn_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_bn_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##,##0.###";
+  static final String percentFormat = "#,##,##0%";
+  static final String[] weekdays = { null, "\u09B0\u09AC\u09BF\u09AC\u09BE\u09B0", "\u09B8\u09CB\u09AE\u09AC\u09BE\u09B0", "\u09AE\u0999\u0997\u09B2\u09AC\u09BE\u09B0", "\u09AC\u09C1\u09A7\u09AC\u09BE\u09B0", "\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF\u09AC\u09BE\u09B0", "\u09B6\u09C1\u0995\u09CD\u09B0\u09AC\u09BE\u09B0", "\u09B6\u09A8\u09BF\u09AC\u09BE\u09B0" };
+
+  static final String[] shortWeekdays = { null, "\u09B0\u09AC\u09BF", "\u09B8\u09CB\u09AE", "\u09AE\u0999\u0997\u09B2", "\u09AC\u09C1\u09A7", "\u09AC\u09C3\u09B9\u09B8\u09CD\u09AA\u09A4\u09BF", "\u09B6\u09C1\u0995\u09CD\u09B0", "\u09B6\u09A8\u09BF" };
+
+  static final String[] shortMonths = { "\u099C\u09BE\u09A8\u09C1\u09DF\u09BE\u09B0\u09C0", "\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09DF\u09BE\u09B0\u09C0", "\u09AE\u09BE\u09B0\u09CD\u099A", "\u098F\u09AA\u09CD\u09B0\u09BF\u09B2", "\u09AE\u09C7", "\u099C\u09C1\u09A8", "\u099C\u09C1\u09B2\u09BE\u0987", "\u0986\u0997\u09B8\u09CD\u099F", "\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0", "\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0", "\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0", "\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0", null };
+
+  static final String[] months = { "\u099C\u09BE\u09A8\u09C1\u09DF\u09BE\u09B0\u09C0", "\u09AB\u09C7\u09AC\u09CD\u09B0\u09C1\u09DF\u09BE\u09B0\u09C0", "\u09AE\u09BE\u09B0\u09CD\u099A", "\u098F\u09AA\u09CD\u09B0\u09BF\u09B2", "\u09AE\u09C7", "\u099C\u09C1\u09A8", "\u099C\u09C1\u09B2\u09BE\u0987", "\u0986\u0997\u09B8\u09CD\u099F", "\u09B8\u09C7\u09AA\u09CD\u099F\u09C7\u09AE\u09CD\u09AC\u09B0", "\u0985\u0995\u09CD\u099F\u09CB\u09AC\u09B0", "\u09A8\u09AD\u09C7\u09AE\u09CD\u09AC\u09B0", "\u09A1\u09BF\u09B8\u09C7\u09AE\u09CD\u09AC\u09B0", null };
+
+  static final String[] ampms = { "\u09AA\u09C2\u09B0\u09CD\u09AC\u09BE\u09B9\u09CD\u09A3", "\u0985\u09AA\u09B0\u09BE\u09B9\u09CD\u09A3" };
+
+  static final String shortDateFormat = "EEEE dd MMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u099F\u09BE\u0995\u09BE";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,###,#0.00;-$ #,###,#0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_br_FR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_br_FR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_br_FR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_br_FR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_br_FR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_br_FR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "sul", "lun", "meurzh", "merc'her", "yaou", "gwener", "sadorn" };
+
+  static final String[] shortWeekdays = { null, "sul", "lun", "meu", "mer", "yao", "gwe", "sad" };
+
+  static final String[] shortMonths = { "Gen ", "C'hw", "Meu ", "Ebr ", "Mae ", "Eve ", "Gou ", "Eos ", "Gwe ", "Her ", "Du  ", "Ker ", null };
+
+  static final String[] months = { "Genver", "C'hwevrer", "Meurzh", "Ebrel", "Mae", "Mezheven", "Gouere", "Eost", "Gwengolo", "Here", "Du", "Kerzu", null };
+
+  static final String[] ampms = { " ", " " };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "hhem:s a";
+  static final String currencySymbol = "F";
+  static final String intlCurrencySymbol = "FRF";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bs_BA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bs_BA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bs_BA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_bs_BA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_bs_BA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_bs_BA extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "\u010Cetvrtak", "Petak", "Subota" };
+
+  static final String[] shortWeekdays = { null, "Ned", "Pon", "Uto", "Sri", "\u010Cet", "Pet", "Sub" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec", null };
+
+  static final String[] months = { "Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "KM";
+  static final String intlCurrencySymbol = "BAK";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ca_ES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ca_ES.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ca_ES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ca_ES.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ca_ES.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ca_ES extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte" };
+
+  static final String[] shortWeekdays = { null, "dg", "dl", "dt", "dc", "dj", "dv", "ds" };
+
+  static final String[] shortMonths = { "gen", "feb", "mar", "abr", "mai", "jun", "jul", "ago", "set", "oct", "nov", "des", null };
+
+  static final String[] months = { "gener", "febrer", "mar\u00E7", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Pts";
+  static final String intlCurrencySymbol = "ESP";
+  static final String currencyFormat = "$ #,###,#0.;-$ #,###,#0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cs_CZ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cs_CZ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cs_CZ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cs_CZ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_cs_CZ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_cs_CZ extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "\u00A0";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Ned\u011Ble", "Pond\u011Bl\u00ED", "\u00DAter\u00FD", "St\u0159eda", "\u010Ctvrtek", "P\u00E1tek", "Sobota" };
+
+  static final String[] shortWeekdays = { null, "Ne", "Po", "\u00DAt", "St", "\u010Ct", "P\u00E1", "So" };
+
+  static final String[] shortMonths = { "led", "\u00FAno", "b\u0159e", "dub", "kv\u011B", "\u010Den", "\u010Dec", "srp", "z\u00E1\u0159", "\u0159\u00EDj", "lis", "pro", null };
+
+  static final String[] months = { "leden", "\u00FAnor", "b\u0159ezen", "duben", "kv\u011Bten", "\u010Derven", "\u010Dervenec", "srpen", "z\u00E1\u0159\u00ED", "\u0159\u00EDjen", "listopad", "prosinec", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "hh:m:s";
+  static final String currencySymbol = "K\u010D";
+  static final String intlCurrencySymbol = "CZK";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cy_GB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cy_GB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cy_GB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_cy_GB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_cy_GB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_cy_GB extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_GB.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_GB.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_GB.numberFormat;
+  static final String percentFormat = LocaleInformation_en_GB.percentFormat;
+  static final String[] weekdays = { null, "Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn" };
+
+  static final String[] shortWeekdays = { null, "Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad" };
+
+  static final String[] shortMonths = { "Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha", null };
+
+  static final String[] months = { "Ionawr", "Chwefror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorffennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_en_GB.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_en_GB.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_en_GB.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_da_DK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_da_DK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_da_DK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_da_DK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_da_DK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_da_DK extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "s\u00F8ndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "l\u00F8rdag" };
+
+  static final String[] shortWeekdays = { null, "s\u00F8n", "man", "tir", "ons", "tor", "fre", "l\u00F8r" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "kr";
+  static final String intlCurrencySymbol = "DKK";
+  static final String currencyFormat = "$ #,###,##0.00;$ -#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,230 @@
+/* LocaleInformation_de.java -- German locale data
+   Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+/**
+  * This class contains locale data for the German locale
+  * @author Jochen Hoenicke
+  */
+public class LocaleInformation_de extends ListResourceBundle
+{
+
+/*
+ * This area is used for defining object values
+ */
+
+/**
+  * This is the set of collation rules used by java.text.RuleBasedCollator 
+  * to sort strings properly.  See the documentation of that class for the 
+  * proper format.
+  */
+private static final String collation_rules = 
+  "<0<1<2<3<4<5<6<7<8<9<A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<k,K" +
+  "<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y<z,Z" + 
+  "&ae,\u00e4&Ae,\u00c4&oe,\u00f6&Oe,\u00d6&ue,\u00fc&Ue,\u00dc&ss,\u00df";
+
+/**
+  * This is the list of months, fully spelled out
+  */
+private static final String[] months = { "Januar", "Februar", "M\u00e4rz", 
+  "April", "Mai", "Juni", "Juli", "August", "September", "Oktober",
+  "November", "Dezember", null };
+
+/**
+  * This is the list of abbreviated month names
+  */
+private static final String[] shortMonths = { 
+  "Jan", "Feb", "M\u00e4r", "Apr", "Mai",
+  "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null 
+};
+
+/**
+  * This is the list of weekdays, fully spelled out
+  */
+private static final String[] weekdays = { 
+  null, "Sonntag", "Montag", "Dienstag",
+  "Mittwoch", "Donnerstag", "Freitag", "Samstag" 
+};
+
+/**
+  * This is the list of abbreviated weekdays
+  */
+private static final String[] shortWeekdays = { 
+  null, "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa" 
+};
+
+/**
+  * This is the list of era identifiers
+  */
+private static final String[] eras = { "v. Chr.", "n. Chr." };
+
+/**
+  * This is the list of timezone strings.  The JDK appears to include a
+  * city name as the sixth element.
+  */
+private static final String[][] zoneStrings =
+{
+  // European time zones.  The city names are a little bit random.
+  { "WET", "Westeurop\u00e4ische Zeit", "WEZ", "Westeurop\u00e4ische Sommerzeit", "WESZ", "London" },
+  { "CET", "Mitteleurop\u00e4ische Zeit", "MEZ", "Mitteleurop\u00e4ische Sommerzeit", "MESZ", "Berlin" },
+  { "EET", "Osteurop\u00e4ische Zeit", "OEZ", "Mitteleurop\u00e4ische Sommerzeit", "OESZ", "Istanbul" },
+};
+
+/**
+  * This is the DateFormat.SHORT date format
+  */
+private static final String shortDateFormat = "dd.MM.yy";
+
+/**
+  * This is the DateFormat.MEDIUM format
+  */
+private static final String mediumDateFormat = "d. MMM yy";
+
+/**
+  * This is the DateFormat.LONG format
+  */
+private static final String longDateFormat = "d. MMMM yyyy";
+
+/**
+  * This is the DateFormat.FULL format
+  */
+private static final String fullDateFormat = "EEEE, d. MMMM yyyy";
+
+/**
+  * This is the DateFormat.DEFAULT format
+  */
+private static final String defaultDateFormat = "dd.MM.yy";
+
+/**
+  * This is the DateFormat.SHORT format
+  */
+private static final String shortTimeFormat = "H:mm";
+
+/**
+  * This is the DateFormat.MEDIUM format
+  */
+private static final String mediumTimeFormat = "H:mm:ss";
+
+/**
+  * This is the DateFormat.LONG format
+  */
+private static final String longTimeFormat = "H:mm:ss z";
+
+/**
+  * This is the DateFormat.FULL format
+  */
+private static final String fullTimeFormat = "H:mm:ss 'Uhr' z";
+
+/**
+  * This is the DateFormat.DEFAULT format
+  */
+private static final String defaultTimeFormat = "H:mm:ss";
+
+/**
+  * This is the currency symbol
+  */
+private static final String currencySymbol = "DM";
+
+/**
+  * This is the international currency symbol. 
+  */
+private static final String intlCurrencySymbol = "DEM";
+
+/**
+  * This is the decimal point.
+  */
+private static final String decimalSeparator = ",";
+
+/**
+  * This is the decimal separator in monetary values.
+  */
+private static final String monetarySeparator = ",";
+
+/*************************************************************************/
+
+/**
+  * This is the object array used to hold the keys and values
+  * for this bundle
+  */
+
+private static final Object[][] contents =
+{
+  // For RuleBasedCollator
+  { "collation_rules", collation_rules },
+  // For SimpleDateFormat/DateFormatSymbols
+  { "months", months },
+  { "shortMonths", shortMonths },
+  { "weekdays", weekdays },
+  { "shortWeekdays", shortWeekdays },
+  { "eras", eras },
+  { "zoneStrings", zoneStrings },
+  { "shortDateFormat", shortDateFormat },
+  { "mediumDateFormat", mediumDateFormat },
+  { "longDateFormat", longDateFormat },
+  { "fullDateFormat", fullDateFormat },
+  { "defaultDateFormat", defaultDateFormat },
+  { "shortTimeFormat", shortTimeFormat },
+  { "mediumTimeFormat", mediumTimeFormat },
+  { "longTimeFormat", longTimeFormat },
+  { "fullTimeFormat", fullTimeFormat },
+  { "defaultTimeFormat", defaultTimeFormat },
+  // For DecimalFormat/DecimalFormatSymbols
+  { "currencySymbol", currencySymbol },
+  { "intlCurrencySymbol", intlCurrencySymbol },
+  { "decimalSeparator", decimalSeparator },
+  { "monetarySeparator", monetarySeparator },
+};
+
+/*************************************************************************/
+
+/**
+  * This method returns the object array of key, value pairs containing
+  * the data for this bundle.
+  *
+  * @return The key, value information.
+  */
+public Object[][]
+getContents()
+{
+  return(contents);
+}
+
+} // class LocaleInformation_de

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_AT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_AT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_AT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_AT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_de_AT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_de_AT extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
+
+  static final String[] shortWeekdays = { null, "Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam" };
+
+  static final String[] shortMonths = { "J\u00E4n", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null };
+
+  static final String[] months = { "J\u00E4nner", "Feber", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "S";
+  static final String intlCurrencySymbol = "ATS";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_BE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_BE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_BE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_BE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_de_BE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_de_BE extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_de_DE.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_de_DE.groupingSeparator;
+  static final String numberFormat = LocaleInformation_de_DE.numberFormat;
+  static final String percentFormat = LocaleInformation_de_DE.percentFormat;
+  static final String[] weekdays = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
+
+  static final String[] shortWeekdays = { null, "Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null };
+
+  static final String[] months = { "Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Fr";
+  static final String intlCurrencySymbol = "BEF";
+  static final String currencyFormat = "$ #,###,##0.00;$ -#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_CH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_CH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_CH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_CH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_de_CH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_de_CH extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = " ";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
+
+  static final String[] shortWeekdays = { null, "Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null };
+
+  static final String[] months = { "Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Fr.";
+  static final String intlCurrencySymbol = "CHF";
+  static final String currencyFormat = "$ #,###,##0.00;$ -#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_DE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_DE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_DE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_DE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_de_DE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_de_DE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
+
+  static final String[] shortWeekdays = { null, "Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null };
+
+  static final String[] months = { "Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "DM";
+  static final String intlCurrencySymbol = "DEM";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_LU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_LU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_LU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_de_LU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_de_LU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_de_LU extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_de_DE.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_de_DE.groupingSeparator;
+  static final String numberFormat = LocaleInformation_de_DE.numberFormat;
+  static final String percentFormat = LocaleInformation_de_DE.percentFormat;
+  static final String[] weekdays = { null, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };
+
+  static final String[] shortWeekdays = { null, "Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "M\u00E4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", null };
+
+  static final String[] months = { "Januar", "Februar", "M\u00E4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "FLUX";
+  static final String intlCurrencySymbol = "LUF";
+  static final String currencyFormat = "$ #,###,##0.00;$ -#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_el_GR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_el_GR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_el_GR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_el_GR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_el_GR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_el_GR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03B7", "\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1", "\u03A4\u03C1\u03AF\u03C4\u03B7", "\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7", "\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7", "\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE", "\u03A3\u03B1\u03B2\u03B2\u03AC\u03C4\u03BF" };
+
+  static final String[] shortWeekdays = { null, "\u039A\u03C5\u03C1", "\u0394\u03B5\u03C5", "\u03A4\u03C1\u03B9", "\u03A4\u03B5\u03C4", "\u03A0\u03B5\u03BC", "\u03A0\u03B1\u03C1", "\u03A3\u03B1\u03B2" };
+
+  static final String[] shortMonths = { "\u0399\u03B1\u03BD", "\u03A6\u03B5\u03B2", "\u039C\u03AC\u03C1", "\u0391\u03C0\u03C1", "\u039C\u03AC\u03B9", "\u0399\u03BF\u03CD\u03BD", "\u0399\u03BF\u03CD\u03BB", "\u0391\u03CD\u03B3", "\u03A3\u03B5\u03C0", "\u039F\u03BA\u03C4", "\u039D\u03BF\u03AD", "\u0394\u03B5\u03BA", null };
+
+  static final String[] months = { "\u0399\u03B1\u03BD\u03BF\u03AC\u03C1\u03B9\u03BF\u03C2", "\u03A6\u03B5\u03B2\u03C1\u03BF\u03AC\u03C1\u03B9\u03BF\u03C2", "\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2", "\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2", "\u039C\u03AC\u03B9\u03BF\u03C2", "\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2", "\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2", "\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2", "\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", "\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2", "\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", "\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u03B4\u03C1\u03C7";
+  static final String intlCurrencySymbol = "GRD";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,207 @@
+/* LocaleInformation_en.java -- US English locale data
+   Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+/**
+ * This class contains locale data for English.
+ */
+public class LocaleInformation_en extends ListResourceBundle
+{
+
+  /*
+   * This area is used for defining object values
+   */
+
+  /**
+   * This is the set of collation rules used by java.text.RuleBasedCollator 
+   * to sort strings properly.  See the documentation of that class for the 
+   * proper format.
+   */
+  // FIXME: this is nowhere near complete.
+  // In particular we must mark accents as ignorable,
+  // and probably other things as well.
+  private static final String collation_rules = 
+  "<0<1<2<3<4<5<6<7<8<9<A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<k,K" +
+  "<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y<z,Z";
+
+  /**
+   * This is the list of months, fully spelled out
+   */
+  private static final String[] months =
+  {
+    "January", "February", "March", "April", "May", "June",
+    "July", "August", "September", "October", "November", "December", null
+  };
+
+  /**
+   * This is the list of abbreviated month names
+   */
+  private static final String[] shortMonths =
+  {
+    "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null
+  };
+
+  /**
+   * This is the list of weekdays, fully spelled out
+   */
+  private static final String[] weekdays =
+  {
+    null, "Sunday", "Monday", "Tuesday", "Wednesday",
+    "Thursday", "Friday", "Saturday"
+  };
+
+  /**
+   * This is the list of abbreviated weekdays
+   */
+  private static final String[] shortWeekdays =
+  {
+    null, "Sun", "Mon", "Tue", "Wed",
+    "Thu", "Fri", "Sat"
+  };
+
+  /**
+   * This is the list of AM/PM strings
+   */
+  private static final String[] ampms = { "AM", "PM" };
+
+  /**
+   * This is the list of era identifiers
+   */
+  private static final String[] eras = { "BC", "AD" };
+
+  private static final String[][] zoneStrings =
+  {
+    { "GMT", "Greenwich Mean Time", "GMT",
+      /**/   "Greenwich Mean Time", "GMT", "GMT" },
+    { "PST", "Pacific Standard Time", "PST",
+      /**/   "Pacific Daylight Time", "PDT", "San Francisco" },
+    { "MST", "Mountain Standard Time", "MST",
+      /**/   "Mountain Daylight Time", "MDT", "Denver" },
+    { "PNT", "Mountain Standard Time", "MST",
+      /**/   "Mountain Standard Time", "MST", "Phoenix" },
+    { "CST", "Central Standard Time", "CST",
+      /**/   "Central Daylight Time", "CDT", "Chicago" },
+    { "EST", "Eastern Standard Time", "EST",
+      /**/   "Eastern Daylight Time", "EDT", "Boston" },
+    { "IET", "Eastern Standard Time", "EST",
+      /**/   "Eastern Standard Time", "EST", "Indianapolis" },
+    { "PRT", "Atlantic Standard Time", "AST",
+      /**/   "Atlantic Daylight Time", "ADT", "Halifax" },
+    { "CNT", "Newfoundland Standard Time", "NST",
+      /**/   "Newfoundland Daylight Time", "NDT", "St. Johns" },
+    { "ECT", "Central European Standard Time", "CET",
+      /**/   "Central European Daylight Time", "CEST", "Paris" },
+    { "CTT", "China Standard Time", "CST",
+      /**/   "China Standard Time", "CST", "Shanghai" },
+    { "JST", "Japan Standard Time", "JST",
+      /**/   "Japan Standard Time", "JST", "Tokyo" },
+    { "HST", "Hawaii Standard Time", "HST",
+      /**/   "Hawaii Standard Time", "HST", "Honolulu" },
+    { "AST", "Alaska Standard Time", "AKST",
+      /**/   "Alaska Daylight Time", "AKDT", "Anchorage" }
+  };
+
+  /*************************************************************************/
+
+  /**
+   * This is the object array used to hold the keys and values
+   * for this bundle
+   */
+
+  private static final Object[][] contents =
+  {
+    // For RuleBasedCollator
+    { "collation_rules", collation_rules },
+
+    // For SimpleDateFormat/DateFormatSymbols
+    { "months", months },
+    { "shortMonths", shortMonths },
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "ampms", ampms },
+    { "eras", eras },
+    { "localPatternChars", "GyMdkHmsSEDFwWahKzYeugAZ" },
+    { "zoneStrings", zoneStrings },
+
+    { "shortDateFormat", "M/d/yy" },         // Java's Y2K bug.
+    { "mediumDateFormat", "d-MMM-yy" },
+    { "longDateFormat", "MMMM d, yyyy" },
+    { "fullDateFormat", "EEEE MMMM d, yyyy G" },
+    { "defaultDateFormat", "d-MMMM-yy" },
+    { "shortTimeFormat", "h:mm a" },
+    { "mediumTimeFormat", "h:mm:ss a" },
+    { "longTimeFormat", "h:mm:ss a z" },
+    { "fullTimeFormat", "h:mm:ss;S 'o''clock' a z" },
+    { "defaultTimeFormat", "h:mm:ss a" },
+
+    // For DecimalFormat/DecimalFormatSymbols
+    { "decimalSeparator", "." },
+    { "digit", "#" },
+    { "exponential", "E" },
+    { "groupingSeparator", "," },
+    { "infinity", "\u221e" },
+    { "NaN", "\ufffd" },
+    { "minusSign", "-" },
+    { "monetarySeparator", "." },
+    { "patternSeparator", ";" },
+    { "percent", "%" },
+    { "perMill", "\u2030" },
+    { "zeroDigit", "0" },
+
+    // For NumberFormat.
+    { "numberFormat", "#,##0.###" },
+    { "percentFormat", "#,##0%" },
+  };
+
+  /*************************************************************************/
+
+  /**
+   * This method returns the object array of key, value pairs containing
+   * the data for this bundle.
+   *
+   * @return The key, value information.
+   */
+  public Object[][] getContents ()
+  {
+    return contents;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_AU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_AU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_AU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_AU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_AU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_AU extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "AUD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_BW.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_BW.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_BW.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_BW.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_BW.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_BW extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_ZA.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_ZA.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_ZA.numberFormat;
+  static final String percentFormat = LocaleInformation_en_ZA.percentFormat;
+  static final String[] weekdays = LocaleInformation_en_ZA.weekdays;
+
+  static final String[] shortWeekdays = LocaleInformation_en_ZA.shortWeekdays;
+
+  static final String[] shortMonths = LocaleInformation_en_ZA.shortMonths;
+
+  static final String[] months = LocaleInformation_en_ZA.months;
+
+  static final String[] ampms = LocaleInformation_en_ZA.ampms;
+
+  static final String shortDateFormat = LocaleInformation_en_ZA.shortDateFormat;
+  static final String defaultTimeFormat = LocaleInformation_en_ZA.defaultTimeFormat;
+  static final String currencySymbol = "Pu";
+  static final String intlCurrencySymbol = "BWP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_CA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_CA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_CA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_CA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_CA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_CA extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "CAD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_DK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_DK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_DK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_DK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_DK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_DK extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A4";
+  static final String intlCurrencySymbol = "DKK";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_GB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_GB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_GB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_GB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_GB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_GB extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A3";
+  static final String intlCurrencySymbol = "GBP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_HK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_HK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_HK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_HK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_HK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_HK extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "EEEE, MMMM dd, yyyy";
+  static final String defaultTimeFormat = "ahh:m:s z";
+  static final String currencySymbol = "HK$";
+  static final String intlCurrencySymbol = "HKD";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_IE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_IE extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_GB.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_GB.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_GB.numberFormat;
+  static final String percentFormat = LocaleInformation_en_GB.percentFormat;
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A3";
+  static final String intlCurrencySymbol = "IEP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##,##0.###";
+  static final String percentFormat = "#,##,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "EEEE dd MMMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u20A8";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,##,##0.00;-$ #,##,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_NZ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_NZ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_NZ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_NZ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_NZ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_NZ extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "NZD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_PH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_PH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_PH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_PH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_PH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_PH extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "EEEE, dd MMMM, yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "Php";
+  static final String intlCurrencySymbol = "PHP";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_SG.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_SG.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_SG.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_SG.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_SG.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_SG extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "EEEE dd,MMMM,yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "SGD";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_US.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_US.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_US.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_US.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_US.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_US extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "MM/dd/yyyy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "USD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_ZA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_ZA extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
+
+  static final String[] shortWeekdays = { null, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
+
+  static final String[] shortMonths = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", null };
+
+  static final String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "R";
+  static final String intlCurrencySymbol = "ZAR";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZW.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZW.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZW.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_en_ZW.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_en_ZW.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_en_ZW extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_ZA.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_ZA.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_ZA.numberFormat;
+  static final String percentFormat = LocaleInformation_en_ZA.percentFormat;
+  static final String[] weekdays = LocaleInformation_en_ZA.weekdays;
+
+  static final String[] shortWeekdays = LocaleInformation_en_ZA.shortWeekdays;
+
+  static final String[] shortMonths = LocaleInformation_en_ZA.shortMonths;
+
+  static final String[] months = LocaleInformation_en_ZA.months;
+
+  static final String[] ampms = LocaleInformation_en_ZA.ampms;
+
+  static final String shortDateFormat = LocaleInformation_en_ZA.shortDateFormat;
+  static final String defaultTimeFormat = LocaleInformation_en_ZA.defaultTimeFormat;
+  static final String currencySymbol = "Z$";
+  static final String intlCurrencySymbol = "ZWD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_AR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_AR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_AR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_AR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_AR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_AR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "ARS";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_BO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_BO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_BO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_BO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_BO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_BO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$b";
+  static final String intlCurrencySymbol = "BOB";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_CL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_CL extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "CLP";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_CO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_CO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "COP";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_CR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_CR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_CR extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "C";
+  static final String intlCurrencySymbol = "CRC";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_DO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_DO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_DO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_DO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_DO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_DO extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "DOP";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_EC.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_EC.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_EC.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_EC.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_EC.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_EC extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "ECS";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_ES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_ES.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_ES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_ES.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_ES.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_ES extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Pts";
+  static final String intlCurrencySymbol = "ESP";
+  static final String currencyFormat = "$ #,###,##0.;-$ #,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_GT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_GT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_GT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_GT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_GT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_GT extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Q";
+  static final String intlCurrencySymbol = "GTQ";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_HN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_HN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_HN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_HN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_HN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_HN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "L.";
+  static final String intlCurrencySymbol = "HNL";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_MX.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_MX.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_MX.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_MX.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_MX.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_MX extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "MXP";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_NI.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_NI.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_NI.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_NI.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_NI.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_NI extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$C";
+  static final String intlCurrencySymbol = "NIO";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_PA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_PA extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "B/";
+  static final String intlCurrencySymbol = "PAB";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_PE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_PE extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "S/";
+  static final String intlCurrencySymbol = "PEN";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_PR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_PR extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "USD";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_PY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_PY.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_PY extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Gs.";
+  static final String intlCurrencySymbol = "PYG";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_SV.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_SV.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_SV.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_SV.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_SV.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_SV extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A2";
+  static final String intlCurrencySymbol = "SVC";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_US.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_US.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_US.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_US.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_US.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_US extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_US.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_US.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_US.numberFormat;
+  static final String percentFormat = LocaleInformation_en_US.percentFormat;
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "USD";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_UY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_UY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_UY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_UY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_UY.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_UY extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "N$";
+  static final String intlCurrencySymbol = "UYU";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_VE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_VE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_VE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_es_VE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_es_VE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_es_VE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "lunes", "martes", "mi\u00E9rcoles", "jueves", "viernes", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mi\u00E9", "jue", "vie", "s\u00E1b" };
+
+  static final String[] shortMonths = { "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic", null };
+
+  static final String[] months = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Bs.";
+  static final String intlCurrencySymbol = "VEB";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_et_EE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_et_EE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_et_EE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_et_EE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_et_EE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_et_EE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "\u00A0";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "p\u00FChap\u00E4ev", "esmasp\u00E4ev", "teisip\u00E4ev", "kolmap\u00E4ev", "neljap\u00E4ev", "reede", "laup\u00E4ev" };
+
+  static final String[] shortWeekdays = { null, "P", "E", "T", "K", "N", "R", "L" };
+
+  static final String[] shortMonths = { "jaan ", "veebr", "m\u00E4rts", "apr  ", "mai  ", "juuni", "juuli", "aug  ", "sept ", "okt  ", "nov  ", "dets ", null };
+
+  static final String[] months = { "jaanuar", "veebruar", "m\u00E4rts", "aprill", "mai", "juuni", "juuli", "august", "september", "oktoober", "november", "detsember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "kr";
+  static final String intlCurrencySymbol = "EEK";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_eu_ES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_eu_ES.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_eu_ES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_eu_ES.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_eu_ES.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_eu_ES extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "igandea", "astelehena", "asteartea", "asteazkena", "osteguna", "ostirala", "larunbata" };
+
+  static final String[] shortWeekdays = { null, "iga", "leh", "art", "azk", "teg", "tir", "lar" };
+
+  static final String[] shortMonths = { "urt", "ots", "mar", "api", "mai", "eka", "uzt", "abu", "ira", "urr", "aza", "abe", null };
+
+  static final String[] months = { "urtarrila", "otsaila", "martxoa", "apirila", "maiatza", "ekaina", "uztaila", "abuztua", "iraila", "urria", "azaroa", "abendua", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Pts";
+  static final String intlCurrencySymbol = "ESP";
+  static final String currencyFormat = "$ #,###,##0.;-$ #,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fa_IR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fa_IR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fa_IR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fa_IR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fa_IR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fa_IR extends ListResourceBundle
+{
+  static final String decimalSeparator = "\u066B";
+  static final String groupingSeparator = "\u066C";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647", "\u062F\u0648\u0634\u0646\u0628\u0647", "\u0633\u0647\u200C\u0634\u0646\u0628\u0647", "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647", "\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647", "\u062C\u0645\u0639\u0647", "\u0634\u0646\u0628\u0647" };
+
+  static final String[] shortWeekdays = { null, "\u06CC.", "\u062F.", "\u0633.", "\u0686.", "\u067E.", "\u062C.", "\u0634." };
+
+  static final String[] shortMonths = { "\u0698\u0627\u0646", "\u0641\u0648\u0631", "\u0645\u0627\u0631", "\u0622\u0648\u0631", "\u0645\u0640\u0647", "\u0698\u0648\u0646", "\u0698\u0648\u06CC", "\u0627\u0648\u062A", "\u0633\u067E\u062A", "\u0627\u0643\u062A", "\u0646\u0648\u0627", "\u062F\u0633\u0627", null };
+
+  static final String[] months = { "\u0698\u0627\u0646\u0648\u06CC\u0647", "\u0641\u0648\u0631\u06CC\u0647", "\u0645\u0627\u0631\u0633", "\u0622\u0648\u0631\u06CC\u0644", "\u0645\u0647", "\u0698\u0648\u0626\u0646", "\u0698\u0648\u0626\u06CC\u0647", "\u0627\u0648\u062A", "\u0633\u067E\u062A\u0627\u0645\u0628\u0631", "\u0627\u0643\u062A\u0628\u0631", "\u0646\u0648\u0627\u0645\u0628\u0631", "\u062F\u0633\u0627\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635\u0628\u062D", "\u0639\u0635\u0631" };
+
+  static final String shortDateFormat = "yyyy/MM/dd";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "\u0631\u06CC\u0627\u0644";
+  static final String intlCurrencySymbol = "IRR";
+  static final String currencyFormat = "#,##0. $;-#,##0. $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fi_FI.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fi_FI.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fi_FI.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fi_FI.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fi_FI.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fi_FI extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai" };
+
+  static final String[] shortWeekdays = { null, "su", "ma", "ti", "ke", "to", "pe", "la" };
+
+  static final String[] shortMonths = { "tammi\u00A0", "helmi\u00A0", "maalis", "huhti\u00A0", "touko\u00A0", "kes\u00E4\u00A0\u00A0", "hein\u00E4\u00A0", "elo\u00A0\u00A0\u00A0", "syys\u00A0\u00A0", "loka\u00A0\u00A0", "marras", "joulu\u00A0", null };
+
+  static final String[] months = { "tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kes\u00E4kuu", "hein\u00E4kuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "mk";
+  static final String intlCurrencySymbol = "FIM";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fo_FO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fo_FO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fo_FO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fo_FO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fo_FO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fo_FO extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_da_DK.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_da_DK.groupingSeparator;
+  static final String numberFormat = LocaleInformation_da_DK.numberFormat;
+  static final String percentFormat = LocaleInformation_da_DK.percentFormat;
+  static final String[] weekdays = { null, "sunnudagur", "m\u00E1nadagur", "t\u00FDsdagur", "mikudagur", "h\u00F3sdagur", "fr\u00EDggjadagur", "leygardagur" };
+
+  static final String[] shortWeekdays = { null, "sun", "m\u00E1n", "t\u00FDs", "mik", "h\u00F3s", "fr\u00ED", "ley" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des", null };
+
+  static final String[] months = { "januar", "februar", "mars", "apr\u00EDl", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM-yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_da_DK.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_da_DK.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_da_DK.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_BE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_BE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_BE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_BE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fr_BE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fr_BE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mer", "jeu", "ven", "sam" };
+
+  static final String[] shortMonths = { "jan", "f\u00E9v", "mar", "avr", "mai", "jun", "jui", "ao\u00FB", "sep", "oct", "nov", "d\u00E9c", null };
+
+  static final String[] months = { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "FB";
+  static final String intlCurrencySymbol = "BEF";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fr_CA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fr_CA extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = " ";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mer", "jeu", "ven", "sam" };
+
+  static final String[] shortMonths = { "jan", "f\u00E9v", "mar", "avr", "mai", "jun", "jui", "ao\u00FB", "sep", "oct", "nov", "d\u00E9c", null };
+
+  static final String[] months = { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "CAD";
+  static final String currencyFormat = "#,###,##0.00 $;(#,###,##0.00 $)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_CH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fr_CH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fr_CH extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mer", "jeu", "ven", "sam" };
+
+  static final String[] shortMonths = { "jan", "f\u00E9v", "mar", "avr", "mai", "jun", "jui", "ao\u00FB", "sep", "oct", "nov", "d\u00E9c", null };
+
+  static final String[] months = { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd. MM. yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_de_CH.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_de_CH.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_de_CH.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_FR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_FR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_FR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_FR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fr_FR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fr_FR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mer", "jeu", "ven", "sam" };
+
+  static final String[] shortMonths = { "jan", "f\u00E9v", "mar", "avr", "mai", "jun", "jui", "ao\u00FB", "sep", "oct", "nov", "d\u00E9c", null };
+
+  static final String[] months = { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "F";
+  static final String intlCurrencySymbol = "FRF";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_LU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_LU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_LU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_fr_LU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_fr_LU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_fr_LU extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mer", "jeu", "ven", "sam" };
+
+  static final String[] shortMonths = { "jan", "f\u00E9v", "mar", "avr", "mai", "jun", "jui", "ao\u00FB", "sep", "oct", "nov", "d\u00E9c", null };
+
+  static final String[] months = { "janvier", "f\u00E9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\u00FBt", "septembre", "octobre", "novembre", "d\u00E9cembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "FLUX";
+  static final String intlCurrencySymbol = "LUF";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ga_IE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ga_IE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ga_IE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ga_IE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ga_IE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ga_IE extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "D\u00E9 Domhnaigh", "D\u00E9 Luain", "D\u00E9 M\u00E1irt", "D\u00E9 C\u00E9adaoin", "D\u00E9ardaoin", "D\u00E9 hAoine", "D\u00E9 Sathairn" };
+
+  static final String[] shortWeekdays = { null, "Domh", "Luan", "M\u00E1irt", "C\u00E9ad", "D\u00E9ar", "Aoine", "Sath" };
+
+  static final String[] shortMonths = { "Ean", "Feabh", "M\u00E1rta", "Aib", "Beal", "Meith", "I\u00FAil", "L\u00FAn", "MF\u00F3mh", "DF\u00F3mh", "Samh", "Noll", null };
+
+  static final String[] months = { "Ean\u00E1ir", "Feabhra", "M\u00E1rta", "Aibre\u00E1n", "M\u00ED na Bealtaine", "Meith", "I\u00FAil", "L\u00FAnasa", "Me\u00E1n F\u00F3mhair", "Deireadh F\u00F3mhair", "M\u00ED na Samhna", "M\u00ED na Nollag", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A3";
+  static final String intlCurrencySymbol = "IEP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gd_GB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gd_GB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gd_GB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gd_GB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_gd_GB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_gd_GB extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_GB.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_GB.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_GB.numberFormat;
+  static final String percentFormat = LocaleInformation_en_GB.percentFormat;
+  static final String[] weekdays = { null, "Did\u00F2mhnaich", "Diluain", "Dim\u00E0irt", "Diciadain", "Diardaoin", "Dihaoine", "Disathairne" };
+
+  static final String[] shortWeekdays = { null, "Dido", "Dilu", "Dim", "Dic", "Diar", "Diha", "Disa" };
+
+  static final String[] shortMonths = { "Fao", "Gea", "M\u00E0r", "Gib", "Mh\u00E0", "OgM", "luc", "L\u00F9n", "Sul", "Dam", "Sam", "D\u00F9b", null };
+
+  static final String[] months = { "Am Faoilteach", "An Gearran", "Am M\u00E0rt", "An Giblean", "A' Mh\u00E0igh", "An t-Mh\u00ECos", "An t-luchar", "An L\u00F9nasdal", "An t-Sultain", "An Damhair", "An t-Samhain", "An D\u00F9bhlachd", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_en_GB.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_en_GB.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_en_GB.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gl_ES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gl_ES.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gl_ES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gl_ES.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_gl_ES.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_gl_ES extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Domingo", "Luns", "Martes", "M\u00E9rcores", "Xoves", "Venres", "S\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "Dom", "Lun", "Mar", "M\u00E9r", "Xov", "Ven", "S\u00E1b" };
+
+  static final String[] shortMonths = { "Xan", "Feb", "Mar", "Abr", "Mai", "Xu\u00F1", "Xul", "Ago", "Set", "Out", "Nov", "Dec", null };
+
+  static final String[] months = { "Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xu\u00F1o", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Pta";
+  static final String intlCurrencySymbol = "ESP";
+  static final String currencyFormat = "$ #,###,##0.;-$ #,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gv_GB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gv_GB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gv_GB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_gv_GB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_gv_GB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_gv_GB extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Jedoonee", "Jelhein", "Jemayrt", "Jercean", "Jerdein", "Jeheiney", "Jesarn" };
+
+  static final String[] shortWeekdays = { null, "Jed", "Jel", "Jem", "Jerc", "Jerd", "Jeh", "Jes" };
+
+  static final String[] shortMonths = { "J-guer", "T-arree", "Mayrnt", "Avrril", "Boaldyn", "M-souree", "J-souree", "Luanistyn", "M-fouyir", "J-fouyir", "M.Houney", "M.Nollick", null };
+
+  static final String[] months = { "Jerrey-geuree", "Toshiaght-arree", "Mayrnt", "Averil", "Boaldyn", "Mean-souree", "Jerrey-souree", "Luanistyn", "Mean-fouyir", "Jerrey-fouyir", "Mee Houney", "Mee ny Nollick", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A3";
+  static final String intlCurrencySymbol = "GBP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_he_IL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_he_IL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_he_IL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_he_IL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_he_IL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_he_IL extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u05E8\u05D0\u05E9\u05D5\u05DF", "\u05E9\u05E0\u05D9", "\u05E9\u05DC\u05D9\u05E9\u05D9", "\u05E8\u05D1\u05D9\u05E2\u05D9", "\u05D7\u05DE\u05D9\u05E9\u05D9", "\u05E9\u05D9\u05E9\u05D9", "\u05E9\u05D1\u05EA" };
+
+  static final String[] shortWeekdays = { null, "\u05D0'", "\u05D1'", "\u05D2'", "\u05D3'", "\u05D4'", "\u05D5'", "\u05E9'" };
+
+  static final String[] shortMonths = { "\u05D9\u05E0\u05D5", "\u05E4\u05D1\u05E8", "\u05DE\u05E8\u05E5", "\u05D0\u05E4\u05E8", "\u05DE\u05D0\u05D9", "\u05D9\u05D5\u05E0", "\u05D9\u05D5\u05DC", "\u05D0\u05D5\u05D2", "\u05E1\u05E4\u05D8", "\u05D0\u05D5\u05E7", "\u05E0\u05D5\u05D1", "\u05D3\u05E6\u05DE", null };
+
+  static final String[] months = { "\u05D9\u05E0\u05D5\u05D0\u05E8", "\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8", "\u05DE\u05E8\u05E5", "\u05D0\u05E4\u05E8\u05D9\u05DC", "\u05DE\u05D0\u05D9", "\u05D9\u05D5\u05E0\u05D9", "\u05D9\u05D5\u05DC\u05D9", "\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8", "\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8", "\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8", "\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8", "\u05D3\u05E6\u05DE\u05D1\u05E8", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "\u05E9\u05D7";
+  static final String intlCurrencySymbol = "ILS";
+  static final String currencyFormat = "$ #,###,##0.00;$ #,###,##0.00-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hi_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hi_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hi_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hi_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_hi_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_hi_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0930\u0935\u093F\u0935\u093E\u0930 ", "\u0938\u094B\u092E\u0935\u093E\u0930 ", "\u092E\u0902\u0917\u0932\u0935\u093E\u0930 ", "\u092C\u0941\u0927\u0935\u093E\u0930 ", "\u0917\u0941\u0930\u0941\u0935\u093E\u0930 ", "\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930 ", "\u0936\u0928\u093F\u0935\u093E\u0930 " };
+
+  static final String[] shortWeekdays = { null, "\u0930\u0935\u093F ", "\u0938\u094B\u092E ", "\u092E\u0902\u0917\u0932 ", "\u092C\u0941\u0927 ", "\u0917\u0941\u0930\u0941 ", "\u0936\u0941\u0915\u094D\u0930 ", "\u0936\u0928\u093F " };
+
+  static final String[] shortMonths = { "\u091C\u0928\u0935\u0930\u0940", "\u092B\u093C\u0930\u0935\u0930\u0940", "\u092E\u093E\u0930\u094D\u091A", "\u0905\u092A\u094D\u0930\u0947\u0932", "\u092E\u0908", "\u091C\u0942\u0928", "\u091C\u0941\u0932\u093E\u0908", "\u0905\u0917\u0938\u094D\u0924", "\u0938\u093F\u0924\u092E\u094D\u092C\u0930", "\u0905\u0915\u094D\u091F\u0942\u092C\u0930", "\u0928\u0935\u092E\u094D\u092C\u0930", "\u0926\u093F\u0938\u092E\u094D\u092C\u0930", null };
+
+  static final String[] months = { "\u091C\u0928\u0935\u0930\u0940", "\u092B\u093C\u0930\u0935\u0930\u0940", "\u092E\u093E\u0930\u094D\u091A", "\u0905\u092A\u094D\u0930\u0947\u0932", "\u092E\u0908", "\u091C\u0942\u0928", "\u091C\u0941\u0932\u093E\u0908", "\u0905\u0917\u0938\u094D\u0924", "\u0938\u093F\u0924\u092E\u094D\u092C\u0930", "\u0905\u0915\u094D\u091F\u0942\u092C\u0930", "\u0928\u0935\u092E\u094D\u092C\u0930", "\u0926\u093F\u0938\u092E\u094D\u092C\u0930", null };
+
+  static final String[] ampms = { "\u092A\u0942\u0930\u094D\u0935\u093E\u0939\u094D\u0928", "\u0905\u092A\u0930\u093E\u0939\u094D\u0928" };
+
+  static final String shortDateFormat = "EEEE dd MMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u0930\u0942";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,##0.00;-$ #,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hr_HR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hr_HR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hr_HR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hr_HR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_hr_HR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_hr_HR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "\u010Cetvrtak", "Petak", "Subota" };
+
+  static final String[] shortWeekdays = { null, "Ned", "Pon", "Uto", "Sri", "\u010Cet", "Pet", "Sub" };
+
+  static final String[] shortMonths = { "Sij", "Vel", "O\u017Eu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro", null };
+
+  static final String[] months = { "Sije\u010Danj", "Velja\u010Da", "O\u017Eujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Kn";
+  static final String intlCurrencySymbol = "HRK";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hu_HU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hu_HU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hu_HU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_hu_HU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_hu_HU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_hu_HU extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "VAS\u00C1RNAP", "H\u00C9TF\u0150", "KEDD", "SZERDA", "CS\u00DCT\u00D6RT\u00D6K", "P\u00C9NTEK", "SZOMBAT" };
+
+  static final String[] shortWeekdays = { null, "V", "H", "K", "SZE", "CS", "P", "SZO" };
+
+  static final String[] shortMonths = { "JAN", "FEB", "M\u00C1R", "\u00C1PR", "M\u00C1J", "J\u00DAN", "J\u00DAL", "AUG", "SZE", "OKT", "NOV", "DEC", null };
+
+  static final String[] months = { "JANU\u00C1R", "FEBRU\u00C1R", "M\u00C1RCIUS", "\u00C1PRILIS", "M\u00C1JUS", "J\u00DANIUS", "J\u00DALIUS", "AUGUSZTUS", "SZEPTEMBER", "OKT\u00D3BER", "NOVEMBER", "DECEMBER", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "FT";
+  static final String intlCurrencySymbol = "HUF";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_id_ID.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_id_ID.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_id_ID.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_id_ID.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_id_ID.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_id_ID extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" };
+
+  static final String[] shortWeekdays = { null, "Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab" };
+
+  static final String[] shortMonths = { "Jan", "Peb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des", null };
+
+  static final String[] months = { "Januari", "Pebruari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Rp";
+  static final String intlCurrencySymbol = "IDR";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_CH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_CH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_CH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_CH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_it_CH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_it_CH extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "'";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "domenica", "luned\u00EC", "marted\u00EC", "mercoled\u00EC", "gioved\u00EC", "venerd\u00EC", "sabato" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mer", "gio", "ven", "sab" };
+
+  static final String[] shortMonths = { "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic", null };
+
+  static final String[] months = { "gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd. MM. yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_de_CH.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_de_CH.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_de_CH.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_IT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_IT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_IT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_it_IT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_it_IT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_it_IT extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domenica", "luned\u00EC", "marted\u00EC", "mercoled\u00EC", "gioved\u00EC", "venerd\u00EC", "sabato" };
+
+  static final String[] shortWeekdays = { null, "dom", "lun", "mar", "mer", "gio", "ven", "sab" };
+
+  static final String[] shortMonths = { "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic", null };
+
+  static final String[] months = { "gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "L.";
+  static final String intlCurrencySymbol = "ITL";
+  static final String currencyFormat = "$ #,###,##0.;-$ #,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_iw_IL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_iw_IL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_iw_IL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_iw_IL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_iw_IL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_iw_IL extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u05E8\u05D0\u05E9\u05D5\u05DF", "\u05E9\u05E0\u05D9", "\u05E9\u05DC\u05D9\u05E9\u05D9", "\u05E8\u05D1\u05D9\u05E2\u05D9", "\u05D7\u05DE\u05D9\u05E9\u05D9", "\u05E9\u05D9\u05E9\u05D9", "\u05E9\u05D1\u05EA" };
+
+  static final String[] shortWeekdays = { null, "\u05D0'", "\u05D1'", "\u05D2'", "\u05D3'", "\u05D4'", "\u05D5'", "\u05E9'" };
+
+  static final String[] shortMonths = { "\u05D9\u05E0\u05D5", "\u05E4\u05D1\u05E8", "\u05DE\u05E8\u05E5", "\u05D0\u05E4\u05E8", "\u05DE\u05D0\u05D9", "\u05D9\u05D5\u05E0", "\u05D9\u05D5\u05DC", "\u05D0\u05D5\u05D2", "\u05E1\u05E4\u05D8", "\u05D0\u05D5\u05E7", "\u05E0\u05D5\u05D1", "\u05D3\u05E6\u05DE", null };
+
+  static final String[] months = { "\u05D9\u05E0\u05D5\u05D0\u05E8", "\u05E4\u05D1\u05E8\u05D5\u05D0\u05E8", "\u05DE\u05E8\u05E5", "\u05D0\u05E4\u05E8\u05D9\u05DC", "\u05DE\u05D0\u05D9", "\u05D9\u05D5\u05E0\u05D9", "\u05D9\u05D5\u05DC\u05D9", "\u05D0\u05D5\u05D2\u05D5\u05E1\u05D8", "\u05E1\u05E4\u05D8\u05DE\u05D1\u05E8", "\u05D0\u05D5\u05E7\u05D8\u05D5\u05D1\u05E8", "\u05E0\u05D5\u05D1\u05DE\u05D1\u05E8", "\u05D3\u05E6\u05DE\u05D1\u05E8", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "\u05E9\u05D7";
+  static final String intlCurrencySymbol = "ILS";
+  static final String currencyFormat = "$ #,###,##0.00;$ #,###,##0.00-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ja_JP.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ja_JP.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ja_JP.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ja_JP.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ja_JP.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ja_JP extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u65E5\u66DC\u65E5", "\u6708\u66DC\u65E5", "\u706B\u66DC\u65E5", "\u6C34\u66DC\u65E5", "\u6728\u66DC\u65E5", "\u91D1\u66DC\u65E5", "\u571F\u66DC\u65E5" };
+
+  static final String[] shortWeekdays = { null, "\u65E5", "\u6708", "\u706B", "\u6C34", "\u6728", "\u91D1", "\u571F" };
+
+  static final String[] shortMonths = { " 1\u6708", " 2\u6708", " 3\u6708", " 4\u6708", " 5\u6708", " 6\u6708", " 7\u6708", " 8\u6708", " 9\u6708", "10\u6708", "11\u6708", "12\u6708", null };
+
+  static final String[] months = { "1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708", null };
+
+  static final String[] ampms = { "\u5348\u524D", "\u5348\u5F8C" };
+
+  static final String shortDateFormat = "yyyyMMdd";
+  static final String defaultTimeFormat = "ahhms";
+  static final String currencySymbol = "\uFFE5";
+  static final String intlCurrencySymbol = "JPY";
+  static final String currencyFormat = "$#,##0.;$-#,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ka_GE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ka_GE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ka_GE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ka_GE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ka_GE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ka_GE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u10D9\u10D5\u10D8\u10E0\u10D0", "\u10DD\u10E0\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8", "\u10E1\u10D0\u10DB\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8", "\u10DD\u10D7\u10EE\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8", "\u10EE\u10E3\u10D7\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8", "\u10DE\u10D0\u10E0\u10D0\u10E1\u10D9\u10D4\u10D5\u10D8", "\u10E8\u10D0\u10D1\u10D0\u10D7\u10D8" };
+
+  static final String[] shortWeekdays = { null, "\u10D9\u10D5\u10D8", "\u10DD\u10E0\u10E8", "\u10E1\u10D0\u10DB", "\u10DD\u10D7\u10EE", "\u10EE\u10E3\u10D7", "\u10DE\u10D0\u10E0", "\u10E8\u10D0\u10D1" };
+
+  static final String[] shortMonths = { "\u10D8\u10D0\u10DC", "\u10D7\u10D4\u10D1", "\u10DB\u10D0\u10E0", "\u10D0\u10DE\u10E0", "\u10DB\u10D0\u10D8", "\u10D8\u10D5\u10DC", "\u10D8\u10D5\u10DA", "\u10D0\u10D2\u10D5", "\u10E1\u10D4\u10E5", "\u10DD\u10E5\u10E2", "\u10DC\u10DD\u10D4", "\u10D3\u10D4\u10D9", null };
+
+  static final String[] months = { "\u10D8\u10D0\u10DC\u10D5\u10D0\u10E0\u10D8", "\u10D7\u10D4\u10D1\u10D4\u10E0\u10D5\u10D0\u10DA\u10D8", "\u10DB\u10D0\u10E0\u10E2\u10D8", "\u10D0\u10DE\u10E0\u10D8\u10DA\u10D8", "\u10DB\u10D0\u10D8\u10E1\u10D8", "\u10D8\u10D5\u10DC\u10D8\u10E1\u10D8", "\u10D8\u10D5\u10DA\u10D8\u10E1\u10D8", "\u10D0\u10D2\u10D5\u10D8\u10E1\u10E2\u10DD", "\u10E1\u10D4\u10E5\u10E2\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8", "\u10DD\u10E5\u10E2\u10DD\u10DB\u10D1\u10D4\u10E0\u10D8", "\u10DC\u10DD\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8", "\u10D3\u10D4\u10D9\u10D4\u10DB\u10D1\u10D4\u10E0\u10D8", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "MM/dd/yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u10DA";
+  static final String intlCurrencySymbol = "GEL";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kl_GL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kl_GL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kl_GL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kl_GL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_kl_GL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_kl_GL extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_da_DK.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_da_DK.groupingSeparator;
+  static final String numberFormat = LocaleInformation_da_DK.numberFormat;
+  static final String percentFormat = LocaleInformation_da_DK.percentFormat;
+  static final String[] weekdays = { null, "sabaat", "ataasinngorneq", "marlunngorneq", "pingasunngorneq", "sisamanngorneq", "tallimanngorneq", "arfininngorneq" };
+
+  static final String[] shortWeekdays = { null, "sab", "ata", "mar", "pin", "sis", "tal", "arf" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januari", "februari", "martsi", "aprili", "maji", "juni", "juli", "augustusi", "septemberi", "oktoberi", "novemberi", "decemberi", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd MMM yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_da_DK.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_da_DK.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_da_DK.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ko_KR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ko_KR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ko_KR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ko_KR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ko_KR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ko_KR extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\uC77C\uC694\uC77C", "\uC6D4\uC694\uC77C", "\uD654\uC694\uC77C", "\uC218\uC694\uC77C", "\uBAA9\uC694\uC77C", "\uAE08\uC694\uC77C", "\uD1A0\uC694\uC77C" };
+
+  static final String[] shortWeekdays = { null, "\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0" };
+
+  static final String[] shortMonths = { " 1\uC6D4", " 2\uC6D4", " 3\uC6D4", " 4\uC6D4", " 5\uC6D4", " 6\uC6D4", " 7\uC6D4", " 8\uC6D4", " 9\uC6D4", "10\uC6D4", "11\uC6D4", "12\uC6D4", null };
+
+  static final String[] months = { "\uC77C\uC6D4", "\uC774\uC6D4", "\uC0BC\uC6D4", "\uC0AC\uC6D4", "\uC624\uC6D4", "\uC720\uC6D4", "\uCE60\uC6D4", "\uD314\uC6D4", "\uAD6C\uC6D4", "\uC2DC\uC6D4", "\uC2ED\uC77C\uC6D4", "\uC2ED\uC774\uC6D4", null };
+
+  static final String[] ampms = { "\uC624\uC804", "\uC624\uD6C4" };
+
+  static final String shortDateFormat = "yyyy MM dd";
+  static final String defaultTimeFormat = "a hh m s";
+  static final String currencySymbol = "\uFFE6";
+  static final String intlCurrencySymbol = "KRW";
+  static final String currencyFormat = "$#,###,##0.;$-#,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kw_GB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kw_GB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kw_GB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_kw_GB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_kw_GB.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_kw_GB extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "De Sul", "De Lun", "De Merth", "De Merher", "De Yow", "De Gwener", "De Sadorn" };
+
+  static final String[] shortWeekdays = { null, "Sul", "Lun", "Mth", "Mhr", "Yow", "Gwe", "Sad" };
+
+  static final String[] shortMonths = { "Gen", "Whe>", "Mer", "Ebr", "Me", "Evn", "Gor", "Est", "Gwn", "Hed", "Du", "Kev", null };
+
+  static final String[] months = { "Mys Genver", "Mys Whevrel", "Mys Merth", "Mys Ebrel", "Mys Me", "Mys Evan", "Mys Gortheren", "Mye Est", "Mys Gwyngala", "Mys Hedra", "Mys Du", "Mys Kevardhu", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u00A3";
+  static final String intlCurrencySymbol = "GBP";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lt_LT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lt_LT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lt_LT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lt_LT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_lt_LT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_lt_LT extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Sekmadienis", "Pirmadienis", "Antradienis", "Tre\u010Diadienis", "Ketvirtadienis", "Penktadienis", "\u0160e\u0161tadienis" };
+
+  static final String[] shortWeekdays = { null, "Sk", "Pr", "An", "Tr", "Kt", "Pn", "\u0160t" };
+
+  static final String[] shortMonths = { "Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rgp", "Rgs", "Spa", "Lap", "Grd", null };
+
+  static final String[] months = { "sausio", "vasario", "kovo", "baland\u017Eio", "gegu\u017E\u0117s", "bir\u017Eelio", "liepos", "rugpj\u016B\u010Dio", "rugs\u0117jo", "spalio", "lapkri\u010Dio", "gruod\u017Eio", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy.MM.dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Lt";
+  static final String intlCurrencySymbol = "LTL";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lv_LV.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lv_LV.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lv_LV.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_lv_LV.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_lv_LV.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_lv_LV extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "\u00A0";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "sv\u0113tdiena", "pirmdiena", "otrdiena", "tre\u0161diena", "ceturtdiena", "piektdiena", "sestdiena" };
+
+  static final String[] shortWeekdays = { null, "Sv", "P\u00A0", "O\u00A0", "T\u00A0", "C\u00A0", "Pk", "S\u00A0" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "mai", "j\u016Bn", "j\u016Bl", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "janv\u0101ris", "febru\u0101ris", "marts", "apr\u012Blis", "maijs", "j\u016Bnijs", "j\u016Blijs", "augusts", "septembris", "oktobris", "novembris", "decembris", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy.MM.dd.";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Ls";
+  static final String intlCurrencySymbol = "LVL";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mi_NZ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mi_NZ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mi_NZ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mi_NZ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_mi_NZ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_mi_NZ extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_NZ.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_NZ.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_NZ.numberFormat;
+  static final String percentFormat = LocaleInformation_en_NZ.percentFormat;
+  static final String[] weekdays = { null, "R\u0101tapu", "Mane", "T\u016Brei", "Wenerei", "T\u0101ite", "Paraire", "H\u0101tarei" };
+
+  static final String[] shortWeekdays = { null, "Ta", "Ma", "T\u016B", "We", "T\u0101i", "Pa", "H\u0101" };
+
+  static final String[] shortMonths = { "Kohi", "Hui", "Pou", "Pae", "Hara", "Pipi", "H\u014Dngoi", "Here", "Mahu", "Whi-nu", "Whi-ra", "Haki", null };
+
+  static final String[] months = { "Kohi-t\u0101tea", "Hui-tanguru", "Pout\u016B-te-rangi", "Paenga-wh\u0101wh\u0101", "Haratua", "Pipiri", "H\u014Dngoingoi", "Here-turi-k\u014Dk\u0101", "Mahuru", "Whiringa-\u0101-nuku", "Whiringa-\u0101-rangi", "Hakihea", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_en_NZ.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_en_NZ.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_en_NZ.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mk_MK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mk_MK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mk_MK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mk_MK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_mk_MK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_mk_MK extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = " ";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u043D\u0435\u0434\u0435\u043B\u0430", "\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A", "\u0432\u0442\u043E\u0440\u043D\u0438\u043A", "\u0441\u0440\u0435\u0434\u0430", "\u0447\u0435\u0442\u0432\u0440\u0442\u043E\u043A", "\u043F\u0435\u0442\u043E\u043A", "\u0441\u0430\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u043D\u0435\u0434", "\u043F\u043E\u043D", "\u0432\u0442\u043E", "\u0441\u0440\u0435", "\u0447\u0435\u0442", "\u043F\u0435\u0442", "\u0441\u0430\u0431" };
+
+  static final String[] shortMonths = { "\u0458\u0430\u043D", "\u0444\u0435\u0432", "\u043C\u0430\u0440", "\u0430\u043F\u0440", "\u043C\u0430\u0458", "\u0458\u0443\u043D", "\u0458\u0443\u043B", "\u0430\u0432\u0433", "\u0441\u0435\u043F", "\u043E\u043A\u0442", "\u043D\u043E\u0435", "\u0434\u0435\u043A", null };
+
+  static final String[] months = { "\u0458\u0430\u043D\u0443\u0430\u0440\u0438", "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438", "\u043C\u0430\u0440\u0442", "\u0430\u043F\u0440\u0438\u043B", "\u043C\u0430\u0458", "\u0458\u0443\u043D\u0438", "\u0458\u0443\u043B\u0438", "\u0430\u0432\u0433\u0443\u0441\u0442", "\u0441\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438", "\u043E\u043A\u0442\u043E\u043C\u0432\u0440\u0438", "\u043D\u043E\u0435\u043C\u0432\u0440\u0438", "\u0434\u0435\u043A\u0435\u043C\u0432\u0440\u0438", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0434\u0435\u043D";
+  static final String intlCurrencySymbol = "MKD";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mr_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mr_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mr_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mr_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_mr_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_mr_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u0930\u0935\u093F\u0935\u093E\u0930", "\u0938\u094B\u092E\u0935\u093E\u0930", "\u092E\u0902\u0917\u0933\u0935\u093E\u0930", "\u092E\u0902\u0917\u0933\u0935\u093E\u0930", "\u0917\u0941\u0930\u0941\u0935\u093E\u0930", "\u0936\u0941\u0915\u094D\u0930\u0935\u093E\u0930", "\u0936\u0928\u093F\u0935\u093E\u0930" };
+
+  static final String[] shortWeekdays = { null, "\u0930\u0935\u093F", "\u0938\u094B\u092E", "\u092E\u0902\u0917\u0933", "\u092C\u0941\u0927", "\u0917\u0941\u0930\u0941", "\u0936\u0941\u0915\u094D\u0930", "\u0936\u0928\u093F" };
+
+  static final String[] shortMonths = { "\u091C\u093E\u0928\u0947\u0935\u093E\u0930\u0940", "\u092B\u0947\u092C\u0943\u0935\u093E\u0930\u0940", "\u092E\u093E\u0930\u094D\u091A", "\u090F\u092A\u094D\u0930\u093F\u0932", "\u092E\u0947", "\u091C\u0942\u0928", "\u091C\u0941\u0932\u0948", "\u0913\u0917\u0938\u094D\u091F", "\u0938\u0947\u092A\u094D\u091F\u0947\u0902\u092C\u0930", "\u0913\u0915\u094D\u091F\u094B\u092C\u0930", "\u0928\u094B\u0935\u094D\u0939\u0947\u0902\u092C\u0930", "\u0921\u093F\u0938\u0947\u0902\u092C\u0930", null };
+
+  static final String[] months = { "\u091C\u093E\u0928\u0947\u0935\u093E\u0930\u0940", "\u092B\u0947\u092C\u0943\u0935\u093E\u0930\u0940", "\u092E\u093E\u0930\u094D\u091A", "\u090F\u092A\u094D\u0930\u093F\u0932", "\u092E\u0947", "\u091C\u0942\u0928", "\u091C\u0941\u0932\u0948", "\u0913\u0917\u0938\u094D\u091F", "\u0938\u0947\u092A\u094D\u091F\u0947\u0902\u092C\u0930", "\u0913\u0915\u094D\u091F\u094B\u092C\u0930", "\u0928\u094B\u0935\u094D\u0939\u0947\u0902\u092C\u0930", "\u0921\u093F\u0938\u0947\u0902\u092C\u0930", null };
+
+  static final String[] ampms = { "\u092E.\u092A\u0942.", "\u092E.\u0928\u0902." };
+
+  static final String shortDateFormat = "EEEE dd MMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u0930\u0941";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,##0.00;-$ #,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mt_MT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mt_MT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mt_MT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_mt_MT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_mt_MT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_mt_MT extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "il-\u0126add", "it-Tnejn", "it-Tlieta", "l-Erbg\u0127a", "il-\u0126amis", "il-\u0120img\u0127a", "is-Sibt" };
+
+  static final String[] shortWeekdays = { null, "\u0126ad", "Tne", "Tli", "Erb", "\u0126am", "\u0120im", "Sib" };
+
+  static final String[] shortMonths = { "Jan", "Fra", "Mar", "Apr", "Mej", "\u0120un", "Lul", "Awi", "Set", "Ott", "Nov", "Di\u010B", null };
+
+  static final String[] months = { "Jannar", "Frar", "Marzu", "April", "Mejju", "\u0120unju", "Lulju", "Awissu", "Settembru", "Ottubru", "Novembru", "Di\u010Bembru ", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "EEEE, dd ta MMM, yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "Lm";
+  static final String intlCurrencySymbol = "MTL";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,313 @@
+/* LocaleInformation_nl.java -- Dutch locale data
+   Copyright (C) 1999, 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+/**
+  * This class contains locale data for the Dutch locale
+  */
+
+public class LocaleInformation_nl extends ListResourceBundle
+{
+
+/*
+ * This area is used for defining object values
+ */
+
+/**
+  * This is the set of collation rules used by java.text.RuleBasedCollator 
+  * to sort strings properly.  See the documentation of that class for the 
+  * proper format.
+  * <p>
+  * This is the same rule as used in the English locale.
+  */
+private static final String collation_rules = 
+  "<0<1<2<3<4<5<6<7<8<9<A,a<b,B<c,C<d,D<e,E<f,F<g,G<h,H<i,I<j,J<k,K" +
+  "<l,L<m,M<n,N<o,O<p,P<q,Q<r,R<s,S<t,T<u,U<v,V<w,W<x,X<y,Y<z,Z";
+
+/**
+  * This is the list of months, fully spelled out
+  */
+private static final String[] months = { "januari", "februari", "maart", 
+  "april", "mei", "juni", "juli", "augustus", "september", "october",
+  "november", "december", null };
+
+/**
+  * This is the list of abbreviated month names
+  */
+private static final String[] shortMonths = { "jan", "feb", "mrt", "apr", "mei",
+  "jun", "jul", "aug", "sep", "oct", "nov", "dec", null };
+
+/**
+  * This is the list of weekdays, fully spelled out
+  */
+private static final String[] weekdays = { null, "zondag", "maandag", "dinsdag",
+  "woensdag", "donderdag", "vrijdag", "zaterdag" };
+
+/**
+  * This is the list of abbreviated weekdays
+  */
+private static final String[] shortWeekdays = { null, "zo", "ma", "di", "wo",
+  "do", "vr", "za" };
+
+/**
+  * This is the list of AM/PM strings
+  * <p>
+  * Is there a real equivalent in Dutch? "Voormiddag"/"Namiddag"?
+  * Just using the Latin names for now.
+  */
+private static final String[] ampms = { "AM", "PM" };
+
+/**
+  * This is the list of era identifiers
+  * <p>
+  * Is there a real equivalent in Dutch? "voor Christus"/"na Christus"?
+  * Just use the Latin/English names for now.
+  */
+private static final String[] eras = { "BC", "AD" };
+
+/**
+  * This is the list of timezone strings.  The JDK appears to include a
+  * city name as the sixth element.
+  * XXX - TODO - FIXME - Which timezones should be included here and how are
+  * they called?
+  */
+private static final String[][] zoneStrings =
+{
+  // European time zones.  The city names are a little bit random.
+  { "WET", "West Europese Tijd", "WET", "West Europese Zomertijd", "WEST", "London" },
+  { "CET", "Centraal Europese Tijd", "CET", "Centraal Europese Zomertijd", "CEST", "Amsterdam" },
+  { "EET", "Oost Europese Tijd", "EET", "Oost Europese Zomertijd", "EEST", "Istanbul" },
+};
+
+/**
+  * This is the list of pattern characters for formatting dates
+  * <p>
+  * This is the same as the English locale uses: era (G), year (y), month (M),
+  * month (d), hour from 1-12 (h), hour 0-23 (H), minute (m), second (s),
+  * millisecond (S), date of week (E), date of year (D),
+  * day of week in month (F), week in year (w), week in month (W), am/pm (a),
+  * hour from 1-24 (k), hour from 0-11 (K), time zone (z).
+  * Why would you use others?
+  */
+private static final String localPatternChars = "GyMdhHmsSEDFwWakKz"; // Not a mistake!
+
+/**
+  * This is the DateFormat.SHORT date format
+  */
+private static final String shortDateFormat = "dd-MM-yy";
+
+/**
+  * This is the DateFormat.MEDIUM format
+  */
+private static final String mediumDateFormat = "dd-MMM-yy";
+
+/**
+  * This is the DateFormat.LONG format
+  */
+private static final String longDateFormat = "dd MMMM yyyy";
+
+/**
+  * This is the DateFormat.FULL format
+  */
+private static final String fullDateFormat = "EEEE dd MMMM yyyy";
+
+/**
+  * This is the DateFormat.DEFAULT format
+  */
+private static final String defaultDateFormat = mediumDateFormat;
+
+/**
+  * This is the TimeFormat.SHORT format
+  */
+private static final String shortTimeFormat = "HH:mm";
+
+/**
+  * This is the TimeFormat.MEDIUM format
+  */
+private static final String mediumTimeFormat = "HH:mm:ss";
+
+/**
+  * This is the TimeFormat.LONG format
+  */
+private static final String longTimeFormat = "HH:mm:ss";
+
+/**
+  * This is the TimeFormat.FULL format
+  */
+private static final String fullTimeFormat = "HH:mm:ss z";
+
+/**
+  * This is the TimeFormat.DEFAULT format
+  */
+private static final String defaultTimeFormat = shortTimeFormat;
+
+/**
+  * This is the currency symbol
+  */
+private static final String currencySymbol = "fl";
+
+/**
+  * This is the international currency symbol. 
+  */
+private static final String intlCurrencySymbol = "NLG";
+
+/**
+  * This is the decimal point.
+  */
+private static final String decimalSeparator = ",";
+
+/**
+  * This is the exponential symbol
+  */
+private static final String exponential = "E";
+
+/**
+  * This is the char used for digits in format strings
+  */
+private static final String digit = "#";
+
+/**
+  * This is the grouping separator symbols
+  */
+private static final String groupingSeparator = ",";
+
+/**
+  * This is the symbols for infinity
+  */
+private static final String infinity = "\u221e";
+
+/**
+  * This is the symbol for the not a number value
+  */
+private static final String NaN = "\ufffd";
+
+/**
+  * This is the minus sign symbol.
+  */
+private static final String minusSign = "-";
+
+/**
+  * This is the decimal separator in monetary values.
+  */
+private static final String monetarySeparator = ",";
+
+/**
+  * This is the separator between positive and negative subpatterns.
+  */
+private static final String patternSeparator = ";";
+
+/**
+  * This is the percent sign
+  */
+private static final String percent = "%";
+
+/**
+  * This is the per mille sign
+  */
+private static final String perMill = "\u2030";
+
+/**
+  * This is the character for zero.
+  */
+private static final String zeroDigit = "0";
+
+/*************************************************************************/
+
+/**
+  * This is the object array used to hold the keys and values
+  * for this bundle
+  */
+
+private static final Object[][] contents =
+{
+  // For RuleBasedCollator
+  { "collation_rules", collation_rules },
+  // For SimpleDateFormat/DateFormatSymbols
+  { "months", months },
+  { "shortMonths", shortMonths },
+  { "weekdays", weekdays },
+  { "shortWeekdays", shortWeekdays },
+  { "ampms", ampms },
+  { "eras", eras },
+  { "zoneStrings", zoneStrings },
+  { "localPatternChars", localPatternChars },
+  { "shortDateFormat", shortDateFormat },
+  { "mediumDateFormat", mediumDateFormat },
+  { "longDateFormat", longDateFormat },
+  { "fullDateFormat", fullDateFormat },
+  { "defaultDateFormat", defaultDateFormat },
+  { "shortTimeFormat", shortTimeFormat },
+  { "mediumTimeFormat", mediumTimeFormat },
+  { "longTimeFormat", longTimeFormat },
+  { "fullTimeFormat", fullTimeFormat },
+  { "defaultTimeFormat", defaultTimeFormat },
+  // For DecimalFormat/DecimalFormatSymbols
+  { "currencySymbol", currencySymbol },
+  { "intlCurrencySymbol", intlCurrencySymbol },
+  { "decimalSeparator", decimalSeparator },
+  { "digit", digit },
+  { "exponential", exponential },
+  { "groupingSeparator", groupingSeparator },
+  { "infinity", infinity },
+  { "NaN", NaN },
+  { "minusSign", minusSign },
+  { "monetarySeparator", monetarySeparator },
+  { "patternSeparator", patternSeparator },
+  { "percent", percent },
+  { "perMill", perMill },
+  { "zeroDigit", zeroDigit },
+};
+
+/*************************************************************************/
+
+/**
+  * This method returns the object array of key, value pairs containing
+  * the data for this bundle.
+  *
+  * @return The key, value information.
+  */
+public Object[][]
+getContents()
+{
+  return(contents);
+}
+
+} // class LocaleInformation_nl

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_BE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_BE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_BE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_BE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_nl_BE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_nl_BE extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_fr_BE.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_fr_BE.groupingSeparator;
+  static final String numberFormat = LocaleInformation_fr_BE.numberFormat;
+  static final String percentFormat = LocaleInformation_fr_BE.percentFormat;
+  static final String[] weekdays = { null, "zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag" };
+
+  static final String[] shortWeekdays = { null, "zo", "ma", "di", "wo", "do", "vr", "za" };
+
+  static final String[] shortMonths = { "jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_fr_BE.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_fr_BE.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_fr_BE.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_NL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_NL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_NL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nl_NL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_nl_NL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_nl_NL extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag" };
+
+  static final String[] shortWeekdays = { null, "zo", "ma", "di", "wo", "do", "vr", "za" };
+
+  static final String[] shortMonths = { "jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "fl";
+  static final String intlCurrencySymbol = "NLG";
+  static final String currencyFormat = "$ #,###,##0.00;$ #,###,##0.00-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nn_NO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nn_NO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nn_NO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_nn_NO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_nn_NO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_nn_NO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "\u00A0";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "sundag ", "m\u00E5ndag ", "tysdag ", "onsdag ", "torsdag ", "fredag ", "laurdag " };
+
+  static final String[] shortWeekdays = { null, "su ", "m\u00E5 ", "ty ", "on ", "to ", "fr ", "lau " };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des", null };
+
+  static final String[] months = { "januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd. MMM yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "kr";
+  static final String intlCurrencySymbol = "NOK";
+  static final String currencyFormat = "$ #,##0.00;-$#,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_no_NO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_no_NO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_no_NO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_no_NO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_no_NO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_no_NO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "s\u00F8ndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "l\u00F8rdag" };
+
+  static final String[] shortWeekdays = { null, "s\u00F8n", "man", "tir", "ons", "tor", "fre", "l\u00F8r" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "mai", "jun", "jul", "aug", "sep", "okt", "nov", "des", null };
+
+  static final String[] months = { "januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "kr";
+  static final String intlCurrencySymbol = "NOK";
+  static final String currencyFormat = "$#,###,##0.00;$-#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_oc_FR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_oc_FR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_oc_FR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_oc_FR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_oc_FR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_oc_FR extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_fr_FR.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_fr_FR.groupingSeparator;
+  static final String numberFormat = LocaleInformation_fr_FR.numberFormat;
+  static final String percentFormat = LocaleInformation_fr_FR.percentFormat;
+  static final String[] weekdays = { null, "dimenge", "diluns", "dimars", "dimecres", "dij\u00F3us", "divendres", "disabte" };
+
+  static final String[] shortWeekdays = { null, "dim", "lun", "mar", "mec", "j\u00F3u", "ven", "sab" };
+
+  static final String[] shortMonths = { "gen", "feb", "mar", "abr", "mai", "jun", "jul", "ag\u00F3", "set", "oct", "nov", "dec", null };
+
+  static final String[] months = { "geni\u00E8r", "febri\u00E8r", "mar\u00E7", "abrial", "mai", "junh", "julhet", "ag\u00F3st", "setembre", "octobre", "novembre", "decembre", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_fr_FR.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_fr_FR.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_fr_FR.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pl_PL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pl_PL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pl_PL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pl_PL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_pl_PL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_pl_PL extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "niedziela", "poniedzia\u0142ek", "wtorek", "\u015Broda", "czwartek", "pi\u0105tek", "sobota" };
+
+  static final String[] shortWeekdays = { null, "nie", "pon", "wto", "\u015Bro", "czw", "pi\u0105", "sob" };
+
+  static final String[] shortMonths = { "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "pa\u017A", "lis", "gru", null };
+
+  static final String[] months = { "stycze\u0144", "luty", "marzec", "kwiecie\u0144", "maj", "czerwiec", "lipiec", "sierpie\u0144", "wrzesie\u0144", "pa\u017Adziernik", "listopad", "grudzie\u0144", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Z\u0142";
+  static final String intlCurrencySymbol = "PLZ";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_BR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_BR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_BR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_BR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_pt_BR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_pt_BR extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "domingo", "segunda", "ter\u00E7a", "quarta", "quinta", "sexta", "s\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "S\u00E1b" };
+
+  static final String[] shortMonths = { "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez", null };
+
+  static final String[] months = { "janeiro", "fevereiro", "mar\u00E7o", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "R$";
+  static final String intlCurrencySymbol = "BRL";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_PT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_PT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_PT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_pt_PT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_pt_PT.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_pt_PT extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Domingo", "Segunda", "Ter\u00E7a", "Quarta", "Quinta", "Sexta", "S\u00E1bado" };
+
+  static final String[] shortWeekdays = { null, "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "S\u00E1b" };
+
+  static final String[] shortMonths = { "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez", null };
+
+  static final String[] months = { "Janeiro", "Fevereiro", "Mar\u00E7o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Esc";
+  static final String intlCurrencySymbol = "PTE";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ro_RO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ro_RO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ro_RO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ro_RO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ro_RO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ro_RO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "Duminic\u0102", "Luni", "Mar\u0163i", "Miercuri", "Joi", "Vineri", "S\u00EEmb\u0102t\u0102" };
+
+  static final String[] shortWeekdays = { null, "Du", "Lu", "Ma", "Mi", "Jo", "Vi", "S\u00EE" };
+
+  static final String[] shortMonths = { "ian", "feb", "mar", "apr", "mai", "iun", "iul", "aug", "sep", "oct", "nov", "dec", null };
+
+  static final String[] months = { "Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "Lei";
+  static final String intlCurrencySymbol = "ROL";
+  static final String currencyFormat = "$ #,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_RU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_RU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_RU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_RU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ru_RU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ru_RU extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435", "\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A", "\u0412\u0442\u043E\u0440\u043D\u0438\u043A", "\u0421\u0440\u0435\u0434\u0430", "\u0427\u0435\u0442\u0432\u0435\u0440\u0433", "\u041F\u044F\u0442\u043D\u0438\u0446\u0430", "\u0421\u0443\u0431\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u0412\u0441\u043A", "\u041F\u043D\u0434", "\u0412\u0442\u0440", "\u0421\u0440\u0434", "\u0427\u0442\u0432", "\u041F\u0442\u043D", "\u0421\u0431\u0442" };
+
+  static final String[] shortMonths = { "\u042F\u043D\u0432", "\u0424\u0435\u0432", "\u041C\u0430\u0440", "\u0410\u043F\u0440", "\u041C\u0430\u0439", "\u0418\u044E\u043D", "\u0418\u044E\u043B", "\u0410\u0432\u0433", "\u0421\u0435\u043D", "\u041E\u043A\u0442", "\u041D\u043E\u044F", "\u0414\u0435\u043A", null };
+
+  static final String[] months = { "\u042F\u043D\u0432\u0430\u0440\u044F", "\u0424\u0435\u0432\u0440\u0430\u043B\u044F", "\u041C\u0430\u0440\u0442\u0430", "\u0410\u043F\u0440\u0435\u043B\u044F", "\u041C\u0430\u044F", "\u0418\u044E\u043D\u044F", "\u0418\u044E\u043B\u044F", "\u0410\u0432\u0433\u0443\u0441\u0442\u0430", "\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044F", "\u041E\u043A\u0442\u044F\u0431\u0440\u044F", "\u041D\u043E\u044F\u0431\u0440\u044F", "\u0414\u0435\u043A\u0430\u0431\u0440\u044F", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0440\u0443\u0431";
+  static final String intlCurrencySymbol = "RUR";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_UA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_UA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_UA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ru_UA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ru_UA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ru_UA extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435", "\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A", "\u0412\u0442\u043E\u0440\u043D\u0438\u043A", "\u0421\u0440\u0435\u0434\u0430", "\u0427\u0435\u0442\u0432\u0435\u0440\u0433", "\u041F\u044F\u0442\u043D\u0438\u0446\u0430", "\u0421\u0443\u0431\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u0412\u0441\u043A", "\u041F\u043D\u0434", "\u0412\u0442\u043E", "\u0421\u0440\u0434", "\u0427\u0442\u0432", "\u041F\u0442\u043D", "\u0421\u0443\u0431" };
+
+  static final String[] shortMonths = { "\u042F\u043D\u0432", "\u0424\u0435\u0432", "\u041C\u0430\u0440", "\u0410\u043F\u0440", "\u041C\u0430\u0439", "\u0418\u044E\u043D", "\u0418\u044E\u043B", "\u0410\u0432\u0433", "\u0421\u0435\u043D", "\u041E\u043A\u0442", "\u041D\u043E\u044F", "\u0414\u0435\u043A", null };
+
+  static final String[] months = { "\u042F\u043D\u0432\u0430\u0440\u044C", "\u0424\u0435\u0432\u0440\u0430\u043B\u044C", "\u041C\u0430\u0440\u0442", "\u0410\u043F\u0440\u0435\u043B\u044C", "\u041C\u0430\u0439", "\u0418\u044E\u043D\u044C", "\u0418\u044E\u043B\u044C", "\u0410\u0432\u0433\u0443\u0441\u0442", "\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C", "\u041E\u043A\u0442\u044F\u0431\u0440\u044C", "\u041D\u043E\u044F\u0431\u0440\u044C", "\u0414\u0435\u043A\u0430\u0431\u0440\u044C", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0433\u0440";
+  static final String intlCurrencySymbol = "UAH";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_se_NO.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_se_NO.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_se_NO.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_se_NO.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_se_NO.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_se_NO extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "sotnabeaivi", "vuoss\u00E1rga", "ma\u014B\u014Bebarga", "gaskavahkku", "duorasdat", "bearjadat", "l\u00E1vvardat" };
+
+  static final String[] shortWeekdays = { null, "sotn", "vuos", "ma\u014B", "gask", "duor", "bear", "l\u00E1v" };
+
+  static final String[] shortMonths = { "o\u0111\u0111j", "guov", "njuk", "cuo\u014B", "mies", "geas", "suoi", "borg", "\u010Dak\u010D", "golg", "sk\u00E1b", "juov", null };
+
+  static final String[] months = { "o\u0111\u0111ajagem\u00E1nu", "guovvam\u00E1nu", "njuk\u010Dam\u00E1nu", "cuo\u014Bom\u00E1nu", "miessem\u00E1nu", "geassem\u00E1nu", "suoidnem\u00E1nu", "borgem\u00E1nu", "\u010Dak\u010Dam\u00E1nu", "golggotm\u00E1nu", "sk\u00E1bmam\u00E1nu", "juovlam\u00E1nu", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = " ru";
+  static final String intlCurrencySymbol = "NOK";
+  static final String currencyFormat = "$#,###,##0.00;$-#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sk_SK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sk_SK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sk_SK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sk_SK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sk_SK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sk_SK extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "\u00A0";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "Nede\u013Ea", "Pondelok", "Utorok", "Streda", "\u0160tvrtok", "Piatok", "Sobota" };
+
+  static final String[] shortWeekdays = { null, "Ne", "Po", "Ut", "St", "\u0160t", "Pi", "So" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "m\u00E1j", "j\u00FAn", "j\u00FAl", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "janu\u00E1r", "febru\u00E1r", "marec", "apr\u00EDl", "m\u00E1j", "j\u00FAn", "j\u00FAl", "august", "september", "okt\u00F3ber", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "hh:m:s";
+  static final String currencySymbol = "Sk";
+  static final String intlCurrencySymbol = "SKK";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sl_SI.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sl_SI.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sl_SI.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sl_SI.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sl_SI.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sl_SI extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = " ";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "nedelja", "ponedeljek", "torek", "sreda", "\u010Detrtek", "petek", "sobota" };
+
+  static final String[] shortWeekdays = { null, "ned", "pon", "tor", "sre", "\u010Det", "pet", "sob" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januar", "februar", "marec", "april", "maj", "junij", "julij", "avgust", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "SIT";
+  static final String intlCurrencySymbol = "SIT";
+  static final String currencyFormat = "#,###,##0.00 $;#,###,##0.00 $-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sq_AL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sq_AL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sq_AL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sq_AL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sq_AL.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sq_AL extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "e diel ", "e h\u00EBn\u00EB ", "e mart\u00EB ", "e m\u00EBrkur\u00EB ", "e enjte ", "e premte ", "e shtun\u00EB " };
+
+  static final String[] shortWeekdays = { null, "Die ", "H\u00EBn ", "Mar ", "M\u00EBr ", "Enj ", "Pre ", "Sht " };
+
+  static final String[] shortMonths = { "Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Kor", "Gsh", "Sht", "Tet", "N\u00EBn", "Dhj", null };
+
+  static final String[] months = { "janar", "shkurt", "mars", "prill", "maj", "qershor", "korrik", "gusht", "shtator", "tetor", "n\u00EBntor", "dhjetor", null };
+
+  static final String[] ampms = { "PD", "MD" };
+
+  static final String shortDateFormat = "yyyy-MMM-dd";
+  static final String defaultTimeFormat = "hh.m.s.a z";
+  static final String currencySymbol = "Lek";
+  static final String intlCurrencySymbol = "ALL";
+  static final String currencyFormat = "$#,##0.000;-$#,##0.000";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sr_YU.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sr_YU.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sr_YU.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sr_YU.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sr_YU.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sr_YU extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#.###";
+  static final String percentFormat = "#%";
+  static final String[] weekdays = { null, "nedelja", "ponedeljak", "utorak", "sreda", "\u010Detvrtak", "petak", "subota" };
+
+  static final String[] shortWeekdays = { null, "ned", "pon", "uto", "sre", "\u010Det", "pet", "sub" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januar", "februar", "mart", "april", "maj", "jun", "jul", "avgust", "septembar", "oktobar", "novembar", "decembar", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd-MM-yyyy.";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "din";
+  static final String intlCurrencySymbol = "YUN";
+  static final String currencyFormat = "$ #,###,##0.;-$ #,###,##0.";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_FI.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_FI.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_FI.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_FI.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sv_FI.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sv_FI extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_fi_FI.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_fi_FI.groupingSeparator;
+  static final String numberFormat = LocaleInformation_fi_FI.numberFormat;
+  static final String percentFormat = LocaleInformation_fi_FI.percentFormat;
+  static final String[] weekdays = { null, "s\u00F6ndag", "m\u00E5ndag", "tisdag", "onsdag", "torsdag", "fredag", "l\u00F6rdag" };
+
+  static final String[] shortWeekdays = { null, "s\u00F6n", "m\u00E5n", "tis", "ons", "tor", "fre", "l\u00F6r" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = LocaleInformation_fi_FI.currencySymbol;
+  static final String intlCurrencySymbol = LocaleInformation_fi_FI.intlCurrencySymbol;
+  static final String currencyFormat = LocaleInformation_fi_FI.currencyFormat;
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_SE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_SE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_SE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_sv_SE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_sv_SE.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_sv_SE extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = " ";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "s\u00F6ndag", "m\u00E5ndag", "tisdag", "onsdag", "torsdag", "fredag", "l\u00F6rdag" };
+
+  static final String[] shortWeekdays = { null, "s\u00F6n", "m\u00E5n", "tis", "ons", "tor", "fre", "l\u00F6r" };
+
+  static final String[] shortMonths = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec", null };
+
+  static final String[] months = { "januari", "februari", "mars", "april", "maj", "juni", "juli", "augusti", "september", "oktober", "november", "december", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "yyyy-MM-dd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "kr";
+  static final String intlCurrencySymbol = "SEK";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ta_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ta_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ta_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ta_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ta_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ta_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##,##0.###";
+  static final String percentFormat = "#,##,##0%";
+  static final String[] weekdays = { null, "\u0B9E\u0BBE\u0BAF\u0BBF\u0BB1\u0BC1", "\u0BA4\u0BBF\u0B99\u0BCD\u0B95\u0BB3\u0BCD", "\u0B9A\u0BC6\u0BB5\u0BCD\u0BB5\u0BBE\u0BAF\u0BCD", "\u0BAA\u0BC1\u0BA4\u0BA9\u0BCD", "\u0BB5\u0BBF\u0BAF\u0BBE\u0BB4\u0BA9\u0BCD", "\u0BB5\u0BC6\u0BB3\u0BCD\u0BB3\u0BBF", "\u0B9A\u0BA9\u0BBF" };
+
+  static final String[] shortWeekdays = { null, "\u0B9E", "\u0BA4", "\u0B9A", "\u0BAA", "\u0BB5", "\u0BB5", "\u0B9A" };
+
+  static final String[] shortMonths = { "\u0B9C\u0BA9\u0BB5\u0BB0\u0BBF", "\u0BAA\u0BC6\u0BAA\u0BCD\u0BB0\u0BB5\u0BB0\u0BBF", "\u0BAE\u0BBE\u0BB0\u0BCD\u0B9A\u0BCD", "\u0B8F\u0BAA\u0BCD\u0BB0\u0BB2\u0BCD", "\u0BAE\u0BC7", "\u0B9C\u0BC2\u0BA9\u0BCD", "\u0B9C\u0BC2\u0BB2\u0BC8", "\u0B86\u0B95\u0BB8\u0BCD\u0B9F\u0BCD", "\u0B9A\u0BC6\u0BAA\u0BCD\u0B9F\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD", "\u0B85\u0B95\u0BCD\u0B9F\u0BCB\u0BAA\u0BB0\u0BCD", "\u0BA8\u0BB5\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD", "\u0B9F\u0BBF\u0B9A\u0BAE\u0BCD\u0BAA\u0BB0\u0BCDr", null };
+
+  static final String[] months = { "\u0B9C\u0BA9\u0BB5\u0BB0\u0BBF", "\u0BAA\u0BC6\u0BAA\u0BCD\u0BB0\u0BB5\u0BB0\u0BBF", "\u0BAE\u0BBE\u0BB0\u0BCD\u0B9A\u0BCD", "\u0B8F\u0BAA\u0BCD\u0BB0\u0BB2\u0BCD", "\u0BAE\u0BC7", "\u0B9C\u0BC2\u0BA9\u0BCD", "\u0B9C\u0BC2\u0BB2\u0BC8", "\u0B86\u0B95\u0BB8\u0BCD\u0B9F\u0BCD", "\u0B9A\u0BC6\u0BAA\u0BCD\u0B9F\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD", "\u0B85\u0B95\u0BCD\u0B9F\u0BCB\u0BAA\u0BB0\u0BCD", "\u0BA8\u0BB5\u0BAE\u0BCD\u0BAA\u0BB0\u0BCD", "\u0B9F\u0BBF\u0B9A\u0BAE\u0BCD\u0BAA\u0BB0\u0BCDr", null };
+
+  static final String[] ampms = { "\u0B95\u0BBE\u0BB2\u0BC8", "\u0BAE\u0BBE\u0BB2\u0BC8" };
+
+  static final String shortDateFormat = "EEEE dd MMMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u20A8";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,##,##0.00;-$ #,##,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_te_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_te_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_te_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_te_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_te_IN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_te_IN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,#0.###";
+  static final String percentFormat = "#,###,#0%";
+  static final String[] weekdays = { null, "\u0C06\u0C26\u0C3F\u0C35\u0C3E\u0C30\u0C02", "\u0C38\u0C4B\u0C2E\u0C35\u0C3E\u0C30\u0C02", "\u0C2E\u0C02\u0C17\u0C33\u0C35\u0C3E\u0C30\u0C02", "\u0C2C\u0C41\u0C27\u0C35\u0C3E\u0C30\u0C02", "\u0C17\u0C41\u0C30\u0C41\u0C35\u0C3E\u0C30\u0C02", "\u0C36\u0C41\u0C15\u0C4D\u0C30\u0C35\u0C3E\u0C30\u0C02", "\u0C36\u0C28\u0C3F\u0C35\u0C3E\u0C30\u0C02" };
+
+  static final String[] shortWeekdays = { null, "\u0C06\u0C26\u0C3F", "\u0C38\u0C4B\u0C2E", "\u0C2E\u0C02\u0C17\u0C33", "\u0C2C\u0C41\u0C27", "\u0C17\u0C41\u0C30\u0C41", "\u0C36\u0C41\u0C15\u0C4D\u0C30", "\u0C36\u0C28\u0C3F" };
+
+  static final String[] shortMonths = { "\u0C1C\u0C28\u0C35\u0C30\u0C3F", "\u0C2B\u0C3F\u0C2C\u0C4D\u0C30\u0C35\u0C30\u0C3F", "\u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C3F", "\u0C0F\u0C2A\u0C4D\u0C30\u0C3F\u0C32\u0C4D", "\u0C2E\u0C47", "\u0C1C\u0C42\u0C28\u0C4D", "\u0C1C\u0C42\u0C32\u0C48", "\u0C06\u0C17\u0C38\u0C4D\u0C1F\u0C41", "\u0C38\u0C46\u0C2A\u0C4D\u0C1F\u0C46\u0C02\u0C2C\u0C30\u0C4D", "\u0C05\u0C15\u0C4D\u0C1F\u0C4B\u0C2C\u0C30\u0C4D", "\u0C28\u0C35\u0C02\u0C2C\u0C30\u0C4D", "\u0C21\u0C3F\u0C38\u0C46\u0C02\u0C2C\u0C30\u0C4D", null };
+
+  static final String[] months = { "\u0C1C\u0C28\u0C35\u0C30\u0C3F", "\u0C2B\u0C3F\u0C2C\u0C4D\u0C30\u0C35\u0C30\u0C3F", "\u0C2E\u0C3E\u0C30\u0C4D\u0C1A\u0C3F", "\u0C0F\u0C2A\u0C4D\u0C30\u0C3F\u0C32\u0C4D", "\u0C2E\u0C47", "\u0C1C\u0C42\u0C28\u0C4D", "\u0C1C\u0C42\u0C32\u0C48", "\u0C06\u0C17\u0C38\u0C4D\u0C1F\u0C41", "\u0C38\u0C46\u0C2A\u0C4D\u0C1F\u0C46\u0C02\u0C2C\u0C30\u0C4D", "\u0C05\u0C15\u0C4D\u0C1F\u0C4B\u0C2C\u0C30\u0C4D", "\u0C28\u0C35\u0C02\u0C2C\u0C30\u0C4D", "\u0C21\u0C3F\u0C38\u0C46\u0C02\u0C2C\u0C30\u0C4D", null };
+
+  static final String[] ampms = { "\u0C2A\u0C42\u0C30\u0C4D\u0C35\u0C3E\u0C39\u0C4D\u0C28", "\u0C05\u0C2A\u0C30\u0C3E\u0C39\u0C4D\u0C28" };
+
+  static final String shortDateFormat = "EEEE dd MMM yyyy";
+  static final String defaultTimeFormat = "hh:m:s a z";
+  static final String currencySymbol = "\u0930\u0942";
+  static final String intlCurrencySymbol = "INR";
+  static final String currencyFormat = "$ #,###,#0.00;-$ #,###,#0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tg_TJ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tg_TJ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tg_TJ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tg_TJ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_tg_TJ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_tg_TJ extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435", "\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A", "\u0412\u0442\u043E\u0440\u043D\u0438\u043A", "\u0421\u0440\u0435\u0434\u0430", "\u0427\u0435\u0442\u0432\u0435\u0440\u0433", "\u041F\u044F\u0442\u043D\u0438\u0446\u0430", "\u0421\u0443\u0431\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u0412\u0441\u043A", "\u041F\u043D\u0434", "\u0412\u0442\u0440", "\u0421\u0440\u0434", "\u0427\u0442\u0432", "\u041F\u0442\u043D", "\u0421\u0431\u0442" };
+
+  static final String[] shortMonths = { "\u042F\u043D\u0432", "\u0424\u0435\u0432", "\u041C\u0430\u0440", "\u0410\u043F\u0440", "\u041C\u0430\u0439", "\u0418\u044E\u043D", "\u0418\u044E\u043B", "\u0410\u0432\u0433", "\u0421\u0435\u043D", "\u041E\u043A\u0442", "\u041D\u043E\u044F", "\u0414\u0435\u043A", null };
+
+  static final String[] months = { "\u042F\u043D\u0432\u0430\u0440\u044F", "\u0424\u0435\u0432\u0440\u0430\u043B\u044F", "\u041C\u0430\u0440\u0442\u0430", "\u0410\u043F\u0440\u0435\u043B\u044F", "\u041C\u0430\u044F", "\u0418\u044E\u043D\u044F", "\u0418\u044E\u043B\u044F", "\u0410\u0432\u0433\u0443\u0441\u0442\u0430", "\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044F", "\u041E\u043A\u0442\u044F\u0431\u0440\u044F", "\u041D\u043E\u044F\u0431\u0440\u044F", "\u0414\u0435\u043A\u0430\u0431\u0440\u044F", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0440\u0443\u0431";
+  static final String intlCurrencySymbol = "RUR";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tl_PH.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tl_PH.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tl_PH.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tl_PH.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_tl_PH.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_tl_PH extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_US.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_US.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_US.numberFormat;
+  static final String percentFormat = LocaleInformation_en_US.percentFormat;
+  static final String[] weekdays = { null, "Linggo", "Lunes", "Martes", "Miyerkoles", "Huwebes", "Biyernes", "Sabado" };
+
+  static final String[] shortWeekdays = { null, "Lin", "Lun", "Mar", "Miy", "Huw", "Biy", "Sab" };
+
+  static final String[] shortMonths = { "Ene", "Peb", "Mar", "Abr", "May", "Hun", "Hul", "Ago", "Sep", "Okt", "Nob", "Dis", null };
+
+  static final String[] months = { "Enero", "Pebrero", "Marso", "Abril", "Mayo", "Hunyo", "Hulyo", "Agosto", "Septiyembre", "Oktubre", "Nobiyembre", "Disyembre", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "MM/dd/yy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "PhP";
+  static final String intlCurrencySymbol = "PHP";
+  static final String currencyFormat = "$#,###,##0.00;-$ #,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tr_TR.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tr_TR.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tr_TR.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_tr_TR.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_tr_TR.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_tr_TR extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = "";
+  static final String numberFormat = "#,##############################################################################################################################0.###";
+  static final String percentFormat = "#,##############################################################################################################################0%";
+  static final String[] weekdays = { null, "Pazar", "Pazartesi", "Sal\u0131", "\u00C7ar\u015Famba", "Per\u015Fembe", "Cuma", "Cumartesi" };
+
+  static final String[] shortWeekdays = { null, "Paz", "Pzt", "Sal", "\u00C7r\u015F", "Pr\u015F", "Cum", "Cts" };
+
+  static final String[] shortMonths = { "Oca", "\u015Eub", "Mar", "Nis", "May", "Haz", "Tem", "A\u011Fu", "Eyl", "Eki", "Kas", "Ara", null };
+
+  static final String[] months = { "Ocak", "\u015Eubat", "Mart", "Nisan", "May\u0131s", "Haziran", "Temmuz", "A\u011Fustos", "Eyl\u00FCl", "Ekim", "Kas\u0131m", "Aral\u0131k", null };
+
+  static final String[] ampms = { "\u00D6\u00D6", "\u00D6S" };
+
+  static final String shortDateFormat = "dd-MM-yyyy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "TL";
+  static final String intlCurrencySymbol = "TRL";
+  static final String currencyFormat = "#,##0.00 $;-#,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uk_UA.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uk_UA.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uk_UA.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uk_UA.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_uk_UA.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_uk_UA extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u041D\u0435\u0434\u0456\u043B\u044F", "\u041F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A", "\u0412\u0456\u0432\u0442\u043E\u0440\u043E\u043A", "\u0421\u0435\u0440\u0435\u0434\u0430", "\u0427\u0435\u0442\u0432\u0435\u0440", "\u041F'\u044F\u0442\u043D\u0438\u0446\u044F", "\u0421\u0443\u0431\u043E\u0442\u0430" };
+
+  static final String[] shortWeekdays = { null, "\u041D\u0434\u043B", "\u041F\u043D\u0434", "\u0412\u0442\u0440", "\u0421\u0440\u0434", "\u0427\u0442\u0432", "\u041F\u0442\u043D", "\u0421\u0431\u0442" };
+
+  static final String[] shortMonths = { "\u0421\u0456\u0447", "\u041B\u044E\u0442", "\u0411\u0435\u0440", "\u041A\u0432\u0456", "\u0422\u0440\u0430", "\u0427\u0435\u0440", "\u041B\u0438\u043F", "\u0421\u0435\u0440", "\u0412\u0435\u0440", "\u0416\u043E\u0432", "\u041B\u0438\u0441", "\u0413\u0440\u0443", null };
+
+  static final String[] months = { "\u0421\u0456\u0447\u0435\u043D\u044C", "\u041B\u044E\u0442\u0438\u0439", "\u0411\u0435\u0440\u0435\u0437\u0435\u043D\u044C", "\u041A\u0432\u0456\u0442\u0435\u043D\u044C", "\u0422\u0440\u0430\u0432\u0435\u043D\u044C", "\u0427\u0435\u0440\u0432\u0435\u043D\u044C", "\u041B\u0438\u043F\u0435\u043D\u044C", "\u0421\u0435\u0440\u043F\u0435\u043D\u044C", "\u0412\u0435\u0440\u0435\u0441\u0435\u043D\u044C", "\u0416\u043E\u0432\u0442\u0435\u043D\u044C", "\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434", "\u0413\u0440\u0443\u0434\u0435\u043D\u044C", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd.MM.yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u0433\u0440";
+  static final String intlCurrencySymbol = "UAH";
+  static final String currencyFormat = "#,###,##0.00 $;-#,###,##0.00 $";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ur_PK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ur_PK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ur_PK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_ur_PK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_ur_PK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_ur_PK extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "\u0627\u062A\u0648\u0627\u0631", "\u067E\u064A\u0631", "\u0645\u0646\u06AF\u0644", "\u0628\u062F\u06BE", "\u062C\u0645\u0639\u0631\u0627\u062A", "\u062C\u0645\u0639\u0647", "\u0647\u0641\u062A\u0647" };
+
+  static final String[] shortWeekdays = { null, "\u0627\u062A\u0648\u0627\u0631", "\u067E\u064A\u0631", "\u0645\u0646\u06AF\u0644", "\u0628\u062F\u06BE", "\u062C\u0645\u0639\u0631\u0627\u062A", "\u062C\u0645\u0639\u0647", "\u0647\u0641\u062A\u0647" };
+
+  static final String[] shortMonths = { "\u062C\u0646\u0648\u0631\u064A", "\u0641\u0631\u0648\u0631\u064A", "\u0645\u0627\u0631\u0686", "\u0627\u067E\u0631\u064A\u0644", "\u0645\u0653\u06CC", "\u062C\u0648\u0646", "\u062C\u0648\u0644\u0627\u064A", "\u0627\u06AF\u0633\u062A", "\u0633\u062A\u0645\u0628\u0631", "\u0627\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0645\u0628\u0631", "\u062F\u0633\u0645\u0628\u0631", null };
+
+  static final String[] months = { "\u062C\u0646\u0648\u0631\u064A", "\u0641\u0631\u0648\u0631\u064A", "\u0645\u0627\u0631\u0686", "\u0627\u067E\u0631\u064A\u0644", "\u0645\u0653\u06CC", "\u062C\u0648\u0646", "\u062C\u0648\u0644\u0627\u064A", "\u0627\u06AF\u0633\u062A", "\u0633\u062A\u0645\u0628\u0631", "\u0627\u0643\u062A\u0648\u0628\u0631", "\u0646\u0648\u0645\u0628\u0631", "\u062F\u0633\u0645\u0628\u0631", null };
+
+  static final String[] ampms = { "\u0635", "\u0634" };
+
+  static final String shortDateFormat = "dd/MM/yyyy";
+  static final String defaultTimeFormat = "a hh:m:s";
+  static final String currencySymbol = "Rs";
+  static final String intlCurrencySymbol = "PKR";
+  static final String currencyFormat = "$ #,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uz_UZ.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uz_UZ.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uz_UZ.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_uz_UZ.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_uz_UZ.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_uz_UZ extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,###,##0.###";
+  static final String percentFormat = "#,###,##0%";
+  static final String[] weekdays = { null, "yakshanba", "dushanba", "seshanba", "chorshanba", "payshanba", "juma", "shanba" };
+
+  static final String[] shortWeekdays = { null, "Yak", "Du", "Se", "Cho", "Pay", "Ju", "Sha" };
+
+  static final String[] shortMonths = { "Yav", "Fev", "Mar", "Apr", "May", "Iyn", "Iyl", "Avg", "Sen", "Okt", "Noy", "Dek", null };
+
+  static final String[] months = { "yanvar", "fevral", "mart", "aprel", "may", "iyun", "iyul", "avgust", "senyabr", "oktyabr", "noyabr", "dekabr", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "so'm";
+  static final String intlCurrencySymbol = "UZS";
+  static final String currencyFormat = "$#,###,##0.00;-$#,###,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_vi_VN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_vi_VN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_vi_VN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_vi_VN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_vi_VN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_vi_VN extends ListResourceBundle
+{
+  static final String decimalSeparator = ",";
+  static final String groupingSeparator = ".";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "Th\u01B0\u0301 hai ", "Th\u01B0\u0301 ba ", "Th\u01B0\u0301 t\u01B0 ", "Th\u01B0\u0301 n\u0103m ", "Th\u01B0\u0301 s\u00E1u ", "Th\u01B0\u0301 ba\u0309y ", "Chu\u0309 nh\u00E2\u0323t " };
+
+  static final String[] shortWeekdays = { null, "Th 2 ", "Th 3 ", "Th 4 ", "Th 5 ", "Th 6 ", "Th 7 ", "CN " };
+
+  static final String[] shortMonths = { "Thg 1", "Thg 2", "Thg 3", "Thg 4", "Thg 5", "Thg 6", "Thg 7", "Thg 8", "Thg 9", "Thg 10", "Thg 11", "Thg 12", null };
+
+  static final String[] months = { "Th\u00E1ng m\u00F4\u0323t", "Th\u00E1ng hai", "Th\u00E1ng ba", "Th\u00E1ng t\u01B0", "Th\u00E1ng n\u0103m", "Th\u00E1ng s\u00E1u", "Th\u00E1ng ba\u0309y", "Th\u00E1ng t\u00E1m", "Th\u00E1ng ch\u00EDn", "Th\u00E1ng m\u01B0\u01A1\u0300i", "Th\u00E1ng m\u01B0\u01A1\u0300i m\u00F4\u0323t", "Th\u00E1ng m\u01B0\u01A1\u0300i hai", null };
+
+  static final String[] ampms = { "", "" };
+
+  static final String shortDateFormat = "EEEE dd MMM yyyy";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "\u20AB";
+  static final String intlCurrencySymbol = "VND";
+  static final String currencyFormat = "#,##0.0000$;-$#,##0.0000";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_yi_US.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_yi_US.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_yi_US.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_yi_US.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_yi_US.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_yi_US extends ListResourceBundle
+{
+  static final String decimalSeparator = LocaleInformation_en_US.decimalSeparator;
+  static final String groupingSeparator = LocaleInformation_en_US.groupingSeparator;
+  static final String numberFormat = LocaleInformation_en_US.numberFormat;
+  static final String percentFormat = LocaleInformation_en_US.percentFormat;
+  static final String[] weekdays = { null, "\u05D6\u05D5\u05E0\u05D8\u05D9\u05E7", "\u05DE\u05D0\u05B8\u05E0\u05D8\u05D9\u05E7", "\u05D3\u05D9\u05E0\u05E1\u05D8\u05D9\u05E7", "\u05DE\u05D9\u05D8\u05F0\u05D0\u05B8\u05DA", "\u05D3\u05D0\u05B8\u05E0\u05E2\u05E8\u05E9\u05D8\u05D9\u05E7", "\u05E4\u05BF\u05E8\u05F2\u05B7\u05D8\u05D9\u05E7", "\u05E9\u05D1\u05EA" };
+
+  static final String[] shortWeekdays = { null, "\u05D6\u05D5\u05E0'", "\u05DE\u05D0\u05B8\u05E0'", "\u05D3\u05D9\u05E0'", "\u05DE\u05D9\u05D8'", "\u05D3\u05D0\u05B8\u05E0'", "\u05E4\u05BF\u05E8\u05F2\u05B7'", "\u05E9\u05D1\u05EA" };
+
+  static final String[] shortMonths = { "\u05D9\u05D0\u05B7\u05E0'", "\u05E4\u05BF\u05E2\u05D1'", "\u05DE\u05D0\u05B7\u05E8'", "\u05D0\u05B7\u05E4\u05BC\u05E8'", "\u05DE\u05F2\u05B7", "\u05D9\u05D5\u05E0'", "\u05D9\u05D5\u05DC'", "\u05D0\u05F1\u05D2'", "\u05E1\u05E2\u05E4\u05BC'", "\u05D0\u05B8\u05E7\u05D8'", "\u05E0\u05D0\u05B8\u05F0'", "\u05D3\u05E2\u05E6'", null };
+
+  static final String[] months = { "\u05D9\u05D0\u05B7\u05E0\u05D5\u05D0\u05B7\u05E8", "\u05E4\u05BF\u05E2\u05D1\u05E8\u05D5\u05D0\u05B7\u05E8", "\u05DE\u05D0\u05B7\u05E8\u05E5", "\u05D0\u05B7\u05E4\u05BC\u05E8\u05D9\u05DC", "\u05DE\u05F2\u05B7", "\u05D9\u05D5\u05E0\u05D9", "\u05D9\u05D5\u05DC\u05D9", "\u05D0\u05F1\u05D2\u05E1\u05D8", "\u05E1\u05E2\u05E4\u05BC\u05D8\u05E2\u05DE\u05D1\u05E2\u05E8", "\u05D0\u05B8\u05E7\u05D8\u05D0\u05B8\u05D1\u05E2\u05E8", "\u05E0A\u05B8\u05F0\u05E2\u05DE\u05D1\u05E2\u05E8", "\u05D3\u05E6\u05DE\u05D1\u05E8", null };
+
+  static final String[] ampms = { "AM", "PM" };
+
+  static final String shortDateFormat = "dd/MM/yy";
+  static final String defaultTimeFormat = "hh:m:s a";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "USD";
+  static final String currencyFormat = "$ #,###,##0.00;$ #,###,##0.00-";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_CN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_CN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_CN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_CN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_zh_CN.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_zh_CN extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D" };
+
+  static final String[] shortWeekdays = { null, "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D" };
+
+  static final String[] shortMonths = { " 1\u6708", " 2\u6708", " 3\u6708", " 4\u6708", " 5\u6708", " 6\u6708", " 7\u6708", " 8\u6708", " 9\u6708", "10\u6708", "11\u6708", "12\u6708", null };
+
+  static final String[] months = { "\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708", null };
+
+  static final String[] ampms = { "\u4E0A\u5348", "\u4E0B\u5348" };
+
+  static final String shortDateFormat = "yyyyMMdd";
+  static final String defaultTimeFormat = "a hhms";
+  static final String currencySymbol = "\uFFE5";
+  static final String intlCurrencySymbol = "CNY";
+  static final String currencyFormat = "$#,##0.00;$-#,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_HK.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_HK.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_HK.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_HK.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_zh_HK.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_zh_HK extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u661F\u671F\u65E5 ", "\u661F\u671F\u4E00 ", "\u661F\u671F\u4E8C ", "\u661F\u671F\u4E09 ", "\u661F\u671F\u56DB ", "\u661F\u671F\u4E94 ", "\u661F\u671F\u516D " };
+
+  static final String[] shortWeekdays = { null, "\u65E5 ", "\u4E00 ", "\u4E8C ", "\u4E09 ", "\u56DB ", "\u4E94 ", "\u516D " };
+
+  static final String[] shortMonths = { "1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708", null };
+
+  static final String[] months = { "\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708", null };
+
+  static final String[] ampms = { "\u4E0A\u5348", "\u4E0B\u5348" };
+
+  static final String shortDateFormat = "yyyyMMMdd EEEE";
+  static final String defaultTimeFormat = "a hh:m:s";
+  static final String currencySymbol = "HK$";
+  static final String intlCurrencySymbol = "HKD";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_SG.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_SG.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_SG.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_SG.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_zh_SG.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_zh_SG extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D" };
+
+  static final String[] shortWeekdays = { null, "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D" };
+
+  static final String[] shortMonths = { "\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708", null };
+
+  static final String[] months = { "\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708", null };
+
+  static final String[] ampms = { "\u4E0A\u5348", "\u4E0B\u5348" };
+
+  static final String shortDateFormat = "yyyyMMdd";
+  static final String defaultTimeFormat = "";
+  static final String currencySymbol = "$";
+  static final String intlCurrencySymbol = "SGD";
+  static final String currencyFormat = "$#,##0.00;($#,##0.00)";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_TW.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_TW.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_TW.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/locale/LocaleInformation_zh_TW.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,86 @@
+/* LocaleInformation_zh_TW.java
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+// This file was automatically generated by localedef.
+
+package gnu.java.locale;
+
+import java.util.ListResourceBundle;
+
+public class LocaleInformation_zh_TW extends ListResourceBundle
+{
+  static final String decimalSeparator = ".";
+  static final String groupingSeparator = ",";
+  static final String numberFormat = "#,##0.###";
+  static final String percentFormat = "#,##0%";
+  static final String[] weekdays = { null, "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D" };
+
+  static final String[] shortWeekdays = { null, "\u9031\u65E5", "\u9031\u4E00", "\u9031\u4E8C", "\u9031\u4E09", "\u9031\u56DB", "\u9031\u4E94", "\u9031\u516D" };
+
+  static final String[] shortMonths = { " 1\u6708", " 2\u6708", " 3\u6708", " 4\u6708", " 5\u6708", " 6\u6708", " 7\u6708", " 8\u6708", " 9\u6708", "10\u6708", "11\u6708", "12\u6708", null };
+
+  static final String[] months = { "\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708", null };
+
+  static final String[] ampms = { "\u4E0A\u5348", "\u4E0B\u5348" };
+
+  static final String shortDateFormat = "yyyyMMdd";
+  static final String defaultTimeFormat = "a hhms";
+  static final String currencySymbol = "NT$";
+  static final String intlCurrencySymbol = "TWD";
+  static final String currencyFormat = "$#,##0.00;-$#,##0.00";
+
+  private static final Object[][] contents =
+  {
+    { "weekdays", weekdays },
+    { "shortWeekdays", shortWeekdays },
+    { "shortMonths", shortMonths },
+    { "months", months },
+    { "ampms", ampms },
+    { "shortDateFormat", shortDateFormat },
+    { "defaultTimeFormat", defaultTimeFormat },
+    { "currencySymbol", currencySymbol },
+    { "intlCurrencySymbol", intlCurrencySymbol },
+    { "currencyFormat", currencyFormat },
+    { "decimalSeparator", decimalSeparator },
+    { "groupingSeparator", groupingSeparator },
+    { "numberFormat", numberFormat },
+    { "percentFormat", percentFormat },
+  };
+
+  public Object[][] getContents () { return contents; }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainDatagramSocketImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainDatagramSocketImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainDatagramSocketImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainDatagramSocketImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,310 @@
+/* PlainDatagramSocketImpl.java -- Default DatagramSocket implementation
+   Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.net;
+
+import gnu.classpath.Configuration;
+
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocketImpl;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.NetworkInterface;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketOptions;
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Believed complete and correct.
+ */
+
+/**
+ * This is the default socket implementation for datagram sockets.
+ * It makes native calls to C routines that implement BSD style
+ * SOCK_DGRAM sockets in the AF_INET family.
+ *
+ * @author Aaron M. Renn (arenn at urbanophile.com)
+ * @author Warren Levy (warrenl at cygnus.com)
+ */
+public final class PlainDatagramSocketImpl extends DatagramSocketImpl
+{
+  // Static initializer to load native library
+  static
+  {
+    if (Configuration.INIT_LOAD_LIBRARY)
+      {
+        System.loadLibrary("javanet");
+      }
+  }
+  
+  // These fields are mirrored for use in native code to avoid cpp conflicts
+  // when the #defines in system header files are the same as the public fields.
+  static final int _Jv_TCP_NODELAY_ = SocketOptions.TCP_NODELAY,
+                   _Jv_SO_BINDADDR_ = SocketOptions.SO_BINDADDR,
+                   _Jv_SO_REUSEADDR_ = SocketOptions.SO_REUSEADDR,
+                   _Jv_SO_BROADCAST_ = SocketOptions.SO_BROADCAST,
+                   _Jv_SO_OOBINLINE_ = SocketOptions.SO_OOBINLINE,
+                   _Jv_IP_MULTICAST_IF_ = SocketOptions.IP_MULTICAST_IF,
+                   _Jv_IP_MULTICAST_IF2_ = SocketOptions.IP_MULTICAST_IF2,
+                   _Jv_IP_MULTICAST_LOOP_ = SocketOptions.IP_MULTICAST_LOOP,
+                   _Jv_IP_TOS_ = SocketOptions.IP_TOS,
+                   _Jv_SO_LINGER_ = SocketOptions.SO_LINGER,
+                   _Jv_SO_TIMEOUT_ = SocketOptions.SO_TIMEOUT,
+                   _Jv_SO_SNDBUF_ = SocketOptions.SO_SNDBUF,
+                   _Jv_SO_RCVBUF_ = SocketOptions.SO_RCVBUF,
+                   _Jv_SO_KEEPALIVE_ = SocketOptions.SO_KEEPALIVE;
+
+  /**
+   * This is the actual underlying file descriptor
+   */
+  int native_fd = -1;
+  
+  /**
+   * Lock object to serialize threads wanting to receive 
+   */
+  private final Object RECEIVE_LOCK = new Object();
+  
+  /**
+   * Lock object to serialize threads wanting to send 
+   */
+  private final Object SEND_LOCK = new Object();
+
+  // FIXME: Is this necessary?  Could it help w/ DatagramSocket.getLocalAddress?
+  // InetAddress address;
+  
+  // localAddress cache  
+  InetAddress localAddress;
+
+  // 'timeout' is set/read by setOption/getOption.
+  int timeout = 0;
+
+  /**
+   * Default do nothing constructor
+   */
+  public PlainDatagramSocketImpl()
+  {
+  }
+
+  protected void finalize() throws Throwable
+  {
+    synchronized (this)
+      {
+	if (native_fd != -1)
+	  close();
+      }
+    super.finalize();
+  }
+
+  public int getNativeFD()
+  {
+    return native_fd;
+  }
+
+  /**
+   * Binds this socket to a particular port and interface
+   *
+   * @param port The port to bind to
+   * @param addr The address to bind to
+   *
+   * @exception SocketException If an error occurs
+   */
+  protected native void bind(int port, InetAddress addr)
+    throws SocketException;
+
+  protected native void connect(InetAddress addr, int port)
+    throws SocketException;
+  
+  protected native void disconnect();
+  
+  /**
+   * Creates a new datagram socket
+   *
+   * @exception SocketException If an error occurs
+   */
+  protected native void create() throws SocketException;
+  
+  protected native int peek(InetAddress addr) throws IOException;
+  
+  protected native int peekData(DatagramPacket packet) throws IOException;
+
+  /**
+   * Sets the Time to Live value for the socket
+   *
+   * @param ttl The new TTL value
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native void setTimeToLive(int ttl) throws IOException;
+
+  /**
+   * Gets the Time to Live value for the socket
+   *
+   * @return The TTL value
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native int getTimeToLive() throws IOException;
+
+  /**
+   * Sends a packet of data to a remote host
+   *
+   * @param packet The packet to send
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native void send(DatagramPacket packet) throws IOException;
+
+  /**
+   * Receives a UDP packet from the network
+   *
+   * @param packet The packet to fill in with the data received
+   *
+   * @exception IOException IOException If an error occurs
+   */
+  protected native void receive(DatagramPacket packet) throws IOException;
+
+  /**
+   * Sets the value of an option on the socket
+   *
+   * @param option_id The identifier of the option to set
+   * @param val The value of the option to set
+   *
+   * @exception SocketException If an error occurs
+   */
+  public native void setOption(int option_id, Object val)
+    throws SocketException;
+
+  /**
+   * Retrieves the value of an option on the socket
+   *
+   * @param option_id The identifier of the option to retrieve
+   *
+   * @return The value of the option
+   *
+   * @exception SocketException If an error occurs
+   */
+  public native Object getOption(int option_id)
+    throws SocketException;
+
+  /**
+   * Joins or leaves a broadcasting group on a given network interface.
+   * If the network interface is <code>null</code> the group is join/left on
+   * all locale network interfaces.
+   * 
+   * @param inetAddr The broadcast address.
+   * @param netIf The network interface to join the group on.
+   * @param join True to join a broadcasting group, fals to leave it.
+   *
+   * @exception IOException If an error occurs.
+   */
+  private native void mcastGrp(InetAddress inetAddr, NetworkInterface netIf,
+		               boolean join)
+    throws IOException;
+
+  /**
+   * Closes the socket
+   */
+  protected native void close();
+
+  /**
+   * Gets the Time to Live value for the socket
+   *
+   * @return The TTL value
+   *
+   * @exception IOException If an error occurs
+   *
+   * @deprecated 1.2
+   */
+  protected byte getTTL() throws IOException
+  {
+    return (byte) getTimeToLive();
+  }
+
+  /**
+   * Sets the Time to Live value for the socket
+   *
+   * @param ttl The new TTL value
+   *
+   * @exception IOException If an error occurs
+   *
+   * @deprecated 1.2
+   */
+  protected void setTTL(byte ttl) throws IOException
+  {
+    setTimeToLive(((int) ttl) & 0xFF);
+  }
+
+  /**
+   * Joins a multicast group
+   *
+   * @param addr The group to join
+   *
+   * @exception IOException If an error occurs
+   */
+  protected void join(InetAddress addr) throws IOException
+  {
+    mcastGrp(addr, null, true);
+  }
+
+  /**
+   * Leaves a multicast group
+   *
+   * @param addr The group to leave
+   *
+   * @exception IOException If an error occurs
+   */
+  protected void leave(InetAddress addr) throws IOException
+  {
+    mcastGrp(addr, null, false);
+  }
+
+  protected void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
+    throws IOException
+  {
+    mcastGrp(((InetSocketAddress) mcastaddr).getAddress(), netIf, true);
+  }
+
+  protected void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
+    throws IOException
+  {
+    mcastGrp(((InetSocketAddress) mcastaddr).getAddress(), netIf, false);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainSocketImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainSocketImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainSocketImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/PlainSocketImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,455 @@
+/* PlainSocketImpl.java -- Default socket implementation
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+   Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.net;
+
+import gnu.classpath.Configuration;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketImpl;
+import java.net.SocketOptions;
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Believed complete and correct.
+ */
+
+/**
+ * Unless the application installs its own SocketImplFactory, this is the
+ * default socket implemetation that will be used.  It simply uses a
+ * combination of Java and native routines to implement standard BSD
+ * style sockets of family AF_INET and types SOCK_STREAM and SOCK_DGRAM
+ *
+ * @author Per Bothner (bothner at cygnus.com)
+ * @author Nic Ferrier (nferrier at tapsellferrier.co.uk)
+ * @author Aaron M. Renn (arenn at urbanophile.com)
+ */
+public final class PlainSocketImpl extends SocketImpl
+{
+  // Static initializer to load native library.
+  static
+    {
+      if (Configuration.INIT_LOAD_LIBRARY)
+        {
+          System.loadLibrary("javanet");
+        }
+    }
+  
+  // These fields are mirrored for use in native code to avoid cpp conflicts
+  // when the #defines in system header files are the same as the public fields.
+  static final int _Jv_TCP_NODELAY_ = SocketOptions.TCP_NODELAY,
+                   _Jv_SO_BINDADDR_ = SocketOptions.SO_BINDADDR,
+                   _Jv_SO_REUSEADDR_ = SocketOptions.SO_REUSEADDR,
+                   _Jv_SO_BROADCAST_ = SocketOptions.SO_BROADCAST,
+                   _Jv_SO_OOBINLINE_ = SocketOptions.SO_OOBINLINE,
+                   _Jv_IP_MULTICAST_IF_ = SocketOptions.IP_MULTICAST_IF,
+                   _Jv_IP_MULTICAST_IF2_ = SocketOptions.IP_MULTICAST_IF2,
+                   _Jv_IP_MULTICAST_LOOP_ = SocketOptions.IP_MULTICAST_LOOP,
+                   _Jv_IP_TOS_ = SocketOptions.IP_TOS,
+                   _Jv_SO_LINGER_ = SocketOptions.SO_LINGER,
+                   _Jv_SO_TIMEOUT_ = SocketOptions.SO_TIMEOUT,
+                   _Jv_SO_SNDBUF_ = SocketOptions.SO_SNDBUF,
+                   _Jv_SO_RCVBUF_ = SocketOptions.SO_RCVBUF,
+                   _Jv_SO_KEEPALIVE_ = SocketOptions.SO_KEEPALIVE;
+
+  /**
+   * The OS file handle representing the socket.
+   * This is used for reads and writes to/from the socket and
+   * to close it.
+   *
+   * When the socket is closed this is reset to -1.
+   */
+  int native_fd = -1;
+
+  // This value is set/read by setOption/getOption.
+  int timeout = 0;
+  
+  // localAddress cache
+  InetAddress localAddress;
+
+  /**
+   * A cached copy of the in stream for reading from the socket.
+   */
+  private InputStream in;
+
+  /**
+   * A cached copy of the out stream for writing to the socket.
+   */
+  private OutputStream out;
+
+  /**
+   * Indicates whether a channel initiated whatever operation
+   * is being invoked on this socket.
+   */
+  private boolean inChannelOperation;
+
+  /**
+   * Indicates whether we should ignore whether any associated
+   * channel is set to non-blocking mode. Certain operations
+   * throw an <code>IllegalBlockingModeException</code> if the
+   * associated channel is in non-blocking mode, <i>except</i>
+   * if the operation is invoked by the channel itself.
+   */
+  public final boolean isInChannelOperation()
+  {
+    return inChannelOperation;
+  }
+  
+  /**
+   * Sets our indicator of whether an I/O operation is being
+   * initiated by a channel.
+   */
+  public final void setInChannelOperation(boolean b)
+  {
+    inChannelOperation = b;
+  }
+ 
+  /**
+   * Default do nothing constructor
+   */
+  public PlainSocketImpl()
+  {
+  }
+  
+  protected void finalize() throws Throwable
+  {
+    synchronized (this)
+      {
+	if (native_fd != -1)
+	  try
+	    {
+	      close();
+	    }
+	  catch (IOException ex)
+	    {
+	    }
+      }
+    super.finalize();
+  }
+
+  public int getNativeFD()
+  {
+    return native_fd;
+  }
+
+  /**
+   * Sets the specified option on a socket to the passed in object.  For
+   * options that take an integer argument, the passed in object is an
+   * Integer.  The option_id parameter is one of the defined constants in
+   * this interface.
+   *
+   * @param option_id The identifier of the option
+   * @param val The value to set the option to
+   *
+   * @exception SocketException If an error occurs
+   */
+  public native void setOption(int optID, Object value) throws SocketException;
+
+  /**
+   * Returns the current setting of the specified option.  The Object returned
+   * will be an Integer for options that have integer values.  The option_id
+   * is one of the defined constants in this interface.
+   *
+   * @param option_id The option identifier
+   *
+   * @return The current value of the option
+   *
+   * @exception SocketException If an error occurs
+   */
+  public native Object getOption(int optID) throws SocketException;
+
+  /**
+   * Flushes the input stream and closes it. If you read from the input stream
+   * after calling this method a <code>IOException</code> will be thrown.
+   * 
+   * @throws IOException if an error occurs
+   */
+  public native void shutdownInput() throws IOException;
+
+  /**
+   * Flushes the output stream and closes it. If you write to the output stream
+   * after calling this method a <code>IOException</code> will be thrown.
+   * 
+   * @throws IOException if an error occurs
+   */
+  public native void shutdownOutput() throws IOException;
+
+  /**
+   * Creates a new socket that is not bound to any local address/port and
+   * is not connected to any remote address/port.  This will be created as
+   * a stream socket if the stream parameter is true, or a datagram socket
+   * if the stream parameter is false.
+   *
+   * @param stream true for a stream socket, false for a datagram socket
+   */
+  protected native void create(boolean stream) throws IOException;
+
+  /**
+   * Connects to the remote hostname and port specified as arguments.
+   *
+   * @param hostname The remote hostname to connect to
+   * @param port The remote port to connect to
+   *
+   * @exception IOException If an error occurs
+   */
+  protected void connect(String host, int port) throws IOException
+  {
+    connect(InetAddress.getByName(host), port);
+  }
+
+  /**
+   * Connects to the remote address and port specified as arguments.
+   *
+   * @param addr The remote address to connect to
+   * @param port The remote port to connect to
+   *
+   * @exception IOException If an error occurs
+   */
+  protected void connect(InetAddress host, int port) throws IOException
+  {
+    connect (new InetSocketAddress (host, port), 0);
+  }
+
+  /**
+   * Connects to the remote socket address with a specified timeout.
+   *
+   * @param timeout The timeout to use for this connect, 0 means infinite.
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native void connect(SocketAddress addr, int timeout) throws IOException;
+
+  /**
+   * Binds to the specified port on the specified addr.  Note that this addr
+   * must represent a local IP address.  **** How bind to INADDR_ANY? ****
+   *
+   * @param addr The address to bind to
+   * @param port The port number to bind to
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native void bind(InetAddress host, int port)
+    throws IOException;
+
+  /**
+   * Starts listening for connections on a socket. The queuelen parameter
+   * is how many pending connections will queue up waiting to be serviced
+   * before being accept'ed.  If the queue of pending requests exceeds this
+   * number, additional connections will be refused.
+   *
+   * @param queuelen The length of the pending connection queue
+   * 
+   * @exception IOException If an error occurs
+   */
+  protected native void listen(int queuelen)
+    throws IOException;
+
+  /**
+   * Accepts a new connection on this socket and returns in in the 
+   * passed in SocketImpl.
+   *
+   * @param impl The SocketImpl object to accept this connection.
+   */
+  protected void accept(SocketImpl impl)
+    throws IOException
+  {
+    accept((PlainSocketImpl) impl);
+  }
+
+  private native void accept(PlainSocketImpl impl)
+    throws IOException;
+
+  /**
+   * Returns the number of bytes that the caller can read from this socket
+   * without blocking. 
+   *
+   * @return The number of readable bytes before blocking
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native int available() throws IOException;
+
+  /**
+   * Closes the socket.  This will cause any InputStream or OutputStream
+   * objects for this Socket to be closed as well.
+   * <p>
+   * Note that if the SO_LINGER option is set on this socket, then the
+   * operation could block.
+   *
+   * @exception IOException If an error occurs
+   */
+  protected native void close() throws IOException;
+
+  protected native void sendUrgentData(int data) throws IOException;
+
+  /**
+   * Returns an InputStream object for reading from this socket.  This will
+   * be an instance of SocketInputStream.
+   *
+   * @return An input stream attached to the socket.
+   *
+   * @exception IOException If an error occurs
+   */
+  protected synchronized InputStream getInputStream() throws IOException
+  {
+    if (in == null)
+      in = new SocketInputStream();
+    
+    return in;
+  }
+
+  /**
+   * Returns an OutputStream object for writing to this socket.  This will
+   * be an instance of SocketOutputStream.
+   *
+   * @return An output stream attached to the socket.
+   *
+   * @exception IOException If an error occurs
+   */
+  protected synchronized OutputStream getOutputStream() throws IOException
+  {
+    if (out == null)
+      out = new SocketOutputStream();
+    
+    return out;
+  }
+
+  /**
+   * This class contains an implementation of <code>InputStream</code> for 
+   * sockets.  It in an internal only class used by <code>PlainSocketImpl</code>.
+   *
+   * @author Nic Ferrier <nferrier at tapsellferrier.co.uk>
+   */
+  final class SocketInputStream
+    extends InputStream
+  {
+    /**
+     * Returns the number of bytes available to be read before blocking
+     */
+    public int available() throws IOException
+    {
+      return PlainSocketImpl.this.available();
+    }
+
+    /**
+     * This method not only closes the stream, it closes the underlying socket
+     * (and thus any connection) and invalidates any other Input/Output streams
+     * for the underlying impl object
+     */
+    public void close() throws IOException
+    {
+      PlainSocketImpl.this.close();
+    }
+
+    /**
+     * Reads the next byte of data and returns it as an int.  
+     *
+     * @return The byte read (as an int) or -1 if end of stream);
+     *
+     * @exception IOException If an error occurs.
+     */
+    public native int read() throws IOException;
+
+    /**
+     * Reads up to len bytes of data into the caller supplied buffer starting
+     * at offset bytes from the start of the buffer
+     *
+     * @param buf The buffer
+     * @param offset Offset into the buffer to start reading from
+     * @param len The number of bytes to read
+     *
+     * @return The number of bytes actually read or -1 if end of stream
+     *
+     * @exception IOException If an error occurs.
+     */
+    public native int read(byte[] buf, int offset, int len) throws IOException;
+  }
+
+  /**
+   * This class is used internally by <code>PlainSocketImpl</code> to be the 
+   * <code>OutputStream</code> subclass returned by its 
+   * <code>getOutputStream method</code>.  It expects only to  be used in that
+   * context.
+   *
+   * @author Nic Ferrier  <nferrier at tapsellferrier.co.uk>
+   */
+  final class SocketOutputStream
+    extends OutputStream
+  {
+    /**
+     * This method closes the stream and the underlying socket connection. This
+     * action also effectively closes any other InputStream or OutputStream
+     * object associated with the connection.
+     *
+     * @exception IOException If an error occurs
+     */
+    public void close() throws IOException
+    {
+      PlainSocketImpl.this.close();
+    }
+
+    /**
+     * Writes a byte (passed in as an int) to the given output stream
+     * 
+     * @param b The byte to write
+     *
+     * @exception IOException If an error occurs
+     */
+    public native void write(int b) throws IOException;
+
+    /**
+     * Writes len number of bytes from the array buf to the stream starting
+     * at offset bytes into the buffer.
+     *
+     * @param buf The buffer
+     * @param offset Offset into the buffer to start writing from
+     * @param len The number of bytes to write
+     *
+     * @exception IOException If an error occurs.
+     */
+    public native void write(byte[] buf, int offset, int len) throws IOException;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/local/LocalSocketImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/local/LocalSocketImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/local/LocalSocketImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/local/LocalSocketImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,310 @@
+/* LocalSocketImpl.java -- a unix domain client socket implementation.
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.  */
+
+
+package gnu.java.net.local;
+
+import java.io.FileDescriptor;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import java.net.InetAddress;
+import java.net.SocketAddress;
+import java.net.SocketException;
+import java.net.SocketImpl;
+
+final class LocalSocketImpl extends SocketImpl
+{
+
+  // Fields.
+  // -------------------------------------------------------------------------
+
+  private boolean created;
+  private InputStream in;
+  private OutputStream out;
+  private int socket_fd;
+  private LocalSocketAddress local;
+  private LocalSocketAddress remote;
+
+  // Constructor.
+  // -------------------------------------------------------------------------
+
+  LocalSocketImpl ()
+  {
+    this (false);
+  }
+
+  LocalSocketImpl (boolean nocreate)
+  {
+    created = nocreate;
+    socket_fd = -1;
+    fd = new FileDescriptor ();
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  public void setOption (int opt, Object value) throws SocketException
+  {
+    throw new SocketException ("local sockets do not support options");
+  }
+
+  public Object getOption (int opt) throws SocketException
+  {
+    throw new SocketException ("local sockets do not support options");
+  }
+
+  protected void create (boolean stream) throws IOException { }
+  protected void listen (int timeout) throws IOException { }
+  protected void accept (LocalSocketImpl socket) throws IOException { }
+  protected int available () throws IOException { return -1; }
+  protected void close () throws IOException { }
+  protected void sendUrgentData (int data) throws IOException { }
+  protected void shutdownInput () throws IOException { }
+  protected void shutdownOutput () throws IOException { }
+
+  void unlink () throws IOException { }
+  void localBind (LocalSocketAddress addr) throws IOException { }
+  void localConnect (LocalSocketAddress addr) throws IOException { }
+  int read (byte[] buf, int off, int len) throws IOException { return -1; }
+  void write (byte[] buf, int off, int len) throws IOException { }
+
+  void doCreate () throws IOException
+  {
+    if (!created)
+      {
+        create (true);
+      }
+  }
+
+  LocalSocketAddress getLocalAddress ()
+  {
+    return local;
+  }
+
+  LocalSocketAddress getRemoteAddress ()
+  {
+    return remote;
+  }
+
+  protected InputStream getInputStream()
+  {
+    if (in == null)
+      {
+        in = new LocalInputStream (this);
+      }
+
+    return in;
+  }
+
+  protected OutputStream getOutputStream()
+  {
+    if (out == null)
+      {
+        out = new LocalOutputStream (this);
+      }
+
+    return out;
+  }
+
+  protected void accept (SocketImpl impl) throws IOException
+  {
+    if (! (impl instanceof LocalSocketImpl))
+      {
+        throw new IllegalArgumentException ("not a local socket");
+      }
+    accept ((LocalSocketImpl) impl);
+  }
+
+  protected void connect (String host, int port) throws IOException
+  {
+    throw new SocketException ("this is a local socket");
+  }
+
+  protected void connect (InetAddress addr, int port) throws IOException
+  {
+    throw new SocketException ("this is a local socket");
+  }
+
+  protected void connect(SocketAddress addr, int timeout) throws IOException
+  {
+    if (! (addr instanceof LocalSocketAddress))
+      {
+        throw new SocketException ("address is not local");
+      }
+    localConnect ((LocalSocketAddress) addr);
+  }
+
+  protected void bind (InetAddress addr, int port) throws IOException
+  {
+    throw new SocketException ("this is a local socket");
+  }
+
+  protected void bind (SocketAddress addr) throws IOException
+  {
+    if (! (addr instanceof LocalSocketAddress))
+      {
+        throw new SocketException ("address is not local");
+      }
+    localBind ((LocalSocketAddress) addr);
+  }
+
+// Inner classes.
+  // -------------------------------------------------------------------------
+
+  class LocalInputStream extends InputStream
+  {
+
+    // Field.
+    // -----------------------------------------------------------------------
+
+    private final LocalSocketImpl impl;
+
+    // Constructor.
+    // -----------------------------------------------------------------------
+
+    LocalInputStream (LocalSocketImpl impl)
+    {
+      this.impl = impl;
+    }
+
+    // Instance methods.
+    // -----------------------------------------------------------------------
+
+    public int available () throws IOException
+    {
+      return impl.available();
+    }
+
+    public boolean markSupported ()
+    {
+      return false;
+    }
+
+    public void mark (int readLimit)
+    {
+    }
+
+    public void reset () throws IOException
+    {
+      throw new IOException ("mark/reset not supported");
+    }
+
+    public void close () throws IOException
+    {
+      impl.close();
+    }
+
+    public int read () throws IOException
+    {
+      byte[] buf = new byte[1];
+      int ret = read (buf);
+      if (ret != -1)
+        {
+          return buf[0] & 0xFF;
+        }
+      else
+        {
+          return -1;
+        }
+    }
+
+    public int read (byte[] buf) throws IOException
+    {
+      return read (buf, 0, buf.length);
+    }
+
+    public int read (byte[] buf, int off, int len) throws IOException
+    {
+      int ret = impl.read (buf, off, len);
+
+      if (ret == 0)
+        {
+          return -1;
+        }
+
+      return ret;
+    }
+  }
+
+  class LocalOutputStream extends OutputStream
+  {
+
+    // Field.
+    // -----------------------------------------------------------------------
+
+    private final LocalSocketImpl impl;
+
+    // Constructor.
+    // -----------------------------------------------------------------------
+
+    LocalOutputStream (LocalSocketImpl impl)
+    {
+      this.impl = impl;
+    }
+
+    // Instance methods.
+    // -----------------------------------------------------------------------
+
+    public void close () throws IOException
+    {
+      impl.close ();
+    }
+
+    public void flush () throws IOException
+    {
+    }
+
+    public void write (int b) throws IOException
+    {
+      byte[] buf = new byte [1];
+      buf[0] = (byte) b;
+      write (buf);
+    }
+
+    public void write (byte[] buf) throws IOException
+    {
+      write (buf, 0, buf.length);
+    }
+
+    public void write (byte[] buf, int off, int len) throws IOException
+    {
+      impl.write (buf, off, len);
+    }
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,119 @@
+/* Copyright (C) 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/lang/Object.h>
+#include <java/net/BindException.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/SocketException.h>
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("DatagramSocketImpl.create: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint, ::java::net::InetAddress *)
+{
+  throw new ::java::net::BindException (
+    JvNewStringLatin1 ("DatagramSocketImpl.bind: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *, jint)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("DatagramSocketImpl.connect: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("DatagramSocketImpl.disconnect: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.peek: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.peekData: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.close: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.send: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.receive: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.setTimeToLive: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.getTimeToLive: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *,
+                                              ::java::net::NetworkInterface *,
+					      jboolean)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("DatagramSocketImpl.mcastGrp: unimplemented"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint, ::java::lang::Object *)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("DatagramSocketImpl.setOption: unimplemented"));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("DatagramSocketImpl.getOption: unimplemented"));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,858 @@
+/* Copyright (C) 2003, 2005, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#include <errno.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2 
+#include <bstring.h>
+#endif
+
+#include <gcj/cni.h>
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/net/BindException.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/PortUnreachableException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Integer.h>
+#include <java/net/UnknownHostException.h>
+#include <java/net/ConnectException.h>
+#include <java/lang/NullPointerException.h>
+
+union SockAddr
+{
+  struct sockaddr_in address;
+#ifdef HAVE_INET6
+  struct sockaddr_in6 address6;
+#endif
+};
+
+union McastReq
+{
+#if HAVE_STRUCT_IP_MREQ
+  struct ip_mreq mreq;
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+  struct ipv6_mreq mreq6;
+#endif
+};
+
+union InAddr
+{
+  struct in_addr addr;
+#ifdef HAVE_INET6
+  struct in6_addr addr6;
+#endif
+};
+
+
+// FIXME: routines here and/or in natPlainSocketImpl.cc could throw
+// NoRouteToHostException; also consider UnknownHostException, ConnectException.
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+  int sock = _Jv_socket (AF_INET, SOCK_DGRAM, 0);
+
+  if (sock < 0)
+    {
+      char* strerr = strerror (errno);
+      throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+    }
+
+  // We use native_fd in place of fd here.  From leaving fd null we avoid
+  // the double close problem in FileDescriptor.finalize.
+  native_fd = sock;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
+                                               ::java::net::InetAddress *host)
+{
+  union SockAddr u;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+
+      if (host != NULL)
+        memcpy (&u.address.sin_addr, bytes, len);
+      else
+        u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (lport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (lport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (_Jv_bind (native_fd, ptr, len) == 0)
+    {
+      socklen_t addrlen = sizeof(u);
+
+      if (lport != 0)
+        localPort = lport;
+      else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+        localPort = ntohs (u.address.sin_port);
+      else
+        goto error;
+
+      /* Allow broadcast by default. */
+      int broadcast = 1;
+      if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast, 
+                        sizeof (broadcast)) != 0)
+        goto error;
+
+      return;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::BindException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *host,
+						  jint rport)
+{ 
+  if (! host)
+    throw new ::java::lang::NullPointerException;
+
+  union SockAddr u;
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+      memcpy (&u.address.sin_addr, bytes, len);
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (rport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (rport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+  
+  if (_Jv_connect (native_fd, ptr, len) == 0)
+    return;
+  char* strerr = strerror (errno);
+  throw new ::java::net::ConnectException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+  struct sockaddr addr;
+  addr.sa_family = AF_UNSPEC;
+  // Ignore errors.  This is lame but apparently required.
+  _Jv_connect (native_fd, &addr, sizeof (addr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
+{
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  ssize_t retlen =
+    ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
+      &addrlen);
+  if (retlen < 0)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  i->addr = raddr;
+  return rport;
+ error:
+  char* strerr = strerror (errno);
+
+  if (errno == ECONNREFUSED)
+    throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *p)
+{
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyte *dbytes = elements (p->getData()) + p->getOffset();
+  jint maxlen = p->maxlen - p->getOffset();
+  ssize_t retlen = 0;
+
+  // Do timeouts via select since SO_RCVTIMEO is not always available.
+  if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+    {
+      fd_set rset;
+      struct timeval tv;
+      FD_ZERO(&rset);
+      FD_SET(native_fd, &rset);
+      tv.tv_sec = timeout / 1000;
+      tv.tv_usec = (timeout % 1000) * 1000;
+      int retval;
+      if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
+        goto error;
+      else if (retval == 0)
+        throw new ::java::net::SocketTimeoutException
+          (JvNewStringUTF ("PeekData timed out") );
+    }
+
+  retlen =
+    ::recvfrom (native_fd, (char *) dbytes, maxlen, MSG_PEEK, (sockaddr*) &u,
+      &addrlen);
+  if (retlen < 0)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+  p->setPort (rport);
+  p->length = (int) retlen;
+  return rport;
+
+ error:
+  char* strerr = strerror (errno);
+
+  if (errno == ECONNREFUSED)
+    throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+  // Avoid races from asynchronous finalization.
+  JvSynchronize sync (this);
+
+  // The method isn't declared to throw anything, so we disregard
+  // the return value.
+  _Jv_close (native_fd);
+  native_fd = -1;
+  timeout = 0;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
+{
+  JvSynchronize lock (SEND_LOCK);
+  
+  // FIXME: Deal with Multicast.
+
+  ::java::net::InetAddress *host = p->getAddress();
+  if (host == NULL)
+    {
+      // If there is no host, maybe this socket was connected, in
+      // which case we try a plain send().
+      jbyte *dbytes = elements (p->getData()) + p->getOffset();
+      if (::send (native_fd, (char *) dbytes, p->getLength(), 0) >= 0)
+	return;
+    }
+  else
+    {
+      jint rport = p->getPort();
+      union SockAddr u;
+
+      jbyteArray haddress = host->addr;
+      jbyte *bytes = elements (haddress);
+      int len = haddress->length;
+      struct sockaddr *ptr = (struct sockaddr *) &u.address;
+      jbyte *dbytes = elements (p->getData()) + p->getOffset();
+      if (len == 4)
+	{
+	  u.address.sin_family = AF_INET;
+	  memcpy (&u.address.sin_addr, bytes, len);
+	  len = sizeof (struct sockaddr_in);
+	  u.address.sin_port = htons (rport);
+	}
+#ifdef HAVE_INET6
+      else if (len == 16)
+	{
+	  u.address6.sin6_family = AF_INET6;
+	  memcpy (&u.address6.sin6_addr, bytes, len);
+	  len = sizeof (struct sockaddr_in6);
+	  u.address6.sin6_port = htons (rport);
+	}
+#endif
+      else
+	throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+      if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len)
+	  >= 0)
+	return;
+    }
+
+  char* strerr = strerror (errno);
+
+  if (errno == ECONNREFUSED)
+    throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p)
+{
+  JvSynchronize lock (RECEIVE_LOCK);
+
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyte *dbytes = elements (p->getData()) + p->getOffset();
+  jint maxlen = p->maxlen - p->getOffset();
+  ssize_t retlen = 0;
+
+  // Do timeouts via select since SO_RCVTIMEO is not always available.
+  if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+    {
+      fd_set rset;
+      struct timeval tv;
+      FD_ZERO(&rset);
+      FD_SET(native_fd, &rset);
+      tv.tv_sec = timeout / 1000;
+      tv.tv_usec = (timeout % 1000) * 1000;
+      int retval;
+      if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
+        goto error;
+      else if (retval == 0)
+        throw new ::java::net::SocketTimeoutException
+          (JvNewStringUTF ("Receive timed out") );
+    }
+
+  retlen =
+    ::recvfrom (native_fd, (char *) dbytes, maxlen, 0, (sockaddr*) &u,
+      &addrlen);
+  if (retlen < 0)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  p->setAddress (::java::net::InetAddress::getByAddress (raddr));
+  p->setPort (rport);
+  p->length = (jint) retlen;
+  return;
+
+ error:
+  char* strerr = strerror (errno);
+
+  if (errno == ECONNREFUSED)
+    throw new ::java::net::PortUnreachableException (JvNewStringUTF (strerr));
+
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
+{
+  // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+  char val = (char) ttl;
+  socklen_t val_len = sizeof(val);
+
+  if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
+    return;
+
+  char* strerr = strerror (errno);
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+  // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+  char val;
+  socklen_t val_len = sizeof(val);
+
+  if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
+    return ((int) val) & 0xFF;
+
+  char* strerr = strerror (errno);
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *inetaddr,
+                                                   ::java::net::NetworkInterface *,
+                                                   jboolean join)
+{
+  // FIXME: implement use of NetworkInterface
+
+  jbyteArray haddress = inetaddr->addr;
+#if HAVE_STRUCT_IP_MREQ || HAVE_STRUCT_IPV6_MREQ
+  union McastReq u;
+  jbyte *bytes = elements (haddress);
+#endif
+
+  int len = haddress->length;
+  int level, opname;
+  const char *ptr;
+  if (0)
+    ;
+#if HAVE_STRUCT_IP_MREQ
+  else if (len == 4)
+    {
+      level = IPPROTO_IP;
+      opname = join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP;
+      memcpy (&u.mreq.imr_multiaddr, bytes, len);
+      // FIXME:  If a non-default interface is set, use it; see Stevens p. 501.
+      // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+      u.mreq.imr_interface.s_addr = htonl (INADDR_ANY); 
+      len = sizeof (struct ip_mreq);
+      ptr = (const char *) &u.mreq;
+    }
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+  else if (len == 16)
+    {
+      level = IPPROTO_IPV6;
+
+      /* Prefer new RFC 2553 names.  */
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+#ifndef IPV6_LEAVE_GROUP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#endif
+
+      opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
+      memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len);
+      // FIXME:  If a non-default interface is set, use it; see Stevens p. 501.
+      // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+      u.mreq6.ipv6mr_interface = 0;
+      len = sizeof (struct ipv6_mreq);
+      ptr = (const char *) &u.mreq6;
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
+    return;
+
+  char* strerr = strerror (errno);
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Helper function to get the InetAddress for a given socket (file
+// descriptor).
+static ::java::net::InetAddress *
+getLocalAddress (int native_fd)
+{
+  jbyteArray laddr;
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+
+  if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+    {
+      char* strerr = strerror (errno);
+      throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+    }
+  if (u.address.sin_family == AF_INET)
+    {
+      laddr = JvNewByteArray (4);
+      memcpy (elements (laddr), &u.address.sin_addr, 4);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      laddr = JvNewByteArray (16);
+      memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  return ::java::net::InetAddress::getByAddress (laddr);
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
+                                                    ::java::lang::Object *value)
+{
+  int val;
+  socklen_t val_len = sizeof (val);
+
+  if (native_fd < 0)
+    throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+  if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+    {
+      ::java::lang::Boolean *boolobj = 
+        static_cast< ::java::lang::Boolean *> (value);
+      val = boolobj->booleanValue() ? 1 : 0;
+    }
+  else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+    {
+      ::java::lang::Integer *intobj = 
+        static_cast< ::java::lang::Integer *> (value);          
+      val = (int) intobj->intValue();
+    }
+  // Else assume value to be an InetAddress for use with IP_MULTICAST_IF.
+
+  switch (optID) 
+    {
+      case _Jv_TCP_NODELAY_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+        return;
+      case _Jv_SO_LINGER_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_LINGER not valid for UDP"));
+        return;
+      case _Jv_SO_KEEPALIVE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+        return;
+
+      case _Jv_SO_BROADCAST_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+                          val_len) != 0)
+          goto error;
+	return;
+	
+      case _Jv_SO_OOBINLINE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_OOBINLINE: not valid for UDP"));
+        return;
+	
+      case _Jv_SO_SNDBUF_ :
+      case _Jv_SO_RCVBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+	  goto error;    
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif 
+        return;
+      case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+	if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+	    val_len) != 0)
+	  goto error;
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif 
+	return;
+      case _Jv_SO_BINDADDR_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_BINDADDR: read only option"));
+        return;
+      case _Jv_IP_MULTICAST_IF_ :
+	union InAddr u;
+        jbyteArray haddress;
+	jbyte *bytes;
+	int len;
+	int level, opname;
+	const char *ptr;
+
+	haddress = ((::java::net::InetAddress *) value)->addr;
+	bytes = elements (haddress);
+	len = haddress->length;
+	if (len == 4)
+	  {
+	    level = IPPROTO_IP;
+	    opname = IP_MULTICAST_IF;
+	    memcpy (&u.addr, bytes, len);
+	    len = sizeof (struct in_addr);
+	    ptr = (const char *) &u.addr;
+	  }
+// Tru64 UNIX V5.0 has struct sockaddr_in6, but no IPV6_MULTICAST_IF
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_IF)
+	else if (len == 16)
+	  {
+	    level = IPPROTO_IPV6;
+	    opname = IPV6_MULTICAST_IF;
+	    memcpy (&u.addr6, bytes, len);
+	    len = sizeof (struct in6_addr);
+	    ptr = (const char *) &u.addr6;
+	  }
+#endif
+	else
+	  throw
+	    new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+	if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
+	  goto error;
+        return;
+	
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+        return;
+	
+      case _Jv_IP_MULTICAST_LOOP_ :
+	// cache the local address
+	if (localAddress == NULL)
+	  localAddress = getLocalAddress (native_fd);
+	len = localAddress->addr->length;
+	if (len == 4)
+	  {
+	    level = IPPROTO_IP;
+	    opname = IP_MULTICAST_LOOP;
+	  }
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_LOOP)
+	else if (len == 16)
+	  {
+	    level = IPPROTO_IPV6;
+	    opname = IPV6_MULTICAST_LOOP;
+	  }
+#endif
+	else
+	  throw
+	    new ::java::net::SocketException (JvNewStringUTF ("invalid address length"));
+	if (::setsockopt (native_fd, level, opname, (char *) &val,
+			  val_len) != 0)
+	  goto error;
+	return;
+	
+      case _Jv_IP_TOS_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+	   val_len) != 0)
+	  goto error;    
+	return;
+	
+      case _Jv_SO_TIMEOUT_ :
+	timeout = val;
+        return;
+      default :
+        errno = ENOPROTOOPT;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
+{
+  int val;
+  socklen_t val_len = sizeof(val);
+  int level, opname;
+
+  switch (optID)
+    {
+      case _Jv_TCP_NODELAY_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+        break;
+      case _Jv_SO_LINGER_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_LINGER not valid for UDP"));
+        break;    
+      case _Jv_SO_KEEPALIVE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+        break;
+	
+      case _Jv_SO_BROADCAST_ :
+	if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+	    &val_len) != 0)
+	  goto error;
+	return new ::java::lang::Boolean (val != 0);
+	
+      case _Jv_SO_OOBINLINE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_OOBINLINE not valid for UDP"));
+        break;
+      
+      case _Jv_SO_RCVBUF_ :
+      case _Jv_SO_SNDBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+	  goto error;    
+        else
+	  return new ::java::lang::Integer (val);
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif    
+	break;
+      case _Jv_SO_BINDADDR_:
+	// cache the local address
+	if (localAddress == NULL)
+	  localAddress = getLocalAddress (native_fd);
+	return localAddress;  
+	break;
+      case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+	if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+	    &val_len) != 0)
+	  goto error;
+	return new ::java::lang::Boolean (val != 0);
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif 
+	break;
+      case _Jv_IP_MULTICAST_IF_ :
+#ifdef HAVE_INET_NTOA
+	struct in_addr inaddr;
+  	socklen_t inaddr_len;
+	char *bytes;
+
+  	inaddr_len = sizeof(inaddr);
+	if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
+	    &inaddr_len) != 0)
+	  goto error;
+
+	bytes = inet_ntoa (inaddr);
+
+	return ::java::net::InetAddress::getByName (JvNewStringLatin1 (bytes));
+#else
+	throw new ::java::net::SocketException (
+	  JvNewStringUTF ("IP_MULTICAST_IF: not available - no inet_ntoa()"));
+#endif
+	break;
+      case _Jv_SO_TIMEOUT_ :
+	return new ::java::lang::Integer (timeout);
+	break;
+	
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+        break;
+	
+      case _Jv_IP_MULTICAST_LOOP_ :
+	// cache the local address
+	localAddress = getLocalAddress (native_fd);
+	if (localAddress->addr->length == 4) 
+	  {
+	    level = IPPROTO_IP;
+	    opname = IP_MULTICAST_LOOP;
+	  }
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_LOOP)
+	else if (localAddress->addr->length == 16)
+	  {
+	    level = IPPROTO_IPV6;
+	    opname = IPV6_MULTICAST_LOOP;
+	  }
+#endif
+	else
+	  throw
+	    new ::java::net::SocketException (JvNewStringUTF ("invalid address length"));
+	if (::getsockopt (native_fd, level, opname, (char *) &val,
+			  &val_len) != 0)
+	  goto error;
+	return new ::java::lang::Boolean (val != 0);
+	
+      case _Jv_IP_TOS_ :
+        if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+           &val_len) != 0)
+          goto error;
+        return new ::java::lang::Integer (val);
+	
+      default :
+	errno = ENOPROTOOPT;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,712 @@
+/* Copyright (C) 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2
+#include <bstring.h>
+#endif
+
+#include <gnu/java/net/PlainDatagramSocketImpl.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/SocketException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/NetworkInterface.h>
+#include <java/net/DatagramPacket.h>
+#include <java/net/PortUnreachableException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Integer.h>
+
+union SockAddr
+{
+  struct sockaddr_in address;
+#ifdef HAVE_INET6
+  struct sockaddr_in6 address6;
+#endif
+};
+
+union McastReq
+{
+#if HAVE_STRUCT_IP_MREQ
+  struct ip_mreq mreq;
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+  struct ipv6_mreq mreq6;
+#endif
+};
+
+union InAddr
+{
+  struct in_addr addr;
+#ifdef HAVE_INET6
+  struct in6_addr addr6;
+#endif
+};
+
+// FIXME: routines here and/or in natPlainSocketImpl.cc could throw
+// NoRouteToHostException; also consider UnknownHostException, ConnectException.
+
+void
+gnu::java::net::PlainDatagramSocketImpl::create ()
+{
+  SOCKET sock = ::socket (AF_INET, SOCK_DGRAM, 0);
+
+  if (sock == INVALID_SOCKET)
+    {
+      _Jv_ThrowSocketException ();
+    }
+
+  // Cast this to a HANDLE so we can make
+  // it non-inheritable via _Jv_platform_close_on_exec.
+  HANDLE hSocket = (HANDLE) sock;
+  _Jv_platform_close_on_exec (hSocket);
+
+  // We use native_fd in place of fd here.  From leaving fd null we avoid
+  // the double close problem in FileDescriptor.finalize.
+  native_fd = (jint) hSocket;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
+					  ::java::net::InetAddress *host)
+{
+  union SockAddr u;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+
+      if (host != NULL)
+        memcpy (&u.address.sin_addr, bytes, len);
+      else
+        u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (lport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (lport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::bind (native_fd, ptr, len) == 0)
+    {
+      socklen_t addrlen = sizeof(u);
+
+      if (lport != 0)
+        localPort = lport;
+      else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+        localPort = ntohs (u.address.sin_port);
+      else
+        goto error;
+
+      /* Allow broadcast by default. */
+      int broadcast = 1;
+      if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
+                        sizeof (broadcast)) != 0)
+        goto error;
+
+      return;
+    }
+
+error:
+  DWORD dwErrorCode = WSAGetLastError ();
+  throw new ::java::net::BindException (_Jv_WinStrError (dwErrorCode));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::connect (::java::net::InetAddress *, jint)
+{ 
+  throw new ::java::lang::InternalError (JvNewStringLatin1 (
+      "PlainDatagramSocketImpl::connect: not implemented yet"));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::disconnect ()
+{
+  throw new ::java::lang::InternalError (JvNewStringLatin1 (
+      "PlainDatagramSocketImpl::disconnect: not implemented yet"));
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
+{
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  ssize_t retlen =
+    ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
+      &addrlen);
+  if (retlen < 0)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  i->addr = raddr;
+  return rport;
+error:
+  DWORD dwErrorCode = WSAGetLastError ();
+  if (dwErrorCode == WSAECONNRESET)
+    throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+
+  _Jv_ThrowIOException ();
+  return -1;
+    // we should never get here
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p)
+{
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyte *dbytes = elements (p->getData()) + p->getOffset();
+  jint maxlen = p->maxlen - p->getOffset();
+  ssize_t retlen = 0;
+
+  if (timeout > 0)
+    {
+      int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+        (char*)&timeout, sizeof(timeout));
+      if (nRet != NO_ERROR)
+        goto error;
+    }
+
+  retlen =
+    ::recvfrom (native_fd, (char *) dbytes, maxlen, MSG_PEEK, (sockaddr*) &u,
+      &addrlen);
+  if (retlen == SOCKET_ERROR)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  p->setAddress (new ::java::net::InetAddress (raddr, NULL));
+  p->setPort (rport);
+  p->length = (jint) retlen;
+  return rport;
+
+error:
+  DWORD dwErrorCode = WSAGetLastError ();
+  if (dwErrorCode == WSAECONNRESET)
+    throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+  else if (dwErrorCode == WSAETIMEDOUT)
+    throw new ::java::net::SocketTimeoutException (_Jv_WinStrError (dwErrorCode));
+  else
+    _Jv_ThrowIOException ();
+
+  return -1;
+    // we should never get here
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainDatagramSocketImpl::close ()
+{
+  // Avoid races from asynchronous finalization.
+  JvSynchronize sync (this);
+
+  // The method isn't declared to throw anything, so we disregard
+  // the return value.
+  ::closesocket (native_fd);
+  native_fd = -1;
+  timeout = 0;
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
+{
+  JvSynchronize lock (SEND_LOCK);
+
+  // FIXME: Deal with Multicast and if the socket is connected.
+  jint rport = p->getPort();
+  union SockAddr u;
+  jbyteArray haddress = p->getAddress()->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  jbyte *dbytes = elements (p->getData()) + p->getOffset();
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+      memcpy (&u.address.sin_addr, bytes, len);
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (rport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (rport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
+    return;
+
+  DWORD dwErrorCode = WSAGetLastError ();
+  if (dwErrorCode == WSAECONNRESET)
+    throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+
+  _Jv_ThrowIOException ();
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p)
+{
+  JvSynchronize lock (RECEIVE_LOCK);
+
+  // FIXME: Deal with Multicast and if the socket is connected.
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyte *dbytes = elements (p->getData()) + p->getOffset();
+  jint maxlen = p->maxlen - p->getOffset();
+  ssize_t retlen = 0;
+
+  if (timeout > 0)
+    {
+      // This implementation doesn't allow specifying an infinite
+      // timeout after specifying a finite one, but Sun's JDK 1.4.1
+      // didn't seem to allow this either....
+      int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+        (char*)&timeout, sizeof(timeout));
+      if (nRet != NO_ERROR)
+        goto error;
+    }
+
+  retlen =
+    ::recvfrom (native_fd, (char *) dbytes, maxlen, 0, (sockaddr*) &u,
+      &addrlen);
+  if (retlen < 0)
+    goto error;
+  // FIXME: Deal with Multicast addressing and if the socket is connected.
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  p->setAddress (new ::java::net::InetAddress (raddr, NULL));
+  p->setPort (rport);
+  p->length = (jint) retlen;
+  return;
+
+ error:
+  DWORD dwErrorCode = WSAGetLastError();
+  if (dwErrorCode == WSAECONNRESET)
+    throw new ::java::net::PortUnreachableException (_Jv_WinStrError (dwErrorCode));
+  else if (dwErrorCode == WSAETIMEDOUT)
+    throw new ::java::net::SocketTimeoutException (_Jv_WinStrError (dwErrorCode));
+  else
+    throw new ::java::io::IOException (_Jv_WinStrError (dwErrorCode));
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
+{
+  // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+  char val = (char) ttl;
+  socklen_t val_len = sizeof(val);
+
+  if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
+    return;
+
+  _Jv_ThrowIOException ();
+}
+
+jint
+gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
+{
+  // Assumes IPPROTO_IP rather than IPPROTO_IPV6 since socket created is IPv4.
+  char val;
+  socklen_t val_len = sizeof(val);
+
+  if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
+    return ((int) val) & 0xFF;
+
+  _Jv_ThrowIOException ();
+
+  return -1;
+    // we should never get here
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *inetaddr,
+                                              ::java::net::NetworkInterface *,
+					      jboolean join)
+{
+  // FIXME: implement use of NetworkInterface
+  jbyteArray haddress = inetaddr->addr;
+  int len = haddress->length;
+  int level, opname;
+  const char *ptr;
+  if (0)
+    ;
+#if HAVE_STRUCT_IP_MREQ
+  else if (len == 4)
+    {
+      level = IPPROTO_IP;
+      opname = join ? IP_ADD_MEMBERSHIP : IP_DROP_MEMBERSHIP;
+      memcpy (&u.mreq.imr_multiaddr, bytes, len);
+      // FIXME:  If a non-default interface is set, use it; see Stevens p. 501.
+      // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+      u.mreq.imr_interface.s_addr = htonl (INADDR_ANY);
+      len = sizeof (struct ip_mreq);
+      ptr = (const char *) &u.mreq;
+    }
+#endif
+#if HAVE_STRUCT_IPV6_MREQ
+  else if (len == 16)
+    {
+      level = IPPROTO_IPV6;
+
+      /* Prefer new RFC 2553 names.  */
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+#ifndef IPV6_LEAVE_GROUP
+#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+#endif
+
+      opname = join ? IPV6_JOIN_GROUP : IPV6_LEAVE_GROUP;
+      memcpy (&u.mreq6.ipv6mr_multiaddr, bytes, len);
+      // FIXME:  If a non-default interface is set, use it; see Stevens p. 501.
+      // Maybe not, see note in last paragraph at bottom of Stevens p. 497.
+      u.mreq6.ipv6mr_interface = 0;
+      len = sizeof (struct ipv6_mreq);
+      ptr = (const char *) &u.mreq6;
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
+    return;
+
+  _Jv_ThrowIOException ();
+}
+
+void
+gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
+					       ::java::lang::Object *value)
+{
+  int val;
+  socklen_t val_len = sizeof (val);
+
+  if (native_fd < 0)
+    throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+  if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+    {
+      ::java::lang::Boolean *boolobj = 
+        static_cast< ::java::lang::Boolean *> (value);
+      val = boolobj->booleanValue() ? 1 : 0;
+    }
+  else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+    {
+      ::java::lang::Integer *intobj = 
+        static_cast< ::java::lang::Integer *> (value);          
+      val = (int) intobj->intValue();
+    }
+  // Else assume value to be an InetAddress for use with IP_MULTICAST_IF.
+
+  switch (optID)
+    {
+      case _Jv_TCP_NODELAY_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+        return;
+      case _Jv_SO_LINGER_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_LINGER not valid for UDP"));
+        return;
+      case _Jv_SO_KEEPALIVE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+        return;
+
+      case _Jv_SO_BROADCAST_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+                          val_len) != 0)
+          goto error;
+  break;
+
+      case _Jv_SO_OOBINLINE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_OOBINLINE: not valid for UDP"));
+        break;
+
+      case _Jv_SO_SNDBUF_ :
+      case _Jv_SO_RCVBUF_ :
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+    goto error;
+        return;
+      case _Jv_SO_REUSEADDR_ :
+  if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+      val_len) != 0)
+    goto error;
+  return;
+      case _Jv_SO_BINDADDR_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_BINDADDR: read only option"));
+        return;
+      case _Jv_IP_MULTICAST_IF_ :
+  union InAddr u;
+        jbyteArray haddress;
+  jbyte *bytes;
+  int len;
+  int level, opname;
+  const char *ptr;
+
+  haddress = ((::java::net::InetAddress *) value)->addr;
+  bytes = elements (haddress);
+  len = haddress->length;
+  if (len == 4)
+    {
+      level = IPPROTO_IP;
+      opname = IP_MULTICAST_IF;
+      memcpy (&u.addr, bytes, len);
+      len = sizeof (struct in_addr);
+      ptr = (const char *) &u.addr;
+    }
+// Tru64 UNIX V5.0 has struct sockaddr_in6, but no IPV6_MULTICAST_IF
+#if defined (HAVE_INET6) && defined (IPV6_MULTICAST_IF)
+  else if (len == 16)
+    {
+      level = IPPROTO_IPV6;
+      opname = IPV6_MULTICAST_IF;
+      memcpy (&u.addr6, bytes, len);
+      len = sizeof (struct in6_addr);
+      ptr = (const char *) &u.addr6;
+    }
+#endif
+  else
+    throw
+      new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
+    goto error;
+        return;
+
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+        break;
+
+      case _Jv_IP_MULTICAST_LOOP_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_LOOP: not yet implemented"));
+        break;
+
+      case _Jv_IP_TOS_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+     val_len) != 0)
+    goto error;
+  return;
+
+      case _Jv_SO_TIMEOUT_ :
+  timeout = val;
+        return;
+      default :
+        WSASetLastError (WSAENOPROTOOPT);
+    }
+
+ error:
+  _Jv_ThrowSocketException ();
+}
+
+::java::lang::Object *
+gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
+{
+  int val;
+  socklen_t val_len = sizeof(val);
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+
+  switch (optID)
+    {
+      case _Jv_TCP_NODELAY_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("TCP_NODELAY not valid for UDP"));
+        break;
+      case _Jv_SO_LINGER_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_LINGER not valid for UDP"));
+        break;
+      case _Jv_SO_KEEPALIVE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_KEEPALIVE not valid for UDP"));
+        break;
+
+      case _Jv_SO_BROADCAST_ :
+  if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+      &val_len) != 0)
+    goto error;
+  return new ::java::lang::Boolean (val != 0);
+
+      case _Jv_SO_OOBINLINE_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_OOBINLINE not valid for UDP"));
+        break;
+
+      case _Jv_SO_RCVBUF_ :
+      case _Jv_SO_SNDBUF_ :
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+    goto error;
+        else
+    return new ::java::lang::Integer (val);
+  break;
+      case _Jv_SO_BINDADDR_:
+  // cache the local address
+  if (localAddress == NULL)
+    {
+      jbyteArray laddr;
+      if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+        goto error;
+      if (u.address.sin_family == AF_INET)
+        {
+    laddr = JvNewByteArray (4);
+    memcpy (elements (laddr), &u.address.sin_addr, 4);
+        }
+#ifdef HAVE_INET6
+            else if (u.address.sin_family == AF_INET6)
+        {
+    laddr = JvNewByteArray (16);
+    memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+        }
+#endif
+      else
+        throw new ::java::net::SocketException (
+            JvNewStringUTF ("invalid family"));
+      localAddress = new ::java::net::InetAddress (laddr, NULL);
+    }
+  return localAddress;
+  break;
+      case _Jv_SO_REUSEADDR_ :
+  if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+      &val_len) != 0)
+    goto error;
+  return new ::java::lang::Boolean (val != 0);
+  break;
+      case _Jv_IP_MULTICAST_IF_ :
+  struct in_addr inaddr;
+    socklen_t inaddr_len;
+  char *bytes;
+
+    inaddr_len = sizeof(inaddr);
+  if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
+      &inaddr_len) != 0)
+    goto error;
+
+  bytes = inet_ntoa (inaddr);
+
+  return ::java::net::InetAddress::getByName (JvNewStringLatin1 (bytes));
+  break;
+      case _Jv_SO_TIMEOUT_ :
+	return new ::java::lang::Integer (timeout);
+	break;
+	
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not yet implemented"));
+        break;
+
+      case _Jv_IP_MULTICAST_LOOP_ :
+  if (::getsockopt (native_fd, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val,
+      &val_len) != 0)
+    goto error;
+  return new ::java::lang::Boolean (val != 0);
+
+      case _Jv_IP_TOS_ :
+        if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+           &val_len) != 0)
+          goto error;
+        return new ::java::lang::Integer (val);
+	
+      default :
+        WSASetLastError (WSAENOPROTOOPT);
+    }
+
+error:
+  _Jv_ThrowSocketException ();
+  return 0;
+    // we should never get here
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplNoNet.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplNoNet.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplNoNet.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplNoNet.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,132 @@
+/* Copyright (C) 2003 Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/SocketException.h>
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("SocketImpl.create: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *, jint)
+{
+  throw new ::java::net::BindException (
+    JvNewStringLatin1 ("SocketImpl.bind: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *, jint)
+{
+  throw new ::java::net::ConnectException (
+    JvNewStringLatin1 ("SocketImpl.connect: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("SocketImpl.listen: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *)
+{
+  throw new ::java::io::IOException (
+    JvNewStringLatin1 ("SocketImpl.accept: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint, ::java::lang::Object *)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.setOption: unimplemented"));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.getOption: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.read: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer, 
+  jint offset, jint count)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.read: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.write: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b, 
+  jint offset, jint len)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.write: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData(jint data)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.sendUrgentData: unimplemented"));
+}
+
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.available: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::close(void)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.close: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.shutdownInput: unimplemented"));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+  throw new ::java::net::SocketException (
+    JvNewStringLatin1 ("SocketImpl.shutdownOutput: unimplemented"));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplPosix.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplPosix.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplPosix.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplPosix.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,870 @@
+/* Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <errno.h>
+#include <string.h>
+
+#if HAVE_BSTRING_H
+// Needed for bzero, implicitly used by FD_ZERO on IRIX 5.2 
+#include <bstring.h>
+#endif
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/InetSocketAddress.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Class.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Thread.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/net/UnknownHostException.h>
+
+union SockAddr
+{
+  struct sockaddr_in address;
+#ifdef HAVE_INET6
+  struct sockaddr_in6 address6;
+#endif
+};
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean stream)
+{
+  int sock = _Jv_socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
+
+  if (sock < 0)
+    {
+      char* strerr = strerror (errno);
+      throw new ::java::io::IOException (JvNewStringUTF (strerr));
+    }
+
+  // We use native_fd in place of fd here.  From leaving fd null we avoid
+  // the double close problem in FileDescriptor.finalize.
+  native_fd = sock;
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lport)
+{
+  union SockAddr u;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+  int i = 1;
+
+  // The following is needed for OS X/PPC, otherwise bind() fails with an
+  // error. I found the issue and following fix on some mailing list, but
+  // no explanation was given as to why this solved the problem.
+  memset (&u, 0, sizeof (u));
+
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+
+      if (host != NULL)
+        memcpy (&u.address.sin_addr, bytes, len);
+      else
+        u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (lport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (lport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  // Enable SO_REUSEADDR, so that servers can reuse ports left in TIME_WAIT.
+  ::setsockopt(native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(i));
+  
+  if (_Jv_bind (native_fd, ptr, len) == 0)
+    {
+      socklen_t addrlen = sizeof(u);
+
+      if (lport != 0)
+        localport = lport;
+      else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+        localport = ntohs (u.address.sin_port);
+      else
+        goto error;
+
+      return;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::BindException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
+					  jint timeout)
+{
+  ::java::net::InetSocketAddress *tmp = (::java::net::InetSocketAddress*) addr;
+  ::java::net::InetAddress *host = tmp->getAddress();
+  if (! host)
+    throw new ::java::net::UnknownHostException(tmp->toString());
+
+  jint rport = tmp->getPort();
+	
+  // Set the SocketImpl's address and port fields before we try to
+  // connect.  Note that the fact that these are set doesn't imply
+  // that we're actually connected to anything.  We need to record
+  // this data before we attempt the connect, since non-blocking
+  // SocketChannels will use this and almost certainly throw timeout
+  // exceptions.
+  address = host;
+  port = rport;
+
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+      memcpy (&u.address.sin_addr, bytes, len);
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (rport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (rport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (timeout > 0)
+    {
+      int flags = ::fcntl (native_fd, F_GETFL);
+      ::fcntl (native_fd, F_SETFL, flags | O_NONBLOCK);
+      
+      if ((_Jv_connect (native_fd, ptr, len) != 0) && (errno != EINPROGRESS))
+        goto error;
+
+      fd_set fset;
+      struct timeval tv;
+      FD_ZERO(&fset);
+      FD_SET(native_fd, &fset);
+      tv.tv_sec = timeout / 1000;
+      tv.tv_usec = (timeout % 1000) * 1000;
+      int retval;
+      
+      if ((retval = _Jv_select (native_fd + 1, &fset, &fset, NULL, &tv)) < 0)
+        goto error;
+      else if (retval == 0)
+        throw new ::java::net::SocketTimeoutException
+          (JvNewStringUTF ("Connect timed out"));
+       // Set the socket back into a blocking state.
+       ::fcntl (native_fd, F_SETFL, flags);
+    }
+  else
+    {
+      if (_Jv_connect (native_fd, ptr, len) != 0)
+        goto error;
+    }
+
+  // A bind may not have been done on this socket; if so, set localport now.
+  if (localport == 0)
+    {
+      if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
+        localport = ntohs (u.address.sin_port);
+      else
+        goto error;
+    }
+
+  return;  
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::ConnectException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint backlog)
+{
+  if (::listen (native_fd, backlog) != 0)
+    {
+      char* strerr = strerror (errno);
+      throw new ::java::io::IOException (JvNewStringUTF (strerr));
+    }
+}
+
+static void 
+throw_on_sock_closed (gnu::java::net::PlainSocketImpl *soc_impl)
+{
+    // Avoid races from asynchronous close().
+    JvSynchronize sync (soc_impl);
+    if (soc_impl->native_fd == -1)
+      {
+        using namespace java::net;
+        // Socket was closed.
+        SocketException *se =
+            new SocketException (JvNewStringUTF ("Socket Closed"));
+        throw se;
+      }
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *s)
+{
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  int new_socket = 0; 
+
+  // Do timeouts via select since SO_RCVTIMEO is not always available.
+  if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
+    {
+      fd_set fset;
+      struct timeval tv;
+      FD_ZERO(&fset);
+      FD_SET(native_fd, &fset);
+      tv.tv_sec = timeout / 1000;
+      tv.tv_usec = (timeout % 1000) * 1000;
+      int retval;
+      if ((retval = _Jv_select (native_fd + 1, &fset, &fset, NULL, &tv)) < 0)
+        goto error;
+      else if (retval == 0)
+        throw new ::java::net::SocketTimeoutException (
+	                                  JvNewStringUTF("Accept timed out"));
+    }
+
+  new_socket = _Jv_accept (native_fd, (sockaddr*) &u, &addrlen);
+
+  if (new_socket < 0)
+    goto error;
+
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  s->native_fd = new_socket;
+  s->localport = localport;
+  s->address = ::java::net::InetAddress::getByAddress (raddr);
+  s->port = rport;
+  return;
+
+ error:
+  char* strerr = strerror (errno);
+  throw_on_sock_closed (this);
+  throw new ::java::io::IOException (JvNewStringUTF (strerr));
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainSocketImpl::close()
+{
+  // Avoid races from asynchronous finalization.
+  JvSynchronize sync (this);
+
+  // Should we use shutdown here? Yes.
+  // How would that effect so_linger? Uncertain.
+  ::shutdown (native_fd, 2);
+  // Ignore errors in shutdown as we are closing and all the same
+  // errors are handled in the close.
+  int res = _Jv_close (native_fd);
+
+  if (res == -1)
+    {
+      // These three errors are not errors according to tests performed
+      // on the reference implementation.
+      if (errno != ENOTCONN && errno != ECONNRESET && errno != EBADF)
+        throw new ::java::io::IOException  (JvNewStringUTF (strerror (errno)));
+    }
+  // Safe place to reset the file pointer.
+  native_fd = -1;
+  timeout = 0;
+}
+
+static void
+write_helper (jint native_fd, jbyte *bytes, jint len);
+
+// Write a byte to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+  jbyte data = (jbyte) b;
+  write_helper (this$0->native_fd, &data, 1);
+}
+
+// Write some bytes to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b, jint offset, jint len)
+{
+  if (! b)
+    throw new ::java::lang::NullPointerException;
+  if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  write_helper (this$0->native_fd, elements (b) + offset * sizeof (jbyte), len);
+}
+
+static void
+write_helper(jint native_fd, jbyte *bytes, jint len)
+{
+  int written = 0;
+
+  while (len > 0)
+    {
+      int r = _Jv_write (native_fd, bytes, len);
+
+      if (r == -1)
+        {
+          if (::java::lang::Thread::interrupted())
+            {
+              ::java::io::InterruptedIOException *iioe
+                = new ::java::io::InterruptedIOException
+                (JvNewStringLatin1 (strerror (errno)));
+              iioe->bytesTransferred = written;
+              throw iioe;
+            }
+          // Some errors should not cause exceptions.
+          if (errno != ENOTCONN && errno != ECONNRESET && errno != EBADF)
+            throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+          break;
+        }
+
+      written += r;
+      len -= r;
+      bytes += r;
+    }
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData (jint)
+{
+  throw new ::java::net::SocketException (JvNewStringLatin1 (
+    "PlainSocketImpl: sending of urgent data not supported by this socket"));
+}
+
+static jint
+read_helper (gnu::java::net::PlainSocketImpl *soc_impl,
+             jbyte *bytes, jint count);
+
+// Read a single byte from the socket.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+  jbyte data;
+
+  if (read_helper (this$0, &data, 1) == 1)
+    return data & 0xFF;
+
+  return -1;
+}
+
+// Read count bytes into the buffer, starting at offset.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
+                                                        jint offset, 
+                                                        jint count)
+{
+ if (! buffer)
+    throw new ::java::lang::NullPointerException;
+
+  jsize bsize = JvGetArrayLength (buffer);
+
+  if (offset < 0 || count < 0 || offset + count > bsize)
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  return read_helper (this$0,
+		      elements (buffer) + offset * sizeof (jbyte), count);
+}
+
+static jint
+read_helper (gnu::java::net::PlainSocketImpl *soc_impl,
+             jbyte *bytes, jint count)
+{
+  // If zero bytes were requested, short circuit so that recv
+  // doesn't signal EOF.
+  if (count == 0)
+    return 0;
+    
+  // Do timeouts via select.
+  if (soc_impl->timeout > 0
+      && soc_impl->native_fd >= 0
+      && soc_impl->native_fd < FD_SETSIZE)
+    {
+      // Create the file descriptor set.
+      fd_set read_fds;
+      FD_ZERO (&read_fds);
+      FD_SET (soc_impl->native_fd, &read_fds);
+      // Create the timeout struct based on our internal timeout value.
+      struct timeval timeout_value;
+      timeout_value.tv_sec = soc_impl->timeout / 1000;
+      timeout_value.tv_usec =(soc_impl->timeout % 1000) * 1000;
+      // Select on the fds.
+      int sel_retval =
+        _Jv_select (soc_impl->native_fd + 1,
+                    &read_fds, NULL, NULL, &timeout_value);
+      // We're only interested in the 0 return.
+      // error returns still require us to try to read 
+      // the socket to see what happened.
+      if (sel_retval == 0)
+        {
+          ::java::net::SocketTimeoutException *timeoutException =
+            new ::java::net::SocketTimeoutException
+            (JvNewStringUTF ("Read timed out"));
+	  throw timeoutException;
+        }
+    }
+
+  // Read the socket.
+  int r = ::recv (soc_impl->native_fd, (char *) bytes, count, 0);
+
+  if (r == 0)
+    {
+      throw_on_sock_closed (soc_impl);
+      return -1;
+    }
+
+  if (::java::lang::Thread::interrupted())
+    {
+      ::java::io::InterruptedIOException *iioe =
+        new ::java::io::InterruptedIOException
+        (JvNewStringUTF ("Read interrupted"));
+      iioe->bytesTransferred = r == -1 ? 0 : r;
+      throw iioe;
+    }
+  else if (r == -1)
+    {
+      throw_on_sock_closed (soc_impl);
+      // Some errors cause us to return end of stream...
+      if (errno == ENOTCONN)
+        return -1;
+
+      // Other errors need to be signalled.
+      throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+    }
+
+  return r;
+}
+
+// How many bytes are available?
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+#if defined(FIONREAD) || defined(HAVE_SELECT)
+  int num = 0;
+  int r = 0;
+  bool num_set = false;
+
+#if defined(FIONREAD)
+  r = ::ioctl (native_fd, FIONREAD, &num);
+
+  if (r == -1 && errno == ENOTTY)
+    {
+      // If the ioctl doesn't work, we don't care.
+      r = 0;
+      num = 0;
+    }
+  else
+    num_set = true;
+#elif defined(HAVE_SELECT)
+  if (native_fd < 0)
+    {
+      errno = EBADF;
+      r = -1;
+    }
+#endif
+
+  if (r == -1)
+    {
+    posix_error:
+      throw new ::java::io::IOException(JvNewStringUTF(strerror(errno)));
+    }
+
+  // If we didn't get anything we can use select.
+
+#if defined(HAVE_SELECT)
+  if (! num_set)
+    if (! num_set && native_fd >= 0 && native_fd < FD_SETSIZE)
+      {
+        fd_set rd;
+        FD_ZERO (&rd);
+        FD_SET (native_fd, &rd);
+        struct timeval tv;
+        tv.tv_sec = 0;
+        tv.tv_usec = 0;
+        r = _Jv_select (native_fd + 1, &rd, NULL, NULL, &tv);
+        if(r == -1)
+          goto posix_error;
+        num = r == 0 ? 0 : 1;
+      }
+#endif /* HAVE_SELECT */
+
+  return (jint) num;
+#else
+  throw new ::java::io::IOException (JvNewStringUTF ("unimplemented"));
+#endif
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint optID, ::java::lang::Object *value)
+{
+  int val;
+  socklen_t val_len = sizeof (val);
+
+  if (native_fd < 0)
+    throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+  if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+    {
+      ::java::lang::Boolean *boolobj = 
+        static_cast< ::java::lang::Boolean *> (value);
+      if (boolobj->booleanValue())
+        val = 1; 
+      else 
+        {
+          if (optID == _Jv_SO_LINGER_)
+            val = -1;
+          else
+            val = 0;
+        }
+    }
+  else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+    {
+      ::java::lang::Integer *intobj = 
+        static_cast< ::java::lang::Integer *> (value);          
+      val = (int) intobj->intValue();
+    }
+  else
+    {
+      throw new ::java::lang::IllegalArgumentException (
+        JvNewStringLatin1 ("`value' must be Boolean or Integer"));
+    }
+
+  switch (optID) 
+    {
+      case _Jv_TCP_NODELAY_ :
+#ifdef TCP_NODELAY
+        if (::setsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+                          val_len) != 0)
+          goto error;
+#else
+        throw new ::java::lang::InternalError
+          (JvNewStringUTF ("TCP_NODELAY not supported"));
+#endif /* TCP_NODELAY */
+        return;
+
+      case _Jv_SO_KEEPALIVE_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+                          val_len) != 0)
+          goto error;
+        return;
+      
+      case _Jv_SO_BROADCAST_ :
+        throw new ::java::net::SocketException
+          (JvNewStringUTF ("SO_BROADCAST not valid for TCP"));
+        return;
+	
+      case _Jv_SO_OOBINLINE_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+                          val_len) != 0)
+          goto error;
+        return;
+
+      case _Jv_SO_LINGER_ :
+#ifdef SO_LINGER
+        struct linger l_val;
+        l_val.l_onoff = (val != -1);
+        l_val.l_linger = val;
+
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+                          sizeof(l_val)) != 0)
+          goto error;    
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_LINGER not supported"));
+#endif /* SO_LINGER */
+        return;
+
+      case _Jv_SO_SNDBUF_ :
+      case _Jv_SO_RCVBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
+          goto error;    
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif 
+        return;
+
+      case _Jv_SO_BINDADDR_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_BINDADDR: read only option"));
+        return;
+
+      case _Jv_IP_MULTICAST_IF_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+        return;
+	
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+        return;
+	
+      case _Jv_IP_MULTICAST_LOOP_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+        return;
+	
+      case _Jv_IP_TOS_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+                          val_len) != 0)
+          goto error;    
+        return;
+	
+      case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+	if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+	    val_len) != 0)
+	  goto error;
+	return;
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif 
+
+      case _Jv_SO_TIMEOUT_ :
+        timeout = val;
+        return;
+
+      default :
+        errno = ENOPROTOOPT;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint optID)
+{
+  int val;
+  socklen_t val_len = sizeof(val);
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  struct linger l_val;
+  socklen_t l_val_len = sizeof(l_val);
+
+  switch (optID)
+    {
+#ifdef TCP_NODELAY
+    case _Jv_TCP_NODELAY_ :
+      if (::getsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+                        &val_len) != 0)
+        goto error;
+      else
+        return new ::java::lang::Boolean (val != 0);
+#else
+      throw new ::java::lang::InternalError
+        (JvNewStringUTF ("TCP_NODELAY not supported"));
+#endif       
+      break;
+      
+    case _Jv_SO_LINGER_ :
+#ifdef SO_LINGER
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+                        &l_val_len) != 0)
+        goto error;    
+ 
+      if (l_val.l_onoff)
+        return new ::java::lang::Integer (l_val.l_linger);
+      else
+        return new ::java::lang::Boolean ((jboolean)false);
+#else
+      throw new ::java::lang::InternalError
+        (JvNewStringUTF ("SO_LINGER not supported"));
+#endif
+      break;    
+
+    case _Jv_SO_KEEPALIVE_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+                        &val_len) != 0)
+        goto error;
+      else
+        return new ::java::lang::Boolean (val != 0);
+
+    case _Jv_SO_BROADCAST_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+                        &val_len) != 0)
+        goto error;    
+      return new ::java::lang::Boolean ((jboolean)val);
+	
+    case _Jv_SO_OOBINLINE_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+                        &val_len) != 0)
+        goto error;    
+      return new ::java::lang::Boolean ((jboolean)val);
+	
+    case _Jv_SO_RCVBUF_ :
+    case _Jv_SO_SNDBUF_ :
+#if defined(SO_SNDBUF) && defined(SO_RCVBUF)
+      int opt;
+      optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+      if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
+        goto error;    
+      else
+        return new ::java::lang::Integer (val);
+#else
+      throw new ::java::lang::InternalError
+        (JvNewStringUTF ("SO_RCVBUF/SO_SNDBUF not supported"));
+#endif    
+      break;
+    case _Jv_SO_BINDADDR_:
+      // cache the local address 
+      if (localAddress == NULL)
+        {
+          jbyteArray laddr;
+
+          if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
+            goto error;
+
+          if (u.address.sin_family == AF_INET)
+            {
+              laddr = JvNewByteArray (4);
+              memcpy (elements (laddr), &u.address.sin_addr, 4);
+            }
+#ifdef HAVE_INET6
+          else if (u.address.sin_family == AF_INET6)
+            {
+              laddr = JvNewByteArray (16);
+              memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+            }
+#endif
+          else
+            throw new ::java::net::SocketException
+              (JvNewStringUTF ("invalid family"));
+          localAddress = ::java::net::InetAddress::getByAddress (laddr);
+        }
+
+      return localAddress;
+      break;
+    case _Jv_IP_MULTICAST_IF_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+      break;
+	
+    case _Jv_IP_MULTICAST_IF2_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+      break;
+	
+    case _Jv_IP_MULTICAST_LOOP_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+      break;
+	
+    case _Jv_IP_TOS_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+                        &val_len) != 0)
+        goto error;
+      return new ::java::lang::Integer (val);
+      break;
+	
+    case _Jv_SO_REUSEADDR_ :
+#if defined(SO_REUSEADDR)
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
+                        &val_len) != 0)
+        goto error;    
+#else
+        throw new ::java::lang::InternalError (
+          JvNewStringUTF ("SO_REUSEADDR not supported"));
+#endif 
+      break;
+
+    case _Jv_SO_TIMEOUT_ :
+      return new ::java::lang::Integer (timeout);
+      break;
+
+    default :
+      errno = ENOPROTOOPT;
+    }
+
+ error:
+  char* strerr = strerror (errno);
+  throw new ::java::net::SocketException (JvNewStringUTF (strerr));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+  if (::shutdown (native_fd, 0))
+    throw new ::java::net::SocketException (JvNewStringUTF (strerror (errno)));
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+  if (::shutdown (native_fd, 1))
+    throw new ::java::net::SocketException (JvNewStringUTF (strerror (errno)));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplWin32.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplWin32.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplWin32.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/natPlainSocketImplWin32.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,796 @@
+/* Copyright (C) 2003, 2004, 2005 Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#undef STRICT
+#undef MAX_PRIORITY
+#undef MIN_PRIORITY
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/net/PlainSocketImpl$SocketInputStream.h>
+#include <gnu/java/net/PlainSocketImpl$SocketOutputStream.h>
+#include <java/io/IOException.h>
+#include <java/net/BindException.h>
+#include <java/net/ConnectException.h>
+#include <java/net/InetAddress.h>
+#include <java/net/InetSocketAddress.h>
+#include <java/net/SocketException.h>
+#include <java/net/SocketTimeoutException.h>
+#include <java/lang/InternalError.h>
+#include <java/lang/Object.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Class.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Thread.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/IllegalArgumentException.h>
+
+union SockAddr
+{
+  struct sockaddr_in address;
+#ifdef HAVE_INET6
+  struct sockaddr_in6 address6;
+#endif
+};
+
+void
+gnu::java::net::PlainSocketImpl::create (jboolean stream)
+{
+  SOCKET sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
+
+  if (sock == INVALID_SOCKET)
+    {
+      _Jv_ThrowIOException ();
+    }
+
+  // Cast this to a HANDLE so we can make
+  // it non-inheritable via _Jv_platform_close_on_exec.
+  HANDLE hSocket = (HANDLE) sock;
+  _Jv_platform_close_on_exec (hSocket);
+
+  // We use native_fd in place of fd here.  From leaving fd null we avoid
+  // the double close problem in FileDescriptor.finalize.
+  native_fd = (jint) hSocket;
+}
+
+void
+gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lport)
+{
+  union SockAddr u;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+
+      if (host != NULL)
+        memcpy (&u.address.sin_addr, bytes, len);
+      else
+        u.address.sin_addr.s_addr = htonl (INADDR_ANY);
+
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (lport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (lport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (::bind (native_fd, ptr, len) != SOCKET_ERROR)
+    {
+      socklen_t addrlen = sizeof(u);
+
+      if (lport != 0)
+        localport = lport;
+      else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != SOCKET_ERROR)
+        localport = ntohs (u.address.sin_port);
+      else
+        goto error;
+
+      return;
+    }
+
+error:
+  DWORD dwErrorCode = WSAGetLastError ();
+  throw new ::java::net::BindException (_Jv_WinStrError (dwErrorCode));
+}
+
+static void
+throwConnectException (DWORD dwErrorCode)
+{
+  throw new ::java::net::ConnectException (_Jv_WinStrError (dwErrorCode));
+}
+
+static void
+throwConnectException ()
+{
+  throwConnectException (WSAGetLastError ());
+}
+
+void
+gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
+                                     jint timeout)
+{
+  ::java::net::InetSocketAddress *tmp = (::java::net::InetSocketAddress*) addr;
+  ::java::net::InetAddress *host = tmp->getAddress();
+  jint rport = tmp->getPort();
+
+  // Set the SocketImpl's address and port fields before we try to
+  // connect.  Note that the fact that these are set doesn't imply
+  // that we're actually connected to anything.  We need to record
+  // this data before we attempt the connect, since non-blocking
+  // SocketChannels will use this and almost certainly throw timeout
+  // exceptions.
+  address = host;
+  port = rport;
+
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  jbyteArray haddress = host->addr;
+  jbyte *bytes = elements (haddress);
+  int len = haddress->length;
+  struct sockaddr *ptr = (struct sockaddr *) &u.address;
+  
+  if (len == 4)
+    {
+      u.address.sin_family = AF_INET;
+      memcpy (&u.address.sin_addr, bytes, len);
+      len = sizeof (struct sockaddr_in);
+      u.address.sin_port = htons (rport);
+    }
+#ifdef HAVE_INET6
+  else if (len == 16)
+    {
+      u.address6.sin6_family = AF_INET6;
+      memcpy (&u.address6.sin6_addr, bytes, len);
+      len = sizeof (struct sockaddr_in6);
+      u.address6.sin6_port = htons (rport);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
+
+  if (timeout > 0)
+    {
+      // FIXME: we're creating a fresh WSAEVENT for each connect().
+      WSAEventWrapper aWSAEventWrapper(native_fd, FD_CONNECT);
+      WSAEVENT hEvent = aWSAEventWrapper.getEventHandle ();
+
+      if (::connect (native_fd, ptr, len) == SOCKET_ERROR)
+      {
+        if (WSAGetLastError () != WSAEWOULDBLOCK)
+          throwConnectException ();
+
+        DWORD dwRet =
+          WSAWaitForMultipleEvents (1, &hEvent, true, timeout, false);
+            // use true, false instead of TRUE, FALSE because the
+            // MS constants got undefined
+
+        // Reset and ignore our thread's interrupted flag.
+        // It's not possible to interrupt these sort of
+        // operations on Win32 anyway.
+        ::java::lang::Thread::interrupted();
+
+        if (dwRet == WSA_WAIT_FAILED)
+          throwConnectException ();
+        else if (dwRet == WSA_WAIT_TIMEOUT)
+          throw new ::java::net::SocketTimeoutException
+            (JvNewStringUTF ("connect timed out"));
+            
+        // If we get here, we still need to check whether the actual
+        // connect() succeeded. Use any socket-specific error code
+        // instead of the thread-based one.
+        int nErrCode; int nErrLen=sizeof(nErrCode);
+        if (::getsockopt(native_fd, SOL_SOCKET, SO_ERROR, (char*) &nErrCode,
+          &nErrLen) == SOCKET_ERROR)
+          {
+            throwConnectException ();
+          }
+        
+        if (nErrCode != NO_ERROR)
+          {
+            throwConnectException (nErrCode);
+          }
+      }
+    }
+  else
+    {
+      if (::connect (native_fd, ptr, len) == SOCKET_ERROR)
+        throwConnectException();
+    }
+
+  // A bind may not have been done on this socket; if so, set localport now.
+  if (localport == 0)
+    {
+      if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != SOCKET_ERROR)
+        localport = ntohs (u.address.sin_port);
+      else
+        throwConnectException();
+    }
+}
+
+void
+gnu::java::net::PlainSocketImpl::listen (jint backlog)
+{
+  if (::listen (native_fd, backlog) == SOCKET_ERROR)
+    {
+      _Jv_ThrowIOException ();
+    }
+}
+
+void
+gnu::java::net::PlainSocketImpl::accept (gnu::java::net::PlainSocketImpl *s)
+{
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  HANDLE hSocket = 0;
+  SOCKET new_socket = 0;
+
+  if (timeout > 0)
+    {
+      // FIXME: we're creating a fresh WSAEVENT for each accept().
+      // One possible alternative would be that native_fd really points
+      // to an extended structure consisting of the SOCKET, its
+      // associated WSAEVENT, etc.
+      WSAEventWrapper aWSAEventWrapper(native_fd, FD_ACCEPT);
+      WSAEVENT hEvent = aWSAEventWrapper.getEventHandle ();
+
+      for (;;)
+      {
+        new_socket = ::accept (native_fd, (sockaddr*) &u, &addrlen);
+
+        if (new_socket != INVALID_SOCKET)
+        {
+          // This new child socket is nonblocking because the parent
+          // socket became nonblocking via the WSAEventSelect() call,
+          // so we set its mode back to blocking.
+          WSAEventSelect (new_socket, hEvent, 0);
+            // undo the hEvent <-> FD_ACCEPT association inherited
+            // inherited from our parent socket
+
+          unsigned long lSockOpt = 0L;
+            // blocking mode
+          if (ioctlsocket(new_socket, FIONBIO, &lSockOpt) == SOCKET_ERROR)
+          {
+            goto error;
+          }
+          break;
+        }
+        else if (WSAGetLastError () != WSAEWOULDBLOCK)
+          {
+            goto error;
+          }
+
+        DWORD dwRet =
+          WSAWaitForMultipleEvents (1, &hEvent, true, timeout, false);
+            // use true, false instead of TRUE, FALSE because the
+            // MS constants got undefined
+
+        // Reset and ignore our thread's interrupted flag.
+        ::java::lang::Thread::interrupted();
+
+        if (dwRet == WSA_WAIT_FAILED)
+          goto error;
+        else if (dwRet == WSA_WAIT_TIMEOUT)
+          throw new ::java::net::SocketTimeoutException
+            (JvNewStringUTF ("Accept timed out"));
+      }
+    }
+  else
+    {
+      new_socket = ::accept (native_fd, (sockaddr*) &u, &addrlen);
+    }
+
+  if (new_socket == INVALID_SOCKET)
+    goto error;
+
+  // Cast this to a HANDLE so we can make
+  // it non-inheritable via _Jv_platform_close_on_exec.
+  hSocket = (HANDLE) new_socket;
+  _Jv_platform_close_on_exec (hSocket);
+
+  jbyteArray raddr;
+  jint rport;
+  if (u.address.sin_family == AF_INET)
+    {
+      raddr = JvNewByteArray (4);
+      memcpy (elements (raddr), &u.address.sin_addr, 4);
+      rport = ntohs (u.address.sin_port);
+    }
+#ifdef HAVE_INET6
+  else if (u.address.sin_family == AF_INET6)
+    {
+      raddr = JvNewByteArray (16);
+      memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+      rport = ntohs (u.address6.sin6_port);
+    }
+#endif
+  else
+    throw new ::java::net::SocketException (JvNewStringUTF ("invalid family"));
+
+  s->native_fd = (jint) hSocket;
+  s->localport = localport;
+  s->address = new ::java::net::InetAddress (raddr, NULL);
+  s->port = rport;
+  return;
+
+ error:
+  _Jv_ThrowIOException ();
+}
+
+// Close(shutdown) the socket.
+void
+gnu::java::net::PlainSocketImpl::close()
+{
+  // Avoid races from asynchronous finalization.
+  JvSynchronize sync (this);
+
+  // should we use shutdown here? how would that effect so_linger?
+  int res = ::closesocket (native_fd);
+
+  if (res == -1)
+    {
+      // These three errors are not errors according to tests performed
+      // on the reference implementation.
+      DWORD dwErr = WSAGetLastError();
+      if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+        && dwErr != WSAENOTSOCK)
+        _Jv_ThrowIOException ();
+    }
+  // Safe place to reset the file pointer.
+  native_fd = -1;
+  timeout = 0;
+}
+
+// Write a byte to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jint b)
+{
+  jbyte d =(jbyte) b;
+  int r = 0;
+
+  while (r != 1)
+    {
+      r = ::send (this$0->native_fd, (char*) &d, 1, 0);
+      if (r == -1)
+        {
+          DWORD dwErr = WSAGetLastError();
+          
+          // Reset and ignore our thread's interrupted flag.
+          // It's not possible to interrupt these sort of
+          // operations on Win32 anyway.
+          ::java::lang::Thread::interrupted();
+
+          // Some errors should not cause exceptions.
+          if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+            && dwErr != WSAENOTSOCK)
+            _Jv_ThrowIOException ();
+          break;
+        }
+    }
+}
+
+// Write some bytes to the socket.
+void
+gnu::java::net::PlainSocketImpl$SocketOutputStream::write(jbyteArray b, 
+  jint offset, jint len)
+{
+  if (! b)
+    throw new ::java::lang::NullPointerException;
+  if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  jbyte *bytes = elements (b) + offset;
+  int written = 0;
+  while (len > 0)
+    {
+      int r = ::send (this$0->native_fd, (char*) bytes, len, 0);
+
+      if (r == -1)
+        {
+          DWORD dwErr = WSAGetLastError();
+
+          // Reset and ignore our thread's interrupted flag.
+          ::java::lang::Thread::interrupted();
+
+          // Some errors should not cause exceptions.
+          if (dwErr != WSAENOTCONN && dwErr != WSAECONNRESET
+            && dwErr != WSAENOTSOCK)
+            _Jv_ThrowIOException ();
+          break;
+        }
+
+      written += r;
+      len -= r;
+      bytes += r;
+    }
+}
+
+void
+gnu::java::net::PlainSocketImpl::sendUrgentData (jint)
+{
+  throw new ::java::net::SocketException (JvNewStringLatin1 (
+    "PlainSocketImpl: sending of urgent data not supported by this socket"));
+}
+
+// read() helper
+static jint
+doRead(int native_fd, void* buf, int count, int timeout)
+{
+  int r = 0;
+  DWORD dwErrorCode = 0;
+    // we are forced to declare this here because
+    // a call to Thread::interrupted() blanks out
+    // WSAGetLastError().
+
+  // FIXME: we unconditionally set SO_RCVTIMEO here
+  // because we can't detect whether someone has
+  // gone from a non-zero to zero timeout. What we'd
+  // really need is a member state variable in addition
+  // to timeout
+  int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
+    (char*)&timeout, sizeof(timeout));
+  if (nRet != NO_ERROR)
+  {
+    dwErrorCode = WSAGetLastError ();
+    goto error;
+  }
+  
+  r = ::recv (native_fd, (char*) buf, count, 0);
+
+  if (r == 0)
+    return -1;
+
+  dwErrorCode = WSAGetLastError ();
+    // save WSAGetLastError() before calling Thread.interrupted()
+  
+  // Reset and ignore our thread's interrupted flag.
+  ::java::lang::Thread::interrupted();
+  
+  if (r == -1)
+    {
+error:
+      // Some errors cause us to return end of stream...
+      if (dwErrorCode == WSAENOTCONN)
+        return -1;
+
+      // Other errors need to be signalled.
+      if (dwErrorCode == WSAETIMEDOUT)
+        throw new ::java::net::SocketTimeoutException
+          (JvNewStringUTF ("Read timed out") );
+      else
+        _Jv_ThrowIOException (dwErrorCode);
+    }
+    
+   return r;
+}
+
+// Read a single byte from the socket.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(void)
+{
+  jbyte b;
+  doRead(this$0->native_fd, &b, 1, this$0->timeout);
+  return b & 0xFF;
+}
+
+// Read count bytes into the buffer, starting at offset.
+jint
+gnu::java::net::PlainSocketImpl$SocketInputStream::read(jbyteArray buffer,
+  jint offset, jint count)
+{
+  // If zero bytes were requested, short circuit so that recv
+  // doesn't signal EOF.
+  if (count == 0)
+    return 0;
+
+  if (! buffer)
+    throw new ::java::lang::NullPointerException;
+
+  jsize bsize = JvGetArrayLength (buffer);
+
+  if (offset < 0 || count < 0 || offset + count > bsize)
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  jbyte *bytes = elements (buffer) + offset;
+
+  // Read the socket.
+  return doRead(this$0->native_fd, bytes, count, this$0->timeout);
+}
+
+// How many bytes are available?
+jint
+gnu::java::net::PlainSocketImpl::available(void)
+{
+  unsigned long num = 0;
+
+  if (::ioctlsocket (native_fd, FIONREAD, &num) == SOCKET_ERROR)
+    _Jv_ThrowIOException ();
+
+  return (jint) num;
+}
+
+void
+gnu::java::net::PlainSocketImpl::setOption (jint optID, ::java::lang::Object *value)
+{
+  int val;
+  socklen_t val_len = sizeof (val);
+
+  if (native_fd < 0)
+    throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
+
+  if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
+    {
+      ::java::lang::Boolean *boolobj =
+        static_cast< ::java::lang::Boolean *> (value);
+      if (boolobj->booleanValue())
+        val = 1;
+      else
+        {
+          if (optID == _Jv_SO_LINGER_)
+            val = -1;
+          else
+            val = 0;
+        }
+    }
+  else if (_Jv_IsInstanceOf (value, &::java::lang::Integer::class$))
+    {
+      ::java::lang::Integer *intobj =
+        static_cast< ::java::lang::Integer *> (value);
+      val = (int) intobj->intValue();
+    }
+  else
+    {
+      throw new ::java::lang::IllegalArgumentException (
+        JvNewStringLatin1 ("`value' must be Boolean or Integer"));
+    }
+
+  switch (optID)
+    {
+      case _Jv_TCP_NODELAY_ :
+        if (::setsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+                          val_len) == SOCKET_ERROR)
+          goto error;
+        return;
+
+      case _Jv_SO_KEEPALIVE_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+                          val_len) == SOCKET_ERROR)
+          goto error;
+        break;
+
+      case _Jv_SO_BROADCAST_ :
+        throw new ::java::net::SocketException
+          (JvNewStringUTF ("SO_BROADCAST not valid for TCP"));
+        break;
+
+      case _Jv_SO_OOBINLINE_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+                          val_len) == SOCKET_ERROR)
+          goto error;
+        break;
+
+      case _Jv_SO_LINGER_ :
+        struct linger l_val;
+        l_val.l_onoff = (val != -1);
+        l_val.l_linger = val;
+
+        if (::setsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+                          sizeof(l_val)) == SOCKET_ERROR)
+          goto error;
+        return;
+
+      case _Jv_SO_SNDBUF_ :
+      case _Jv_SO_RCVBUF_ :
+        int opt;
+        optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+        if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val,
+                          val_len) == SOCKET_ERROR)
+          goto error;
+        return;
+
+      case _Jv_SO_BINDADDR_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_BINDADDR: read only option"));
+        return;
+
+      case _Jv_IP_MULTICAST_IF_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+        return;
+
+      case _Jv_IP_MULTICAST_IF2_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+        break;
+
+      case _Jv_IP_MULTICAST_LOOP_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+        break;
+
+      case _Jv_IP_TOS_ :
+        if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+                          val_len) == SOCKET_ERROR)
+          goto error;
+        break;
+
+      case _Jv_SO_REUSEADDR_ :
+        throw new ::java::net::SocketException (
+          JvNewStringUTF ("SO_REUSEADDR: not valid for TCP"));
+        return;
+
+      case _Jv_SO_TIMEOUT_ :
+        timeout = val;
+        return;
+
+      default :
+        WSASetLastError (WSAENOPROTOOPT);
+    }
+
+error:
+  _Jv_ThrowSocketException ();
+}
+
+::java::lang::Object *
+gnu::java::net::PlainSocketImpl::getOption (jint optID)
+{
+  int val;
+  socklen_t val_len = sizeof(val);
+  union SockAddr u;
+  socklen_t addrlen = sizeof(u);
+  struct linger l_val;
+  socklen_t l_val_len = sizeof(l_val);
+
+  switch (optID)
+    {
+    case _Jv_TCP_NODELAY_ :
+      if (::getsockopt (native_fd, IPPROTO_TCP, TCP_NODELAY, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      else
+        return new ::java::lang::Boolean (val != 0);
+      break;
+
+    case _Jv_SO_LINGER_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_LINGER, (char *) &l_val,
+                        &l_val_len) == SOCKET_ERROR)
+        goto error;
+
+      if (l_val.l_onoff)
+        return new ::java::lang::Integer (l_val.l_linger);
+      else
+        return new ::java::lang::Boolean ((jboolean)false);
+      break;
+
+    case _Jv_SO_KEEPALIVE_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_KEEPALIVE, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      else
+        return new ::java::lang::Boolean (val != 0);
+
+    case _Jv_SO_BROADCAST_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      return new ::java::lang::Boolean ((jboolean)val);
+
+    case _Jv_SO_OOBINLINE_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, SO_OOBINLINE, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      return new ::java::lang::Boolean ((jboolean)val);
+
+    case _Jv_SO_RCVBUF_ :
+    case _Jv_SO_SNDBUF_ :
+      int opt;
+      optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
+      if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      else
+        return new ::java::lang::Integer (val);
+      break;
+    case _Jv_SO_BINDADDR_:
+      // cache the local address
+      if (localAddress == NULL)
+        {
+          jbyteArray laddr;
+
+          if (::getsockname (native_fd, (sockaddr*) &u,
+                             &addrlen) == SOCKET_ERROR)
+            goto error;
+
+          if (u.address.sin_family == AF_INET)
+            {
+              laddr = JvNewByteArray (4);
+              memcpy (elements (laddr), &u.address.sin_addr, 4);
+            }
+#ifdef HAVE_INET6
+          else if (u.address.sin_family == AF_INET6)
+            {
+              laddr = JvNewByteArray (16);
+              memcpy (elements (laddr), &u.address6.sin6_addr, 16);
+            }
+#endif
+          else
+            throw new ::java::net::SocketException
+              (JvNewStringUTF ("invalid family"));
+          localAddress = new ::java::net::InetAddress (laddr, NULL);
+        }
+
+      return localAddress;
+      break;
+    case _Jv_IP_MULTICAST_IF_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_IF: not valid for TCP"));
+      break;
+
+    case _Jv_IP_MULTICAST_IF2_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_IF2: not valid for TCP"));
+      break;
+
+    case _Jv_IP_MULTICAST_LOOP_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("IP_MULTICAST_LOOP: not valid for TCP"));
+      break;
+
+    case _Jv_IP_TOS_ :
+      if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
+                        &val_len) == SOCKET_ERROR)
+        goto error;
+      return new ::java::lang::Integer (val);
+      break;
+
+    case _Jv_SO_REUSEADDR_ :
+      throw new ::java::net::SocketException
+        (JvNewStringUTF ("SO_REUSEADDR: not valid for TCP"));
+      break;
+
+    case _Jv_SO_TIMEOUT_ :
+      return new ::java::lang::Integer (timeout);
+      break;
+
+    default :
+      WSASetLastError (WSAENOPROTOOPT);
+    }
+
+error:
+  _Jv_ThrowSocketException ();
+  return 0;
+    // we should never get here
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownInput (void)
+{
+  if (::shutdown (native_fd, 0))
+    _Jv_ThrowSocketException ();
+}
+
+void
+gnu::java::net::PlainSocketImpl::shutdownOutput (void)
+{
+  if (::shutdown (native_fd, 1))
+    _Jv_ThrowSocketException ();
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Connection.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Connection.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Connection.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Connection.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,172 @@
+// Connection.java - Implementation of URLConnection for core protocol.
+
+/* Copyright (C) 2001, 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package gnu.java.net.protocol.core;
+
+import gnu.gcj.Core;
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.ProtocolException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Map;
+import java.util.Vector;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+/**
+ * @author Anthony Green <green at redhat.com>
+ * @date August 13, 2001
+ */
+
+class Connection extends URLConnection
+{
+  private Hashtable hdrHash = new Hashtable();
+  private Vector hdrVec = new Vector();
+  private boolean gotHeaders = false;
+
+  private Core core;
+
+  public Connection (URL url)
+  {
+    super(url);
+  }
+
+  // Implementation of abstract method.
+  public void connect() throws IOException
+  {
+    // Call is ignored if already connected.
+    if (connected)
+      return;
+
+    // If not connected, then file needs to be opened.
+    core = Core.create (url.getFile());
+    connected = true;
+  }
+
+  public InputStream getInputStream() throws IOException
+  {
+    if (!connected)
+      connect();
+
+    if (! doInput)
+      throw new ProtocolException("Can't open InputStream if doInput is false");
+    return new CoreInputStream (core);
+  }
+
+  // Override default method in URLConnection.
+  public String getHeaderField(String name)
+  {
+    try
+      {
+	getHeaders();
+      }
+    catch (IOException x)
+      {
+	return null;
+      }
+    return (String) hdrHash.get(name.toLowerCase());
+  }
+
+  // Override default method in URLConnection.
+  public Map getHeaderFields()
+  {
+    try
+      {
+	getHeaders();
+      }
+    catch (IOException x)
+      {
+	return null;
+      }
+    return hdrHash;
+  }
+
+  // Override default method in URLConnection.
+  public String getHeaderField(int n)
+  {
+    try
+      {
+	getHeaders();
+      }
+    catch (IOException x)
+      {
+	return null;
+      }
+    if (n < hdrVec.size())
+      return getField ((String) hdrVec.elementAt(n));
+
+    return null;
+  }
+
+  // Override default method in URLConnection.
+  public String getHeaderFieldKey(int n)
+  {
+    try
+      {
+	getHeaders();
+      }
+    catch (IOException x)
+      {
+	return null;
+      }
+    if (n < hdrVec.size())
+      return getKey ((String) hdrVec.elementAt(n));
+
+    return null;
+  }
+
+  private String getKey(String str)
+  {
+    if (str == null)
+      return null;
+    int index = str.indexOf(':');
+    if (index >= 0)
+      return str.substring(0, index);
+    else
+      return null;
+  }
+
+  private String getField(String str)
+  {
+    if (str == null)
+      return null;
+    int index = str.indexOf(':');
+    if (index >= 0)
+      return str.substring(index + 1).trim();
+    else
+      return str;
+  }
+
+  private void getHeaders() throws IOException
+  {
+    if (gotHeaders)
+      return;
+    gotHeaders = true;
+
+    connect();
+
+    // Yes, it is overkill to use the hash table and vector here since
+    // we're only putting one header in the file, but in case we need
+    // to add others later and for consistency, we'll implement it this way.
+
+    // Add the only header we know about right now:  Content-length.
+    long len = core.length;
+    String line = "Content-length: " + len;
+    hdrVec.addElement(line);
+
+    // The key will never be null in this scenario since we build up the
+    // headers ourselves.  If we ever rely on getting a header from somewhere
+    // else, then we may have to check if the result of getKey() is null.
+    String key = getKey(line);
+    hdrHash.put(key.toLowerCase(), Long.toString(len));
+  }
+}
+

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/CoreInputStream.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/CoreInputStream.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/CoreInputStream.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/CoreInputStream.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,90 @@
+// Handler.java - URLStreamHandler for core protocol.
+
+/* Copyright (C) 2001  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package gnu.java.net.protocol.core;
+
+import gnu.gcj.Core;
+import gnu.gcj.RawData;
+import java.io.InputStream;
+import java.io.IOException;
+
+public class CoreInputStream extends InputStream
+{
+  /* A pointer to the object in memory.  */
+  protected RawData ptr;
+
+  /* Position of the next byte in core to be read. */
+  protected int pos;
+
+  /* The currently marked position in the stream. */
+  protected int mark;
+
+  /* The index in core one greater than the last valid character. */
+  protected int count;
+
+  private native int unsafeGetByte (long offset);
+  private native int copyIntoByteArray (byte[] dest, int offset, int numBytes);
+
+  public CoreInputStream (Core core)
+  {
+    ptr = core.ptr;
+    count = core.length;
+  }
+
+  public synchronized int available()
+  {
+    return count - pos;
+  }
+
+  public synchronized void mark(int readAheadLimit)
+  {
+    // readAheadLimit is ignored per Java Class Lib. book, p.220.
+    mark = pos;
+  }
+
+  public boolean markSupported()
+  {
+    return true;
+  }
+
+  public synchronized int read()
+  {
+    if (pos < count)
+      return ((int) unsafeGetByte(pos++)) & 0xFF;
+    return -1;
+  }
+
+  public synchronized int read(byte[] b, int off, int len)
+  {
+    if (pos >= count)
+      return -1;
+
+    int numBytes = Math.min(count - pos, len);
+    copyIntoByteArray (b, off, numBytes);
+    pos += numBytes;
+    return numBytes;
+  }
+
+  public synchronized void reset()
+  {
+    pos = mark;
+  }
+
+  public synchronized long skip(long n)
+  {
+    // Even though the var numBytes is a long, in reality it can never
+    // be larger than an int since the result of subtracting 2 positive
+    // ints will always fit in an int.  Since we have to return a long
+    // anyway, numBytes might as well just be a long.
+    long numBytes = Math.min ((long) (count - pos), n < 0 ? 0L : n);
+    pos += numBytes;
+    return numBytes;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Handler.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Handler.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Handler.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/Handler.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,28 @@
+// Handler.java - URLStreamHandler for core protocol.
+
+/* Copyright (C) 2001  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package gnu.java.net.protocol.core;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+/**
+ * @author Anthony Green <green at redhat.com>
+ * @date August 13, 2001.
+ */
+public class Handler extends URLStreamHandler
+{
+  protected URLConnection openConnection(URL url) throws IOException
+  {
+    return new Connection(url);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/core/natCoreInputStream.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,51 @@
+// natCoreInputStream.cc -- C++ side of CoreInputStream
+
+/* Copyright (C) 2001  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+/* Author: Anthony Green <green at redhat.com>.  */
+
+#include <config.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <string.h>
+
+#include <java/lang/NullPointerException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <gnu/java/net/protocol/core/CoreInputStream.h>
+
+jint
+gnu::java::net::protocol::core::CoreInputStream::unsafeGetByte (jlong offset)
+{
+  return ((char*) ptr) [offset];
+}
+
+jint
+gnu::java::net::protocol::core::CoreInputStream::copyIntoByteArray (jbyteArray dest,
+							            jint offset,
+							            jint numBytes)
+{
+  if (!dest)
+    throw new ::java::lang::NullPointerException;
+  
+  jsize destSize = JvGetArrayLength (dest);
+  
+  if (offset < 0 || numBytes < 0 || offset + numBytes < 0
+      || offset + numBytes > destSize
+      || pos + numBytes > count)
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  void *pcore = (void *) &((char*) ptr) [pos];
+  void *pdest = (void *) (elements (dest) + offset);
+
+  memcpy (pdest, pcore, numBytes);
+
+  return 0;
+}
+

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Connection.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Connection.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Connection.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Connection.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,83 @@
+// Connection.java - Implementation of URLConnection for gcjlib
+// protocol.
+
+/* Copyright (C) 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package gnu.java.net.protocol.gcjlib;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import gnu.gcj.Core;
+import gnu.gcj.runtime.SharedLibHelper;
+import gnu.java.net.protocol.core.CoreInputStream;
+
+/**
+ * @author Tom Tromey <tromey at redhat.com>
+ * @date January 10, 2003
+ */
+class Connection extends URLConnection
+{
+  String solib;
+  String name;
+  Core core;
+
+  public Connection (URL url) throws MalformedURLException
+  {
+    super (url);
+    int index = url.getFile().indexOf ("!/");
+    
+    if (index == -1)
+      throw new MalformedURLException ("couldn't find !/ in gcjlib URL");
+
+    name = url.getFile().substring (index + 2);
+    solib = url.getFile().substring (0, index);
+  }
+
+  public void connect() throws IOException
+  {
+    if (core != null)
+      return;
+    // We can't create a new SharedLibHelper here, since we don't know
+    // what parent class loader to use.
+    SharedLibHelper helper = SharedLibHelper.findHelper(solib);
+    if (helper == null)
+      throw new IOException("library not loaded: " + solib);
+    core = helper.findCore(name);
+    if (core == null)
+      throw new IOException("couldn't find core object: " + name);
+  }
+
+  public InputStream getInputStream() throws IOException
+  {
+    connect();
+    return new CoreInputStream(core);
+  }
+  
+  public String getHeaderField(String field)
+  {
+    try
+      {
+	if (!connected)
+	  connect();
+
+	if (field.equals("content-type"))
+          return guessContentTypeFromName(name);
+	else if (field.equals("content-length"))
+          return Long.toString(core.length);
+      }
+    catch (IOException e)
+      {
+        // Fall through.
+      }
+    return null;
+  }  
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Handler.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Handler.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Handler.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/net/protocol/gcjlib/Handler.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,24 @@
+// Handler.java - URLStreamHandler for gcjlib protocol.
+
+/* Copyright (C) 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package gnu.java.net.protocol.gcjlib;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+
+public class Handler extends URLStreamHandler
+{
+  protected URLConnection openConnection (URL url) throws IOException
+  {
+    return new Connection (url);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,302 @@
+/* DatagramChannelImpl.java -- 
+   Copyright (C) 2002, 2003, 2004, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainDatagramSocketImpl;
+import java.io.IOException;
+import java.net.DatagramPacket;
+import java.net.DatagramSocket;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.DatagramChannel;
+import java.nio.channels.NotYetConnectedException;
+import java.nio.channels.spi.SelectorProvider;
+
+/**
+ * @author Michael Koch
+ */
+public final class DatagramChannelImpl extends DatagramChannel
+{
+  private NIODatagramSocket socket;
+  
+  /**
+   * Indicates whether this channel initiated whatever operation
+   * is being invoked on our datagram socket.
+   */
+  private boolean inChannelOperation;
+
+  /**
+   * Indicates whether our datagram socket should ignore whether
+   * we are set to non-blocking mode. Certain operations on our
+   * socket throw an <code>IllegalBlockingModeException</code> if
+   * we are in non-blocking mode, <i>except</i> if the operation
+   * is initiated by us.
+   */
+  public final boolean isInChannelOperation()
+  {
+    return inChannelOperation;
+  }
+  
+  /**
+   * Sets our indicator of whether we are initiating an I/O operation
+   * on our socket.
+   */
+  public final void setInChannelOperation(boolean b)
+  {
+    inChannelOperation = b;
+  }
+ 
+  protected DatagramChannelImpl (SelectorProvider provider)
+    throws IOException
+  {
+    super (provider);
+    socket = new NIODatagramSocket (new PlainDatagramSocketImpl(), this);
+    configureBlocking(true);
+  }
+
+  public int getNativeFD()
+  {
+    return socket.getPlainDatagramSocketImpl().getNativeFD();
+  }
+    
+  public DatagramSocket socket ()
+  {
+    return socket;
+  }
+    
+  protected void implCloseSelectableChannel ()
+    throws IOException
+  {
+    socket.close ();
+  }
+    
+  protected void implConfigureBlocking (boolean blocking)
+    throws IOException
+  {
+    socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+  }
+
+  public DatagramChannel connect (SocketAddress remote)
+    throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+    
+    socket.connect (remote);
+    return this;
+  }
+    
+  public DatagramChannel disconnect ()
+    throws IOException
+  {
+    socket.disconnect ();
+    return this;
+  }
+    
+  public boolean isConnected ()
+  {
+    return socket.isConnected ();
+  }
+    
+  public int write (ByteBuffer src)
+    throws IOException
+  {
+    if (!isConnected ())
+      throw new NotYetConnectedException ();
+    
+    return send (src, socket.getRemoteSocketAddress());
+  }
+
+  public long write (ByteBuffer[] srcs, int offset, int length)
+    throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+
+    if ((offset < 0)
+        || (offset > srcs.length)
+        || (length < 0)
+        || (length > (srcs.length - offset)))
+      throw new IndexOutOfBoundsException();
+      
+    long result = 0;
+
+    for (int index = offset; index < offset + length; index++)
+      result += write (srcs [index]);
+
+    return result;
+  }
+
+  public int read (ByteBuffer dst)
+    throws IOException
+  {
+    if (!isConnected ())
+      throw new NotYetConnectedException ();
+    
+    int remaining = dst.remaining();
+    receive (dst);
+    return remaining - dst.remaining();
+  }
+    
+  public long read (ByteBuffer[] dsts, int offset, int length)
+    throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+    
+    if ((offset < 0)
+        || (offset > dsts.length)
+        || (length < 0)
+        || (length > (dsts.length - offset)))
+      throw new IndexOutOfBoundsException();
+      
+    long result = 0;
+
+    for (int index = offset; index < offset + length; index++)
+      result += read (dsts [index]);
+
+    return result;
+  }
+    
+  public SocketAddress receive (ByteBuffer dst)
+    throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+    
+    try
+      {
+        DatagramPacket packet;
+        int len = dst.remaining();
+        
+        if (dst.hasArray())
+          {
+            packet = new DatagramPacket (dst.array(),
+                                         dst.arrayOffset() + dst.position(),
+                                         len);
+          }
+        else
+          {
+            packet = new DatagramPacket (new byte [len], len);
+          }
+
+        boolean completed = false;
+
+        try
+          {
+            begin();
+            setInChannelOperation(true);
+            socket.receive (packet);
+            completed = true;
+          }
+        finally
+          {
+            end (completed);
+            setInChannelOperation(false);
+          }
+
+        if (!dst.hasArray())
+          {
+            dst.put (packet.getData(), packet.getOffset(), packet.getLength());
+          }
+        else
+          {
+            dst.position (dst.position() + packet.getLength());
+          }
+
+        return packet.getSocketAddress();
+      }
+    catch (SocketTimeoutException e)
+      {
+        return null;
+      }
+  }
+    
+  public int send (ByteBuffer src, SocketAddress target)
+    throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+    
+    if (target instanceof InetSocketAddress
+	&& ((InetSocketAddress) target).isUnresolved())
+      throw new IOException("Target address not resolved");
+
+    byte[] buffer;
+    int offset = 0;
+    int len = src.remaining();
+    
+    if (src.hasArray())
+      {
+        buffer = src.array();
+        offset = src.arrayOffset() + src.position();
+      }
+    else
+      {
+        buffer = new byte [len];
+        src.get (buffer);
+      }
+
+    DatagramPacket packet = new DatagramPacket (buffer, offset, len, target);
+
+    boolean completed = false;
+    try
+      {
+        begin();
+        setInChannelOperation(true);
+        socket.send(packet);
+        completed = true;
+      }
+    finally
+      {
+        end (completed);
+        setInChannelOperation(false);
+      }
+      
+    if (src.hasArray())
+      {
+	src.position (src.position() + len);
+      }
+
+    return len;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelSelectionKey.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelSelectionKey.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelSelectionKey.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/DatagramChannelSelectionKey.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* DatagramChannelSelectionKey.java -- 
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+/**
+ * @author Michael Koch
+ */
+public final class DatagramChannelSelectionKey
+  extends SelectionKeyImpl
+{
+  public DatagramChannelSelectionKey (AbstractSelectableChannel channel,
+                                      SelectorImpl selector)
+  {
+    super (channel, selector);
+  }
+
+  public int getNativeFD()
+  {
+    return ((DatagramChannelImpl) ch).getNativeFD();
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/NIOServerSocket.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/NIOServerSocket.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/NIOServerSocket.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/NIOServerSocket.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,80 @@
+/* NIOServerSocket.java -- 
+   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+
+/**
+ * @author Michael Koch (konqueror at gmx.de)
+ */
+public final class NIOServerSocket extends ServerSocket
+{
+  private ServerSocketChannelImpl channel;
+    
+  protected NIOServerSocket (ServerSocketChannelImpl channel)
+    throws IOException
+  {
+    super();
+    this.channel = channel;
+  }
+
+  public native PlainSocketImpl getPlainSocketImpl();
+
+  public ServerSocketChannel getChannel()
+  {
+    return channel;
+  }
+
+  public Socket accept() throws IOException
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkListen (getLocalPort());
+
+    SocketChannel socketChannel = channel.provider().openSocketChannel();
+    implAccept (socketChannel.socket());
+    return socketChannel.socket();
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,129 @@
+/* ServerSocketChannelImpl.java -- 
+   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.SocketTimeoutException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.NotYetBoundException;
+import java.nio.channels.ServerSocketChannel;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.spi.SelectorProvider;
+
+public final class ServerSocketChannelImpl extends ServerSocketChannel
+{
+  private NIOServerSocket serverSocket;
+  private boolean connected;
+
+  protected ServerSocketChannelImpl (SelectorProvider provider)
+    throws IOException
+  {
+    super (provider);
+    serverSocket = new NIOServerSocket (this);
+    configureBlocking(true);
+  }
+
+  public int getNativeFD()
+  {
+    return serverSocket.getPlainSocketImpl().getNativeFD();
+  }
+  
+  public void finalizer()
+  {
+    if (connected)
+      {
+        try
+          {
+            close ();
+          }
+        catch (Exception e)
+          {
+          }
+      }
+  }
+
+  protected void implCloseSelectableChannel () throws IOException
+  {
+    connected = false;
+    serverSocket.close();
+  }
+
+  protected void implConfigureBlocking (boolean blocking) throws IOException
+  {
+    serverSocket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+  }
+
+  public SocketChannel accept () throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+
+    if (!serverSocket.isBound())
+      throw new NotYetBoundException();
+
+    boolean completed = false;
+    
+    try
+      {
+        begin();
+        serverSocket.getPlainSocketImpl().setInChannelOperation(true);
+          // indicate that a channel is initiating the accept operation
+          // so that the socket ignores the fact that we might be in
+          // non-blocking mode.
+        NIOSocket socket = (NIOSocket) serverSocket.accept();
+        completed = true;
+        return socket.getChannel();
+      }
+    catch (SocketTimeoutException e)
+      {
+        return null;
+      }
+    finally
+      {
+        serverSocket.getPlainSocketImpl().setInChannelOperation(false);
+        end (completed);
+      }
+  }
+
+  public ServerSocket socket ()
+  {
+    return serverSocket;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,56 @@
+/* ServerSocketChannelSelectionKey.java -- 
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+public final class ServerSocketChannelSelectionKey
+  extends SelectionKeyImpl
+{
+  public ServerSocketChannelSelectionKey (AbstractSelectableChannel channel,
+                                          SelectorImpl selector)
+  {
+    super (channel, selector);
+  }
+
+  public int getNativeFD()
+  {
+    return ((ServerSocketChannelImpl) ch).getNativeFD();
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,356 @@
+/* SocketChannelImpl.java -- 
+   Copyright (C) 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.java.net.PlainSocketImpl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.SocketAddress;
+import java.net.SocketTimeoutException;
+import java.nio.ByteBuffer;
+import java.nio.channels.AlreadyConnectedException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.ConnectionPendingException;
+import java.nio.channels.NoConnectionPendingException;
+import java.nio.channels.NotYetConnectedException;
+import java.nio.channels.SelectionKey;
+import java.nio.channels.Selector;
+import java.nio.channels.SocketChannel;
+import java.nio.channels.UnresolvedAddressException;
+import java.nio.channels.UnsupportedAddressTypeException;
+import java.nio.channels.spi.SelectorProvider;
+
+public final class SocketChannelImpl extends SocketChannel
+{
+  private PlainSocketImpl impl;
+  private NIOSocket socket;
+  private boolean connectionPending;
+
+  SocketChannelImpl (SelectorProvider provider)
+    throws IOException
+  {
+    super (provider);
+    impl = new PlainSocketImpl();
+    socket = new NIOSocket (impl, this);
+    configureBlocking(true);
+  }
+  
+  SocketChannelImpl (SelectorProvider provider,
+                     NIOSocket socket)
+    throws IOException
+  {
+    super (provider);
+    this.impl = socket.getPlainSocketImpl();
+    this.socket = socket;
+  }
+
+  public void finalizer()
+  {
+    if (isConnected())
+      {
+        try
+          {
+            close ();
+          }
+        catch (Exception e)
+          {
+          }
+      }
+  }
+
+  PlainSocketImpl getPlainSocketImpl()
+  {
+    return impl;
+  }
+
+  int getNativeFD()
+  {
+    return socket.getPlainSocketImpl().getNativeFD();
+  }
+
+  protected void implCloseSelectableChannel () throws IOException
+  {
+    socket.close();
+  }
+
+  protected void implConfigureBlocking (boolean blocking) throws IOException
+  {
+    socket.setSoTimeout (blocking ? 0 : NIOConstants.DEFAULT_TIMEOUT);
+  }   
+
+  public boolean connect (SocketAddress remote) throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+    
+    if (isConnected())
+      throw new AlreadyConnectedException();
+
+    if (connectionPending)
+      throw new ConnectionPendingException();
+
+    if (!(remote instanceof InetSocketAddress))
+      throw new UnsupportedAddressTypeException();
+
+    if (((InetSocketAddress) remote).isUnresolved())
+      throw new UnresolvedAddressException();
+    
+    try
+      {
+        socket.getPlainSocketImpl().setInChannelOperation(true);
+          // indicate that a channel is initiating the accept operation
+          // so that the socket ignores the fact that we might be in
+          // non-blocking mode.
+        
+        if (isBlocking())
+          {
+            // Do blocking connect.
+            socket.connect (remote);
+            return true;
+          }
+
+        // Do non-blocking connect.
+        try
+          {
+            socket.connect (remote, NIOConstants.DEFAULT_TIMEOUT);
+            return true;
+          }
+        catch (SocketTimeoutException e)
+          {
+            connectionPending = true;
+            return false;
+          }
+      }
+    finally
+      {
+        socket.getPlainSocketImpl().setInChannelOperation(false);
+      }
+  }
+    
+  public boolean finishConnect ()
+    throws IOException
+  {
+    if (!isOpen())
+      throw new ClosedChannelException();
+    
+    if (!isConnected() && !connectionPending)
+      throw new NoConnectionPendingException();
+    
+    if (isConnected())
+      return true;
+
+    // FIXME: Handle blocking/non-blocking mode.
+
+    Selector selector = provider().openSelector();
+    register(selector, SelectionKey.OP_CONNECT);
+
+    if (isBlocking())
+      {
+        selector.select(); // blocking until channel is connected.
+        connectionPending = false;
+        return true;
+      }
+
+    int ready = selector.selectNow(); // non-blocking
+    if (ready == 1)
+      {
+        connectionPending = false;
+        return true;
+      }
+
+    return false;
+  }
+
+  public boolean isConnected ()
+  {
+    return socket.isConnected();
+  }
+    
+  public boolean isConnectionPending ()
+  {
+    return connectionPending;
+  }
+    
+  public Socket socket ()
+  {
+    return socket;
+  }
+
+  public int read(ByteBuffer dst) throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+    
+    byte[] data;
+    int offset = 0;
+    InputStream input = socket.getInputStream();
+    int available = input.available();
+    int len = dst.remaining();
+	
+    if ((! isBlocking()) && available == 0)
+      return 0;
+    
+    if (dst.hasArray())
+      {
+        offset = dst.arrayOffset() + dst.position();
+        data = dst.array();
+      }
+    else
+      {
+        data = new byte [len];
+      }
+
+    int readBytes = 0;
+    boolean completed = false;
+
+    try
+      {
+        begin();
+        socket.getPlainSocketImpl().setInChannelOperation(true);
+        readBytes = input.read (data, offset, len);
+        completed = true;
+      }
+    finally
+      {
+        end (completed);
+        socket.getPlainSocketImpl().setInChannelOperation(false);
+      }
+
+    if (readBytes > 0)
+      if (dst.hasArray())
+	{
+	  dst.position (dst.position() + readBytes);
+	}
+      else
+        {
+          dst.put (data, offset, readBytes);
+        }
+
+    return readBytes;
+  }
+    
+  public long read (ByteBuffer[] dsts, int offset, int length)
+    throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+    
+    if ((offset < 0)
+        || (offset > dsts.length)
+        || (length < 0)
+        || (length > (dsts.length - offset)))
+      throw new IndexOutOfBoundsException();
+      
+    long readBytes = 0;
+
+    for (int index = offset; index < length; index++)
+      readBytes += read (dsts [index]);
+
+    return readBytes;
+  }
+     
+  public int write (ByteBuffer src)
+    throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+    
+    byte[] data;
+    int offset = 0;
+    int len = src.remaining();
+    
+    if (!src.hasArray())
+      {
+        data = new byte [len];
+        src.get (data, 0, len);
+      }
+    else
+      {
+        offset = src.arrayOffset() + src.position();
+        data = src.array();
+      }
+
+    OutputStream output = socket.getOutputStream();
+    boolean completed = false;
+
+    try
+      {
+        begin();
+        socket.getPlainSocketImpl().setInChannelOperation(true);
+        output.write (data, offset, len);
+        completed = true;
+      }
+    finally
+      {
+        end (completed);
+        socket.getPlainSocketImpl().setInChannelOperation(false);
+      }
+
+    if (src.hasArray())
+      {
+	src.position (src.position() + len);
+      }
+    
+    return len;
+  }
+
+  public long write (ByteBuffer[] srcs, int offset, int length)
+    throws IOException
+  {
+    if (!isConnected())
+      throw new NotYetConnectedException();
+    
+    if ((offset < 0)
+        || (offset > srcs.length)
+        || (length < 0)
+        || (length > (srcs.length - offset)))
+      throw new IndexOutOfBoundsException();
+      
+    long writtenBytes = 0;
+
+    for (int index = offset; index < length; index++)
+      writtenBytes += write (srcs [index]);
+
+    return writtenBytes;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelSelectionKey.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelSelectionKey.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelSelectionKey.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/SocketChannelSelectionKey.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,56 @@
+/* SocketChannelSelectionKey.java -- 
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import java.nio.channels.spi.AbstractSelectableChannel;
+
+public final class SocketChannelSelectionKey
+  extends SelectionKeyImpl
+{
+  public SocketChannelSelectionKey (AbstractSelectableChannel channel,
+                                    SelectorImpl selector)
+  {
+    super (channel, selector);
+  }
+    
+  public int getNativeFD()
+  {
+    return ((SocketChannelImpl) ch).getNativeFD();
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMChannel.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMChannel.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMChannel.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMChannel.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,199 @@
+/* VMChannel.java -- Native interface suppling channel operations.
+   Copyright (C) 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio;
+
+import gnu.classpath.Configuration;
+import gnu.java.net.PlainSocketImpl;
+import gnu.java.nio.PipeImpl.SinkChannelImpl;
+import gnu.java.nio.PipeImpl.SourceChannelImpl;
+import gnu.java.nio.channels.FileChannelImpl;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+/**
+ * Native interface to support configuring of channel to run in a non-blocking
+ * manner and support scatter/gather io operations.
+ * 
+ * @author Michael Barker <mike at middlesoft.co.uk>
+ *
+ */
+public class VMChannel
+{
+  private final int fd;
+  
+  private VMChannel(int fd)
+  {
+    this.fd = fd;
+  }
+  
+  public static VMChannel getVMChannel(PlainSocketImpl socket)
+  {
+    return new VMChannel(socket.getNativeFD());
+  }
+  
+  public static VMChannel getVMChannel(SourceChannelImpl source)
+  {
+    return new VMChannel(source.getNativeFD());
+  }
+  
+  public static VMChannel getVMChannel(SinkChannelImpl sink)
+  {
+    return new VMChannel(sink.getNativeFD());
+  }
+  
+  public static VMChannel getVMChannel(FileChannelImpl file)
+  {
+    return null; // XXX - return new VMChannel(file.getNativeFD());
+  }
+
+  /**
+   * Set the file descriptor to have the required blocking
+   * setting.
+   * 
+   * @param fd
+   * @param blocking
+   */
+  public void setBlocking(int fd, boolean blocking)
+  {
+    throw new RuntimeException("XXX - Implement me!");
+  }
+  
+  public void setBlocking(boolean blocking)
+  {
+    setBlocking(fd, blocking);
+  }
+  
+
+  /**
+   * Reads a byte buffer directly using the supplied file descriptor.
+   * Assumes that the buffer is a DirectBuffer.
+   * 
+   * @param fd Native file descriptor to read from.
+   * @param dst Direct Byte Buffer to read to.
+   * @return Number of bytes read.
+   * @throws IOException If an error occurs or dst is not a direct buffers. 
+   */
+  int read(int fd, ByteBuffer dst)
+    throws IOException
+  {
+    throw new IOException("XXX - Implement me!");
+  }
+  
+  public int read(ByteBuffer dst)
+    throws IOException
+  {
+    return read(fd, dst);
+  }
+  
+  /**
+   * Reads into byte buffers directly using the supplied file descriptor.
+   * Assumes that the buffer list contains DirectBuffers.  Will perform a
+   * scattering read.
+   * 
+   * @param fd Native file descriptor to read from.
+   * @param dsts An array direct byte buffers.
+   * @param offset Index of the first buffer to read to.
+   * @param length The number of buffers to read to.
+   * @return Number of bytes read.
+   * @throws IOException If an error occurs or the dsts are not direct buffers. 
+   */
+  long readScattering(int fd, ByteBuffer[] dsts, int offset, int length)
+    throws IOException
+  {
+    throw new IOException("XXX - Implement me!");
+  }
+
+  public long readScattering(ByteBuffer[] dsts, int offset, int length)
+    throws IOException
+  {
+    if (offset + length > dsts.length)
+      throw new IndexOutOfBoundsException("offset + length > dsts.length");
+    
+    return readScattering(fd, dsts, offset, length);
+  }
+  
+  /**
+   * Writes from a direct byte bufer using the supplied file descriptor.
+   * Assumes the buffer is a DirectBuffer.
+   * 
+   * @param fd
+   * @param src
+   * @return Number of bytes written.
+   * @throws IOException
+   */
+  int write(int fd, ByteBuffer src)
+    throws IOException
+  {
+    throw new IOException("XXX - Implement me!");
+  }
+
+  public int write(ByteBuffer src)
+    throws IOException
+  {
+    return write(fd, src);
+  }
+  
+  /**
+   * Writes from byte buffers directly using the supplied file descriptor.
+   * Assumes the that buffer list constains DirectBuffers.  Will perform
+   * as gathering write.
+   * 
+   * @param fd
+   * @param srcs
+   * @param offset
+   * @param length
+   * @return Number of bytes written.
+   * @throws IOException
+   */
+  long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length)
+    throws IOException
+  {
+    throw new IOException("XXX - Implement me!");
+  }
+ 
+  public long writeGathering(ByteBuffer[] srcs, int offset, int length)
+    throws IOException
+  {
+    if (offset + length > srcs.length)
+      throw new IndexOutOfBoundsException("offset + length > srcs.length");
+    
+    return writeGathering(fd, srcs, offset, length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMPipe.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMPipe.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMPipe.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMPipe.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,64 @@
+/* VMPipe.java -- Reference implementation for VM hooks used by PipeImpl
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import java.io.IOException;
+import java.nio.channels.spi.SelectorProvider;
+import gnu.classpath.Configuration;
+
+/**
+ * This class contains the native methods for gnu.java.nio.PipeImpl
+ * As such, it needs help from the VM.
+ *
+ * @author Patrik Reali
+ */
+final class VMPipe
+{
+
+  static
+  {
+    // load the shared library needed for native methods.
+    if (Configuration.INIT_LOAD_LIBRARY)
+      {
+        System.loadLibrary ("javanio");
+      }
+  }
+
+  static native void init(PipeImpl self, SelectorProvider provider)
+    throws IOException;
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMSelector.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMSelector.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMSelector.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/VMSelector.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* VMSelector.java -- 
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.nio;
+
+import gnu.classpath.Configuration;
+import java.io.IOException;
+
+public final class VMSelector
+{
+  static
+  {
+    // load the shared library needed for native methods.
+    if (Configuration.INIT_LOAD_LIBRARY)
+      {
+        System.loadLibrary ("javanio");
+      }
+  }
+  
+  // A timeout value of 0 means block forever.
+  static native int select (int[] read, int[] write,
+                                        int[] except, long timeout)
+    throws IOException;
+
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/FileChannelImpl.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/FileChannelImpl.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/FileChannelImpl.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/FileChannelImpl.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,536 @@
+/* FileChannelImpl.java -- 
+   Copyright (C) 2002, 2004, 2005, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.nio.channels;
+
+import gnu.classpath.Configuration;
+import gnu.java.nio.FileLockImpl;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.MappedByteBuffer;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.NonReadableChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
+
+/**
+ * This file is not user visible !
+ * But alas, Java does not have a concept of friendly packages
+ * so this class is public. 
+ * Instances of this class are created by invoking getChannel
+ * Upon a Input/Output/RandomAccessFile object.
+ */
+public final class FileChannelImpl extends FileChannel
+{
+  // These are mode values for open().
+  public static final int READ   = 1;
+  public static final int WRITE  = 2;
+  public static final int APPEND = 4;
+
+  // EXCL is used only when making a temp file.
+  public static final int EXCL   = 8;
+  public static final int SYNC   = 16;
+  public static final int DSYNC  = 32;
+
+  private static native void init();
+
+  static
+  {
+    if (Configuration.INIT_LOAD_LIBRARY)
+      {
+        System.loadLibrary("javanio");
+      }
+    
+    init();
+  }
+
+  /**
+   * This is the actual native file descriptor value
+   */
+  // System's notion of file descriptor.  It might seem redundant to
+  // initialize this given that it is reassigned in the constructors.
+  // However, this is necessary because if open() throws an exception
+  // we want to make sure this has the value -1.  This is the most
+  // efficient way to accomplish that.
+  private int fd = -1;
+
+  private long pos;
+  private int mode;
+
+  public FileChannelImpl ()
+  {
+  }
+
+  /* Open a file.  MODE is a combination of the above mode flags. */
+  /* This is a static factory method, so that VM implementors can decide
+   * substitute subclasses of FileChannelImpl. */
+  public static FileChannelImpl create(File file, int mode)
+    throws FileNotFoundException
+  {
+    return new FileChannelImpl(file, mode);
+  }
+
+  /* Open a file.  MODE is a combination of the above mode flags. */
+  private FileChannelImpl (File file, int mode) throws FileNotFoundException
+  {
+    final String path = file.getPath();
+    fd = open (path, mode);
+    this.mode = mode;
+
+    // First open the file and then check if it is a a directory
+    // to avoid race condition.
+    if (file.isDirectory())
+      {
+	try 
+	  {
+	      close();
+	  }
+	catch (IOException e)
+	  {
+	      /* ignore it */
+	  }
+
+	throw new FileNotFoundException(path + " is a directory");
+      }
+  }
+
+  /* Used by init() (native code) */
+  FileChannelImpl (int fd, int mode)
+  {
+    this.fd = fd;
+    this.mode = mode;
+  }
+
+  public static FileChannelImpl in;
+  public static FileChannelImpl out;
+  public static FileChannelImpl err;
+
+  private native int open (String path, int mode) throws FileNotFoundException;
+
+  public native int available () throws IOException;
+  private native long implPosition () throws IOException;
+  private native void seek (long newPosition) throws IOException;
+  private native void implTruncate (long size) throws IOException;
+  
+  public native void unlock (long pos, long len) throws IOException;
+
+  public native long size () throws IOException;
+    
+  protected native void implCloseChannel() throws IOException;
+
+  /**
+   * Makes sure the Channel is properly closed.
+   */
+  protected void finalize() throws IOException
+  {
+    this.close();
+  }
+
+  public int read (ByteBuffer dst) throws IOException
+  {
+    int result;
+    byte[] buffer = new byte [dst.remaining ()];
+    
+    result = read (buffer, 0, buffer.length);
+
+    if (result > 0)
+      dst.put (buffer, 0, result);
+
+    return result;
+  }
+
+  public int read (ByteBuffer dst, long position)
+    throws IOException
+  {
+    if (position < 0)
+      throw new IllegalArgumentException ();
+    long oldPosition = implPosition ();
+    position (position);
+    int result = read(dst);
+    position (oldPosition);
+    
+    return result;
+  }
+
+  public native int read ()
+    throws IOException;
+
+  public native int read (byte[] buffer, int offset, int length)
+    throws IOException;
+
+  public long read (ByteBuffer[] dsts, int offset, int length)
+    throws IOException
+  {
+    long result = 0;
+
+    for (int i = offset; i < offset + length; i++)
+      {
+        result += read (dsts [i]);
+      }
+
+    return result;
+  }
+
+  public int write (ByteBuffer src) throws IOException
+  {
+    int len = src.remaining ();
+    if (src.hasArray())
+      {
+	byte[] buffer = src.array();
+	write(buffer, src.arrayOffset() + src.position(), len);
+	src.position(src.position() + len);
+      }
+    else
+      {
+	// Use a more efficient native method! FIXME!
+	byte[] buffer = new byte [len];
+    	src.get (buffer, 0, len);
+	write (buffer, 0, len);
+      }
+    return len;
+  }
+    
+  public int write (ByteBuffer src, long position)
+    throws IOException
+  {
+    if (position < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+    
+    if ((mode & WRITE) == 0)
+       throw new NonWritableChannelException ();
+
+    int result;
+    long oldPosition;
+
+    oldPosition = implPosition ();
+    seek (position);
+    result = write(src);
+    seek (oldPosition);
+    
+    return result;
+  }
+
+  public native void write (byte[] buffer, int offset, int length)
+    throws IOException;
+  
+  public native void write (int b) throws IOException;
+
+  public long write(ByteBuffer[] srcs, int offset, int length)
+    throws IOException
+  {
+    long result = 0;
+
+    for (int i = offset;i < offset + length;i++)
+      {
+        result += write (srcs[i]);
+      }
+    
+    return result;
+  }
+				   
+  public native MappedByteBuffer mapImpl (char mode, long position, int size)
+    throws IOException;
+
+  public MappedByteBuffer map (FileChannel.MapMode mode,
+			       long position, long size)
+    throws IOException
+  {
+    char nmode = 0;
+    if (mode == MapMode.READ_ONLY)
+      {
+	nmode = 'r';
+	if ((this.mode & READ) == 0)
+	  throw new NonReadableChannelException();
+      }
+    else if (mode == MapMode.READ_WRITE || mode == MapMode.PRIVATE)
+      {
+	nmode = mode == MapMode.READ_WRITE ? '+' : 'c';
+	if ((this.mode & (READ|WRITE)) != (READ|WRITE))
+	  throw new NonWritableChannelException();
+      }
+    else
+      throw new IllegalArgumentException ();
+    
+    if (position < 0 || size < 0 || size > Integer.MAX_VALUE)
+      throw new IllegalArgumentException ();
+    return mapImpl(nmode, position, (int) size);
+  }
+
+  /**
+   * msync with the disk
+   */
+  public void force (boolean metaData) throws IOException
+  {
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+  }
+
+  // like transferTo, but with a count of less than 2Gbytes
+  private int smallTransferTo (long position, int count, 
+			       WritableByteChannel target)
+    throws IOException
+  {
+    ByteBuffer buffer;
+    try
+      {
+	// Try to use a mapped buffer if we can.  If this fails for
+	// any reason we'll fall back to using a ByteBuffer.
+	buffer = map (MapMode.READ_ONLY, position, count);
+      }
+    catch (IOException e)
+      {
+	buffer = ByteBuffer.allocate (count);
+	read (buffer, position);
+	buffer.flip();
+      }
+
+    return target.write (buffer);
+  }
+
+  public long transferTo (long position, long count, 
+			  WritableByteChannel target)
+    throws IOException
+  {
+    if (position < 0
+        || count < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    if ((mode & READ) == 0)
+       throw new NonReadableChannelException ();
+   
+    final int pageSize = 65536;
+    long total = 0;
+
+    while (count > 0)
+      {
+	int transferred 
+	  = smallTransferTo (position, (int)Math.min (count, pageSize), 
+			     target);
+	if (transferred < 0)
+	  break;
+	total += transferred;
+	position += transferred;
+	count -= transferred;
+      }
+
+    return total;
+  }
+
+  // like transferFrom, but with a count of less than 2Gbytes
+  private int smallTransferFrom (ReadableByteChannel src, long position, 
+				 int count)
+    throws IOException
+  {
+    ByteBuffer buffer = null;
+
+    if (src instanceof FileChannel)
+      {
+	try
+	  {
+	    // Try to use a mapped buffer if we can.  If this fails
+	    // for any reason we'll fall back to using a ByteBuffer.
+	    buffer = ((FileChannel)src).map (MapMode.READ_ONLY, position, 
+					     count);
+	  }
+	catch (IOException e)
+	  {
+	  }
+      }
+
+    if (buffer == null)
+      {
+	buffer = ByteBuffer.allocate ((int) count);
+	src.read (buffer);
+	buffer.flip();
+      }
+
+    return write (buffer, position);
+  }
+
+  public long transferFrom (ReadableByteChannel src, long position, 
+			    long count)
+    throws IOException
+  {
+    if (position < 0
+        || count < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    if ((mode & WRITE) == 0)
+       throw new NonWritableChannelException ();
+
+    final int pageSize = 65536;
+    long total = 0;
+
+    while (count > 0)
+      {
+	int transferred = smallTransferFrom (src, position, 
+					     (int)Math.min (count, pageSize));
+	if (transferred < 0)
+	  break;
+	total += transferred;
+	position += transferred;
+	count -= transferred;
+      }
+
+    return total;
+  }
+
+  public FileLock tryLock (long position, long size, boolean shared)
+    throws IOException
+  {
+    if (position < 0
+        || size < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    if (shared && (mode & READ) == 0)
+      throw new NonReadableChannelException ();
+	
+    if (!shared && (mode & WRITE) == 0)
+      throw new NonWritableChannelException ();
+	
+    boolean completed = false;
+    
+    try
+      {
+	begin();
+	boolean lockable = lock(position, size, shared, false);
+	completed = true;
+	return (lockable
+		? new FileLockImpl(this, position, size, shared)
+		: null);
+      }
+    finally
+      {
+	end(completed);
+      }
+  }
+
+  /** Try to acquire a lock at the given position and size.
+   * On success return true.
+   * If wait as specified, block until we can get it.
+   * Otherwise return false.
+   */
+  private native boolean lock(long position, long size,
+			      boolean shared, boolean wait) throws IOException;
+  
+  public FileLock lock (long position, long size, boolean shared)
+    throws IOException
+  {
+    if (position < 0
+        || size < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    boolean completed = false;
+
+    try
+      {
+	boolean lockable = lock(position, size, shared, true);
+	completed = true;
+	return (lockable
+		? new FileLockImpl(this, position, size, shared)
+		: null);
+      }
+    finally
+      {
+	end(completed);
+      }
+  }
+
+  public long position ()
+    throws IOException
+  {
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    return implPosition ();
+  }
+  
+  public FileChannel position (long newPosition)
+    throws IOException
+  {
+    if (newPosition < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    // FIXME note semantics if seeking beyond eof.
+    // We should seek lazily - only on a write.
+    seek (newPosition);
+    return this;
+  }
+  
+  public FileChannel truncate (long size)
+    throws IOException
+  {
+    if (size < 0)
+      throw new IllegalArgumentException ();
+
+    if (!isOpen ())
+      throw new ClosedChannelException ();
+
+    if ((mode & WRITE) == 0)
+       throw new NonWritableChannelException ();
+
+    if (size < size ())
+      implTruncate (size);
+
+    return this;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelEcos.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelEcos.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelEcos.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelEcos.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,192 @@
+// natFileDescriptor.cc - Native part of FileDescriptor class.
+
+/* Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+
+#include <gcj/cni.h>
+#include <jvm.h>
+#include <java/io/FileDescriptor.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/IOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/String.h>
+#include <java/io/FileNotFoundException.h>
+#include <gnu/java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using gnu::java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using java::lang::NullPointerException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+extern "C" void diag_write_char (char c);
+
+static void 
+diag_write (char *data, int len)
+{
+  while (len > 0)
+    {
+      diag_write_char (*data++);
+      len--;
+    }
+}
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+void
+FileChannelImpl::init(void)
+{
+  in = new FileChannelImpl((jint) 0, FileChannelImpl::READ);
+  out = new FileChannelImpl((jint) 1, FileChannelImpl::WRITE);
+  err = new FileChannelImpl((jint) 2, FileChannelImpl::WRITE);
+}
+
+#if 0
+jboolean
+FileChannelImpl::valid (void)
+{
+  return true;
+}
+
+void
+FileChannelImpl::sync (void)
+{
+  // Some files don't support fsync.  We don't bother reporting these
+  // as errors.
+#ifdef HAVE_FSYNC
+#else
+  throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
+#endif
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring, jint)
+{
+  return fd;
+}
+
+void
+FileChannelImpl::write (jint)
+{
+  char d = (char) b;
+  ::diag_write (&d, 1);
+}
+
+void
+FileChannelImpl::write (jbyteArray b, jint offset, jint len)
+{
+  if (! b)
+    throw new NullPointerException;
+  if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+    throw new ArrayIndexOutOfBoundsException;
+  char *bytes = (char *)elements (b) + offset;
+  ::diag_write (bytes, len);
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+}
+
+void
+FileChannelImpl::implTruncate (jlong)
+{
+}
+
+void
+FileChannelImpl::seek (jlong)
+{
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+  return 0;
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+  return 0;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+  return 0;
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+  return 0;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+  return 0;
+}
+
+jboolean
+FileChannelImpl::lock (jlong, jlong, jboolean, jboolean)
+{
+  throw new IOException (JvNewStringLatin1
+    ("gnu.java.nio.FileChannelImpl.lock() not implemented"));
+}
+
+void
+FileChannelImpl::unlock (jlong, jlong)
+{
+  throw new IOException (JvNewStringLatin1
+    ("gnu.java.nio.channels.FileChannelImpl.unlock() not implemented"));
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar, jlong, jint)
+{
+  return NULL;
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+  return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelPosix.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelPosix.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelPosix.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelPosix.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,545 @@
+
+// natFileChannelImplPosix.cc - Native part of FileChannelImpl class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <jvm.h>
+
+#include "posix.h"
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+
+#include <gnu/gcj/RawData.h>
+#include <gnu/java/nio/FileLockImpl.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+#include <java/io/FileNotFoundException.h>
+#include <java/io/IOException.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/System.h>
+#include <java/lang/String.h>
+#include <java/lang/StringBuffer.h>
+#include <java/lang/Thread.h>
+#include <java/nio/ByteBuffer.h>
+#include <java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#ifdef HAVE_MMAP
+#include <sys/mman.h>
+
+// Use overload resolution to find out the argument types.
+// E.g. Solaris 2.6 uses different argument types for munmap and msync.
+// This is in case _POSIX_C_SOURCES is smaller than 3.
+
+template <typename T_implPtr, typename T_implLen>
+static inline int
+munmap_adaptor(int (*munmap)(T_implPtr caddr, T_implLen sizet),
+		 void* caddr, size_t sizet)
+{
+  return munmap ((T_implPtr) caddr, (T_implLen) sizet);
+}
+
+template <typename T_implPtr, typename T_implLen, typename T_msync>
+static inline int
+msync_adaptor(int (*msync)(T_implPtr caddr, T_implLen sizet, T_msync msynct),
+	      void* caddr, size_t sizet, int msynct)
+{
+  return msync ((T_implPtr) caddr, (T_implLen) sizet, (T_msync) msynct);
+}
+#endif
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+void
+FileChannelImpl::init(void)
+{
+  in = new FileChannelImpl((jint) 0, FileChannelImpl::READ);
+  out = new FileChannelImpl((jint) 1, FileChannelImpl::WRITE);
+  err = new FileChannelImpl((jint) 2, FileChannelImpl::WRITE);
+}
+
+#if 0
+jboolean
+FileChannelImpl::valid (void)
+{
+  struct stat sb;
+  return fd >= 0 && ::fstat (fd, &sb) == 0;
+}
+
+void
+FileChannelImpl::sync (void)
+{
+  // Some files don't support fsync.  We don't bother reporting these
+  // as errors.
+#ifdef HAVE_FSYNC
+  if (::fsync (fd) && errno != EROFS && errno != EINVAL)
+    throw new SyncFailedException (JvNewStringLatin1 (strerror (errno)));
+#else
+  throw new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE));
+#endif
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring path, jint jflags)
+{
+  fd = -1;
+  char *buf = (char *) _Jv_AllocBytes (_Jv_GetStringUTFLength (path) + 1);
+  jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+  buf[total] = '\0';
+  int flags = 0;
+#ifdef O_BINARY
+  flags |= O_BINARY;
+#endif
+
+  JvAssert ((jflags & READ) || (jflags & WRITE));
+  int mode = 0666;
+  if ((jflags & READ) && (jflags & WRITE))
+    flags |= O_RDWR | O_CREAT;
+  else if ((jflags & READ))
+    flags |= O_RDONLY;
+  else
+    {
+      flags |= O_WRONLY | O_CREAT;
+      if ((jflags & APPEND))
+	flags |= O_APPEND;
+      else
+	flags |= O_TRUNC;
+
+      if ((jflags & EXCL))
+	{
+	  flags |= O_EXCL;
+	  // In this case we are making a temp file.
+	  mode = 0600;
+	}
+    }
+
+  if ((jflags & SYNC))
+    flags |= O_SYNC;
+
+  if ((jflags & DSYNC))
+    flags |= O_DSYNC;
+
+  int fd = ::open (buf, flags, mode);
+  if (fd == -1 && errno == EMFILE)
+    {
+      // Because finalize () calls close () we might be able to continue.
+      ::java::lang::System::gc ();
+      ::java::lang::System::runFinalization ();
+      fd = ::open (buf, flags, mode);
+    }
+  if (fd == -1)
+    {
+      // We choose the formatting here for JDK compatibility, believe
+      // it or not.
+      ::java::lang::StringBuffer *msg = new ::java::lang::StringBuffer (path);
+      msg->append (JvNewStringUTF (" ("));
+      msg->append (JvNewStringUTF (strerror (errno)));
+      msg->append (JvNewStringUTF (")"));
+      throw new ::java::io::FileNotFoundException (msg->toString ());
+    }
+
+  return fd;
+}
+
+void
+FileChannelImpl::write (jint b)
+{
+  jbyte d = (jbyte) b;
+  int r = 0;
+  while (r != 1)
+    {
+      r = ::write (fd, &d, 1);
+      if (r == -1)
+        {
+	  if (::java::lang::Thread::interrupted())
+	    {
+	      ::java::io::InterruptedIOException *iioe
+		= new ::java::io::InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+	      iioe->bytesTransferred = r == -1 ? 0 : r;
+	      throw iioe;
+	    }	    
+	  if (errno != EINTR)
+	    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+	}
+    }
+  pos++;
+}
+
+void
+FileChannelImpl::write (jbyteArray b, jint offset, jint len)
+{
+  if (! b)
+    throw new ::java::lang::NullPointerException;
+  if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+    throw new ArrayIndexOutOfBoundsException;
+  jbyte *bytes = elements (b) + offset;
+
+  int written = 0;
+  while (len > 0)
+    {
+      int r = ::write (fd, bytes, len);
+      if (r == -1)
+        {
+	  if (::java::lang::Thread::interrupted())
+	    {
+	      InterruptedIOException *iioe
+		= new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+	      iioe->bytesTransferred = written;
+	      throw iioe;
+	    }
+	  if (errno != EINTR)
+	    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+	  continue;
+	}
+
+      written += r;
+      len -= r;
+      bytes += r;
+      pos += r;
+    }
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+  jint save = fd;
+  fd = -1;
+  if (::close (save))
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+}
+
+void
+FileChannelImpl::implTruncate (jlong size)
+{
+  struct stat sb;
+
+#ifdef HAVE_FTRUNCATE
+  if (::fstat (fd, &sb))
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+
+  if ((jlong) sb.st_size == size) 
+    return;
+
+  // If the file is too short, we extend it.  We can't rely on
+  // ftruncate() extending the file.  So we lseek() to 1 byte less
+  // than we want, and then we write a single byte at the end.
+  if ((jlong) sb.st_size < size)
+    {
+      if (::lseek (fd, (off_t) (size - 1), SEEK_SET) == -1)
+	throw new IOException (JvNewStringLatin1 (strerror (errno)));
+      char out = '\0';
+      int r = ::write (fd, &out, 1);
+      if (r <= 0 || ::lseek (fd, pos, SEEK_SET) == -1)
+	throw new IOException (JvNewStringLatin1 (strerror (errno)));
+    }
+  else
+    {
+      if (::ftruncate (fd, (off_t) size))
+	throw new IOException (JvNewStringLatin1 (strerror (errno)));
+      if (pos > size
+	  && ::lseek (fd, (off_t) size, SEEK_SET) == -1)
+	throw new IOException (JvNewStringLatin1 (strerror (errno)));
+      pos = size;
+    }
+#else /* HAVE_FTRUNCATE */
+  throw new IOException (JvNewStringLatin1 ("FileDescriptor.setLength not implemented"));
+#endif /* HAVE_FTRUNCATE */
+}
+
+void
+FileChannelImpl::seek (jlong newPos)
+{
+  off_t r = ::lseek (fd, (off_t) newPos, SEEK_SET);
+  if (r == -1)
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+  pos = r;
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+  struct stat sb;
+  if (::fstat (fd, &sb))
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+  return sb.st_size;
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+  return pos;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+  jbyte b;
+  int r;
+  do
+    {
+      r = ::read (fd, &b, 1);
+      if (r == 0)
+	return -1;
+      if (r == -1)
+	{
+	  if (::java::lang::Thread::interrupted())
+	    {
+	      InterruptedIOException *iioe
+		= new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+	      iioe->bytesTransferred = r == -1 ? 0 : r;
+	      throw iioe;
+	    }
+	  if (errno != EINTR)
+	    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+	}
+    }
+  while (r != 1);
+  pos++;
+  return b & 0xFF;
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+  if (! buffer)
+    throw new ::java::lang::NullPointerException;
+  jsize bsize = JvGetArrayLength (buffer);
+  if (offset < 0 || count < 0 || offset + count > bsize)
+    throw new ::java::lang::ArrayIndexOutOfBoundsException;
+
+  // Must return 0 if an attempt is made to read 0 bytes.
+  if (count == 0)
+    return 0;
+
+  jbyte *bytes = elements (buffer) + offset;
+  int r;
+  do
+    {
+      r = ::read (fd, bytes, count);
+      if (r == 0)
+	return -1;
+      if (r == -1)
+	{
+	  if (::java::lang::Thread::interrupted())
+	    {
+	      InterruptedIOException *iioe
+		= new InterruptedIOException (JvNewStringLatin1 (strerror (errno)));
+	      iioe->bytesTransferred = r == -1 ? 0 : r;
+	      throw iioe;
+	    }
+	  if (errno != EINTR)
+	    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+	}
+    }
+  while (r <= 0);
+  pos += r;
+  return r;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+#if defined (FIONREAD) || defined (HAVE_SELECT) || defined (HAVE_FSTAT)
+  int num = 0;
+  int r = 0;
+  bool num_set = false;
+
+#if defined (FIONREAD)
+  r = ::ioctl (fd, FIONREAD, &num);
+  if (r == -1 && errno == ENOTTY)
+    {
+      // If the ioctl doesn't work, we don't care.
+      r = 0;
+      num = 0;
+    }
+  else
+    num_set = true;
+#elif defined (HAVE_SELECT)
+  if (fd < 0)
+    {
+      errno = EBADF;
+      r = -1;
+    }
+#endif
+
+  if (r == -1)
+    {
+    posix_error:
+      throw new IOException (JvNewStringLatin1 (strerror (errno)));
+    }
+
+  // If we didn't get anything, and we have fstat, then see if see if
+  // we're reading a regular file.  On many systems, FIONREAD does not
+  // work on regular files; select() likewise returns a useless
+  // result.  This is run incorrectly when FIONREAD does work on
+  // regular files and we are at the end of the file.  However, this
+  // case probably isn't very important.
+#if defined (HAVE_FSTAT)
+  if (! num_set)
+    {
+      struct stat sb;
+      off_t where = 0;
+      if (fstat (fd, &sb) != -1
+	  && S_ISREG (sb.st_mode)
+	  && (where = lseek (fd, 0, SEEK_CUR)) != (off_t) -1)
+	{
+	  num = (int) (sb.st_size - where);
+	  num_set = true;
+	}
+    }
+#endif /* HAVE_FSTAT */
+
+#if defined (HAVE_SELECT)
+  if (! num_set)
+    {
+      fd_set rd;
+      FD_ZERO (&rd);
+      FD_SET (fd, &rd);
+      struct timeval tv;
+      tv.tv_sec = 0;
+      tv.tv_usec = 0;
+      r = _Jv_select (fd + 1, &rd, NULL, NULL, &tv);
+      if (r == -1)
+	goto posix_error;
+      num = r == 0 ? 0 : 1;
+    }
+#endif /* HAVE_SELECT */
+
+  return (jint) num;
+#else
+  return 0;
+#endif
+}
+
+jboolean
+FileChannelImpl::lock
+(jlong pos, jlong len, jboolean shared, jboolean wait)
+{
+  struct flock lockdata;
+
+  lockdata.l_type = shared ? F_RDLCK : F_WRLCK;
+  lockdata.l_whence = SEEK_SET;
+  lockdata.l_start = pos;
+  lockdata.l_len = len;
+
+  if (::fcntl (fd, wait ? F_SETLKW : F_SETLK, &lockdata) == -1)
+    {
+      if (! wait && (errno == EACCES || errno == EAGAIN))
+	return false;
+      throw new IOException (JvNewStringLatin1 (strerror (errno)));
+    }
+  return true;
+}
+
+void
+FileChannelImpl::unlock (jlong pos, jlong len)
+{
+  struct flock lockdata;
+
+  lockdata.l_type = F_UNLCK;
+  lockdata.l_whence = SEEK_SET;
+  lockdata.l_start = pos;
+  lockdata.l_len = len;
+
+  if (::fcntl (fd, F_SETLK, &lockdata) == -1)
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar mmode, jlong position, jint size)
+{
+#if defined(HAVE_MMAP)
+  int prot, flags;
+  if (mmode == 'r')
+    {
+      prot = PROT_READ;
+      flags = MAP_PRIVATE;
+    }
+  else
+    {
+      prot = PROT_READ|PROT_WRITE;
+      flags = mmode == '+' ? MAP_SHARED : MAP_PRIVATE;
+    }
+  jint page_size = ::getpagesize();
+  jint offset = position & ~(page_size-1);
+  jint align = position - offset;
+  void* ptr = ::mmap(NULL, size + align, prot, flags, fd, offset);
+  MappedByteBufferImpl *buf
+    = new MappedByteBufferImpl ((RawData *) ((char *) ptr + align),
+				size, mmode == 'r');
+  if (ptr == (void *) MAP_FAILED)
+    throw new IOException (JvNewStringLatin1 (strerror (errno)));
+  buf->implPtr = reinterpret_cast<RawData*> (ptr);
+  buf->implLen = size+align;
+  return buf;
+#else
+  throw new IOException (JvNewStringUTF ("mmap not implemented"));
+#endif
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+#if defined(HAVE_MMAP)
+  munmap_adaptor(munmap, implPtr, implLen);
+#endif
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+  return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+#if defined(HAVE_MMAP)
+  ::msync_adaptor(msync, implPtr, implLen, MS_SYNC);
+#endif
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelWin32.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelWin32.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelWin32.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/channels/natFileChannelWin32.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,466 @@
+// natFileChannelImplWin32.cc - Native part of FileChannelImpl class.
+
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004  Free Software 
+   Foundation, Inc.
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+// FIXME: In order to support interrupting of IO operations, we
+// need to change to use the windows asynchronous IO functions
+
+#include <config.h>
+#include <platform.h>
+
+#include <gcj/cni.h>
+#include <gcj/javaprims.h>
+#include <jvm.h>
+
+#include <stdio.h>
+
+#include <gnu/gcj/RawData.h>
+#include <gnu/java/nio/FileLockImpl.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+#include <java/io/FileNotFoundException.h>
+#include <java/io/IOException.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/System.h>
+#include <java/lang/String.h>
+#include <java/lang/Thread.h>
+#include <java/nio/ByteBuffer.h>
+#include <java/nio/MappedByteBufferImpl.h>
+#include <java/nio/channels/FileChannel.h>
+#include <java/nio/channels/FileLock.h>
+#include <gnu/java/nio/channels/FileChannelImpl.h>
+
+using gnu::gcj::RawData;
+using java::io::IOException;
+using java::nio::MappedByteBufferImpl;
+using java::io::InterruptedIOException;
+using java::io::FileNotFoundException;
+using java::lang::ArrayIndexOutOfBoundsException;
+using gnu::java::nio::channels::FileChannelImpl;
+
+#undef STRICT
+
+static bool testCanUseGetHandleInfo()
+{
+  /* Test to see whether GetHandleInformation can be used
+     for console input or screen buffers. This is better
+     a kludgy OS version check. */
+  DWORD dwFlags;
+  return GetHandleInformation (GetStdHandle (STD_INPUT_HANDLE),
+    &dwFlags) != 0;
+}
+
+// FIXME: casting a FILE (pointer) to a jint will not work on Win64 --
+//        we should be using gnu.gcj.RawData's.
+
+void
+FileChannelImpl::init(void)
+{
+  in = new FileChannelImpl((jint)(GetStdHandle (STD_INPUT_HANDLE)),
+			   FileChannelImpl::READ);
+  out = new FileChannelImpl((jint)(GetStdHandle (STD_OUTPUT_HANDLE)),
+			    FileChannelImpl::WRITE);
+  err = new FileChannelImpl((jint)(GetStdHandle (STD_ERROR_HANDLE)),
+			    FileChannelImpl::WRITE);
+}
+
+#if 0
+FileChannelImpl::sync (void) {
+  if (! FlushFileBuffers ((HANDLE)fd))
+  {
+    DWORD dwErrorCode = GetLastError ();
+    throw new SyncFailedException (_Jv_WinStrError (dwErrorCode));
+  }
+}
+#endif
+
+jint
+FileChannelImpl::open (jstring path, jint jflags) {
+
+  HANDLE handle = NULL;
+  DWORD access = 0;
+  DWORD create = OPEN_EXISTING;
+  
+  JV_TEMP_STRING_WIN32(cpath, path)
+
+  JvAssert((jflags & READ) || (jflags & WRITE));
+
+  if ((jflags & READ) && (jflags & WRITE))
+    {
+      access = GENERIC_READ | GENERIC_WRITE;
+      if (jflags & EXCL)
+        create = CREATE_NEW; // this will raise error if file exists.
+      else
+        create = OPEN_ALWAYS; // equivalent to O_CREAT
+    }
+  else if (jflags & READ)
+    {
+      access = GENERIC_READ;
+      create = OPEN_EXISTING; // ignore EXCL
+    }
+  else
+    { 
+      access = GENERIC_WRITE;
+      if (jflags & EXCL)
+        create = CREATE_NEW;
+      else if (jflags & APPEND)
+        create = OPEN_ALWAYS;
+      else
+        create = CREATE_ALWAYS;
+    }
+
+  handle = CreateFile(cpath, access, FILE_SHARE_READ | FILE_SHARE_WRITE,
+    NULL, create, 0, NULL);
+
+  if (handle == INVALID_HANDLE_VALUE)
+    {
+       DWORD dwErrorCode = GetLastError ();
+       throw new FileNotFoundException (_Jv_WinStrError (cpath, dwErrorCode));
+    }
+
+  // For APPEND mode, move the file pointer to the end of the file.
+  if (jflags & APPEND)
+    {
+      DWORD low = SetFilePointer (handle, 0, NULL, FILE_END);
+      if ((low == (DWORD) 0xffffffff) && (GetLastError () != NO_ERROR)) 
+      {
+        DWORD dwErrorCode = GetLastError ();
+        throw new FileNotFoundException (_Jv_WinStrError (cpath, dwErrorCode));
+      }
+    }
+    
+  // Make this handle non-inheritable so that child
+  // processes don't inadvertently prevent us from
+  // closing this file.
+  _Jv_platform_close_on_exec (handle);
+
+  return (jint) handle;
+}
+
+void
+FileChannelImpl::write (jint b)
+{
+  DWORD bytesWritten;
+  jbyte buf = (jbyte)b;
+
+  if (WriteFile ((HANDLE)fd, &buf, 1, &bytesWritten, NULL))
+    {
+      if (::java::lang::Thread::interrupted())
+        {
+          InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+          iioe->bytesTransferred = bytesWritten;
+    throw iioe;
+        }
+      if (bytesWritten != 1)
+        _Jv_ThrowIOException ();
+    }
+  else
+    _Jv_ThrowIOException ();
+  // FIXME: loop until bytesWritten == 1
+}
+
+void
+FileChannelImpl::write(jbyteArray b, jint offset, jint len)
+{
+  if (! b)
+    throw new ::java::lang::NullPointerException;
+  if(offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+    throw new ArrayIndexOutOfBoundsException;
+
+  jbyte *buf = elements (b) + offset;
+  DWORD bytesWritten;
+
+  if (WriteFile ((HANDLE)fd, buf, len, &bytesWritten, NULL))
+    {
+      if (::java::lang::Thread::interrupted())
+        {
+          InterruptedIOException *iioe = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+          iioe->bytesTransferred = bytesWritten;
+          throw iioe;
+        }
+    }
+  else
+    _Jv_ThrowIOException ();
+  // FIXME: loop until bytesWritten == len
+}
+
+void
+FileChannelImpl::implCloseChannel (void)
+{
+  HANDLE save = (HANDLE)fd;
+  fd = (jint)INVALID_HANDLE_VALUE;
+  if (! CloseHandle (save))
+    _Jv_ThrowIOException ();
+}
+
+void
+FileChannelImpl::implTruncate (jlong size)
+{
+  LONG liOrigFilePointer;
+  LONG liNewFilePointer;
+  LONG liEndFilePointer;
+
+  // Get the original file pointer.
+  if (SetFilePointer((HANDLE) fd, (LONG) 0, &liOrigFilePointer,
+         FILE_CURRENT) != (BOOL) 0
+      && (GetLastError() != NO_ERROR))
+    _Jv_ThrowIOException ();
+
+  // Get the length of the file.
+  if (SetFilePointer((HANDLE) fd, (LONG) 0, &liEndFilePointer,
+         FILE_END) != (BOOL) 0
+      && (GetLastError() != NO_ERROR))
+    _Jv_ThrowIOException ();
+
+  if ((jlong)liEndFilePointer == size)
+    {
+      // Restore the file pointer.
+      if (liOrigFilePointer != liEndFilePointer)
+  {
+    if (SetFilePointer((HANDLE) fd, liOrigFilePointer, &liNewFilePointer,
+           FILE_BEGIN) != (BOOL) 0
+        && (GetLastError() != NO_ERROR))
+      _Jv_ThrowIOException ();
+  }
+      return;
+    }
+
+  // Seek to the new end of file.
+  if (SetFilePointer((HANDLE) fd, (LONG) size, &liNewFilePointer,
+         FILE_BEGIN) != (BOOL) 0
+      && (GetLastError() != NO_ERROR))
+    _Jv_ThrowIOException ();
+
+  // Truncate the file at this point.
+  if (SetEndOfFile((HANDLE) fd) != (BOOL) 0 && (GetLastError() != NO_ERROR))
+    _Jv_ThrowIOException ();
+
+  if (liOrigFilePointer < liNewFilePointer)
+    {
+      // Restore the file pointer.
+      if (SetFilePointer((HANDLE) fd, liOrigFilePointer, &liNewFilePointer,
+        FILE_BEGIN) != (BOOL) 0
+        && (GetLastError() != NO_ERROR))
+        _Jv_ThrowIOException ();
+    }
+}
+
+void
+FileChannelImpl::seek (jlong newPos)
+{
+  LONG high = pos >> 32;
+  DWORD low = SetFilePointer ((HANDLE)fd, (DWORD)(0xffffffff & newPos), &high, FILE_BEGIN);
+  if ((low == 0xffffffff) && (GetLastError () != NO_ERROR))
+    _Jv_ThrowIOException ();
+}
+
+jlong
+FileChannelImpl::implPosition (void)
+{
+  LONG high = 0;
+  DWORD low = SetFilePointer ((HANDLE)fd, 0, &high, FILE_CURRENT);
+  if ((low == 0xffffffff) && (GetLastError() != NO_ERROR))
+    _Jv_ThrowIOException ();
+  return (((jlong)high) << 32L) | (jlong)low;
+}
+
+jlong
+FileChannelImpl::size (void)
+{
+  DWORD high;
+  DWORD low;
+
+  low = GetFileSize ((HANDLE)fd, &high);
+  // FIXME: Error checking
+  return (((jlong)high) << 32L) | (jlong)low;
+}
+
+jint
+FileChannelImpl::read (void)
+{
+  CHAR buf;
+  DWORD read;
+
+  if (! ReadFile ((HANDLE)fd, &buf, 1, &read, NULL))
+    {
+      if (GetLastError () == ERROR_BROKEN_PIPE)
+        return -1;
+      else
+        _Jv_ThrowIOException ();
+    }
+
+  if (! read)
+    return -1;
+  else
+    return (jint)(buf & 0xff);
+}
+
+jint
+FileChannelImpl::read (jbyteArray buffer, jint offset, jint count)
+{
+  if (! buffer)
+    throw new ::java::lang::NullPointerException;
+
+  jsize bsize = JvGetArrayLength (buffer);
+  if (offset < 0 || count < 0 || offset + count > bsize)
+    throw new ArrayIndexOutOfBoundsException;
+
+  // Must return 0 if an attempt is made to read 0 bytes.
+  if (count == 0)
+    return 0;
+
+  jbyte *bytes = elements (buffer) + offset;
+
+  DWORD read;
+  if (! ReadFile((HANDLE)fd, bytes, count, &read, NULL))
+    {
+      if (GetLastError () == ERROR_BROKEN_PIPE)
+        return -1;
+      else
+        _Jv_ThrowIOException ();
+    }
+
+  if (read == 0) return -1;
+
+  return (jint)read;
+}
+
+jint
+FileChannelImpl::available (void)
+{
+  // FIXME:
+  return size() - position();
+}
+
+jboolean
+FileChannelImpl::lock (jlong pos, jlong len, jboolean shared, jboolean wait)
+{
+  DWORD flags = 0;
+  OVERLAPPED ovlpd;
+
+  ZeroMemory(&ovlpd,sizeof(OVERLAPPED));
+
+  if(!shared)
+    flags |= LOCKFILE_EXCLUSIVE_LOCK;
+  if(!wait)
+    flags |= LOCKFILE_FAIL_IMMEDIATELY;
+
+  ovlpd.Offset = (DWORD)pos;
+  ovlpd.OffsetHigh = pos>>32;
+
+  DWORD lenlow = (DWORD)len;
+  DWORD lenhigh = len>>32;
+
+  BOOL ret = LockFileEx((HANDLE)fd,flags,0,lenlow,lenhigh,&ovlpd);
+
+  if(ret==ERROR_IO_PENDING && !shared && wait)
+    ret = GetOverlappedResult((HANDLE)fd,&ovlpd,NULL,wait);
+
+  if(!ret)
+    _Jv_ThrowIOException(GetLastError());
+
+  return true;
+}
+
+void
+FileChannelImpl::unlock (jlong pos, jlong len)
+{
+  OVERLAPPED ovlpd;
+
+  ZeroMemory(&ovlpd,sizeof(OVERLAPPED));
+
+  ovlpd.Offset = (DWORD)pos;
+  ovlpd.OffsetHigh = pos>>32;
+
+  DWORD lenlow = (DWORD)len;
+  DWORD lenhigh = len>>32;
+
+  BOOL ret = UnlockFileEx((HANDLE)fd,0,lenlow,lenhigh,&ovlpd);
+
+  if(!ret)
+    _Jv_ThrowIOException(GetLastError());
+}
+
+java::nio::MappedByteBuffer *
+FileChannelImpl::mapImpl (jchar mmode, jlong position, jint size)
+{
+  SYSTEM_INFO siSysInfo;
+  GetSystemInfo(&siSysInfo); 
+  DWORD page_size = siSysInfo.dwPageSize;
+  jlong offset = position & ~(page_size-1);
+  jint align = position - offset;
+  jlong high = position + size;
+  jlong max_size;
+  if (mmode == '+')
+    max_size = high - offset;
+  else
+    max_size = 0;
+  DWORD access, protect;
+  if (mmode == 'r')
+    {
+      access = FILE_MAP_READ;
+      protect = PAGE_READONLY;
+    }
+  else if (mmode == '+')
+    {
+      access = FILE_MAP_WRITE;
+      protect = PAGE_READWRITE;
+    }
+  else
+    {
+      access = FILE_MAP_COPY;
+      protect = PAGE_WRITECOPY;
+    }
+  HANDLE hFileMapping = CreateFileMapping((HANDLE) fd,
+					  (LPSECURITY_ATTRIBUTES) NULL,
+					  protect,
+					  (DWORD) (max_size >> 32),
+					  (DWORD) max_size,
+					  (LPCTSTR) NULL);
+  if (hFileMapping == NULL)
+    throw new IOException();
+  void *ptr = MapViewOfFile(hFileMapping, access,
+			    (DWORD) (offset >> 32), (DWORD) offset,
+			    (SIZE_T) (high - offset));
+  if (ptr == NULL)
+    throw new IOException();
+  MappedByteBufferImpl *buf
+    = new MappedByteBufferImpl((RawData *) ((char *) ptr + align),
+			       size, mode == 'r');
+  buf->implPtr = reinterpret_cast<RawData*> (ptr);
+  buf->implLen = (jlong) (size_t) hFileMapping;
+  return buf;
+}
+
+void
+MappedByteBufferImpl::unmapImpl ()
+{
+  UnmapViewOfFile((void*)implPtr);
+  CloseHandle((HANDLE) (size_t) implLen);
+}
+
+void
+MappedByteBufferImpl::loadImpl ()
+{
+}
+
+jboolean
+MappedByteBufferImpl::isLoadedImpl ()
+{
+  return true;
+}
+
+void
+MappedByteBufferImpl::forceImpl ()
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natNIOServerSocket.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natNIOServerSocket.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natNIOServerSocket.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natNIOServerSocket.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,24 @@
+// natNIOServerSocket.cc
+
+/* Copyright (C) 2003  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/net/PlainSocketImpl.h>
+#include <gnu/java/nio/NIOServerSocket.h>
+#include <java/net/ServerSocket.h>
+#include <java/net/SocketImpl.h>
+
+gnu::java::net::PlainSocketImpl*
+gnu::java::nio::NIOServerSocket::getPlainSocketImpl()
+{
+  return (gnu::java::net::PlainSocketImpl*)
+    ::java::net::ServerSocket::getImpl();
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplEcos.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplEcos.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplEcos.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplEcos.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,27 @@
+// natPipeImplEcos.cc
+
+/* Copyright (C) 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+#include <java/io/IOException.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl *self,
+			      ::java::nio::channels::spi::SelectorProvider*)
+{
+  throw new ::java::io::IOException (JvNewStringUTF ("nativeInit() not implemented"));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplPosix.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplPosix.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplPosix.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplPosix.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,41 @@
+// natPipeImplPosix.cc
+
+/* Copyright (C) 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+//#include <gnu/java/nio/PipeImpl$SinkChannelImpl.h>
+//#include <gnu/java/nio/PipeImpl$SourceChannelImpl.h>
+#include <java/io/IOException.h>
+#include <java/nio/channels/spi/SelectorProvider.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl*, /*self*/
+			      ::java::nio::channels::spi::SelectorProvider*
+			      /*provider*/)
+{
+  int filedes [2];
+
+  if (_Jv_pipe (filedes) < 0)
+    throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+
+  /* FIXME
+  source = new gnu::java::nio::PipeImpl$SourceChannelImpl
+    (this, provider, filedes [0]);
+  sink = new gnu::java::nio::PipeImpl$SinkChannelImpl
+    (this, provider, filedes [1]);
+  */
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplWin32.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplWin32.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplWin32.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natPipeImplWin32.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,40 @@
+// natPipeImplWin32.cc
+
+/* Copyright (C) 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <gnu/java/nio/PipeImpl.h>
+#include <gnu/java/nio/VMPipe.h>
+//#include <gnu/java/nio/PipeImpl$SinkChannelImpl.h>
+//#include <gnu/java/nio/PipeImpl$SourceChannelImpl.h>
+#include <java/io/IOException.h>
+#include <java/nio/channels/spi/SelectorProvider.h>
+
+void
+gnu::java::nio::VMPipe::init (gnu::java::nio::PipeImpl *self,
+			      ::java::nio::channels::spi::SelectorProvider* /*provider*/)
+{
+  int filedes [2];
+
+  if (_Jv_pipe (filedes) < 0)
+    throw new ::java::io::IOException (JvNewStringUTF (strerror (errno)));
+
+  /* FIXME
+  source = new gnu::java::nio::PipeImpl$SourceChannelImpl
+    (this, provider, filedes [0]);
+  sink = new gnu::java::nio::PipeImpl$SinkChannelImpl
+    (this, provider, filedes [1]);
+  */
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplEcos.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplEcos.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplEcos.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplEcos.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,25 @@
+// natSelectorImplEcos.cc
+
+/* Copyright (C) 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/io/IOException.h>
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+                                    jintArray except, jlong timeout)
+{
+  throw new ::java::io::IOException (JvNewStringUTF ("implSelect() not implemented"));
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplPosix.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplPosix.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplPosix.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplPosix.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+// natSelectorImplPosix.cc
+
+/* Copyright (C) 2002, 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <errno.h>
+#include <string.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/IOException.h>
+#include <java/lang/Thread.h>
+
+static void
+helper_put_filedescriptors (jintArray fdArray, fd_set& fds, int& max_fd)
+{
+  jint* tmpFDArray = elements (fdArray);
+
+  for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+    {
+      int fd = tmpFDArray [index];
+      if (fd > 0)
+        {
+          FD_SET (tmpFDArray [index], &fds);
+
+          if (tmpFDArray [index] > max_fd)
+            max_fd = tmpFDArray [index];
+        }
+    }
+}
+
+static void
+helper_get_filedescriptors (jintArray& fdArray, fd_set fds)
+{
+  jint* tmpFDArray = elements (fdArray);
+  
+  for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+    {
+      int fd = tmpFDArray [index];
+      if (fd < 0 || !FD_ISSET (fd, &fds))
+        tmpFDArray [index] = 0;
+    }
+}
+
+static void
+helper_reset (jintArray& fdArray)
+{
+  jint* tmpFDArray = elements (fdArray);
+  
+  for (int index = 0; index < JvGetArrayLength (fdArray); index++)
+    tmpFDArray [index] = 0;
+}
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+                                    jintArray except, jlong timeout)
+{
+  jint result;
+  int max_fd = 0;
+  fd_set read_fds;
+  fd_set write_fds;
+  fd_set except_fds;
+  struct timeval real_time_data;
+  struct timeval *time_data = NULL;
+
+  // If a legal timeout value isn't given, use NULL.
+  // This means an infinite timeout. The specification
+  // also says that a zero timeout should be treated
+  // as infinite. Otherwise (if the timeout value is legal),
+  // fill our timeval struct and use it for the select.
+  if (timeout > 0)
+    {
+      real_time_data.tv_sec = timeout / 1000;
+      real_time_data.tv_usec = (timeout % 1000) * 1000;
+      time_data = &real_time_data;
+    }
+
+  // Reset all fd_set structures
+  FD_ZERO (&read_fds);
+  FD_ZERO (&write_fds);
+  FD_ZERO (&except_fds);
+
+  // Fill the fd_set data structures for the _Jv_select() call.
+  helper_put_filedescriptors (read, read_fds, max_fd);
+  helper_put_filedescriptors (write, write_fds, max_fd);
+  helper_put_filedescriptors (except, except_fds, max_fd);
+
+  // Actually do the select
+  try
+    {
+      result = _Jv_select (max_fd + 1, &read_fds, &write_fds,
+                           &except_fds, time_data);
+    }
+  catch (::java::io::InterruptedIOException *e)
+    {
+      // The behavior of JRE 1.4.1 is that no exception is thrown
+      // when the thread is interrupted, but the thread's interrupt
+      // status is set. Clear all of our select sets and return 0,
+      // indicating that nothing was selected.
+      ::java::lang::Thread::currentThread ()->interrupt ();
+       helper_reset (read);
+       helper_reset (write);
+       helper_reset (except);
+       return 0;
+    }
+
+  if (result < 0)
+    {
+      char* strerr = strerror (errno);
+      throw new ::java::io::IOException (JvNewStringUTF (strerr));
+    }
+
+  // Set the file descriptors according to the values returned from select().
+  helper_get_filedescriptors (read, read_fds);
+  helper_get_filedescriptors (write, write_fds);
+  helper_get_filedescriptors (except, except_fds);
+
+  return result;
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplWin32.cc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplWin32.cc?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplWin32.cc (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/nio/natSelectorImplWin32.cc Thu Nov  8 16:56:19 2007
@@ -0,0 +1,93 @@
+// natSelectorImplWin32.cc
+
+/* Copyright (C) 2003, 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#include <config.h>
+#include <platform.h>
+
+#include <gnu/java/nio/VMSelector.h>
+#include <java/lang/Thread.h>
+
+jint
+gnu::java::nio::VMSelector::select (jintArray read, jintArray write,
+                                    jintArray except, jlong timeout)
+{
+  // FIXME: The API for implSelect is biased towards POSIX implementations.
+  jint* pReadFD = elements (read);
+  int nNbReadFDs = JvGetArrayLength (read);
+
+  jint* pWriteFD = elements (write);
+  int nNbWriteFDs = JvGetArrayLength (write);
+  
+  int nNbEvents = nNbReadFDs + nNbWriteFDs;
+  
+  // Create and initialize our event wrapper array
+  
+  // FIXME: We're creating fresh WSAEVENTs for each call.
+  // This is inefficient. It would probably be better to cache these
+  // in the Win32 socket implementation class.
+  WSAEventWrapper aArray[nNbEvents];
+
+  int nCurIndex = 0;
+  for (int i=0; i < nNbReadFDs; ++i)
+    aArray[nCurIndex++].init(pReadFD[i], FD_ACCEPT | FD_READ);
+
+  for (int i=0; i < nNbWriteFDs; ++i)
+    aArray[nCurIndex++].init(pWriteFD[i], FD_WRITE);
+
+  // Build our array of WSAEVENTs to wait on. Also throw in our thread's
+  // interrupt event in order to detect thread interruption.
+  HANDLE arh[nNbEvents + 1];
+  for (int i=0; i < nNbEvents; ++i)
+    arh[i] = aArray[i].getEventHandle();
+  arh[nNbEvents] = _Jv_Win32GetInterruptEvent ();
+  
+  // A timeout value of 0 needs to be treated as infinite.
+  if (timeout <= 0)
+    timeout = WSA_INFINITE;
+
+  // Do the select.
+  DWORD dwRet = WSAWaitForMultipleEvents (nNbEvents+1, arh, 0, timeout, false);
+  
+  if (dwRet == WSA_WAIT_FAILED)
+    _Jv_ThrowIOException ();
+
+  // Before we do anything else, clear output file descriptor arrays.
+  memset(pReadFD, 0, sizeof(jint) * nNbReadFDs);
+  memset(pWriteFD, 0, sizeof(jint) * nNbWriteFDs);
+  memset(elements (except), 0, sizeof(jint) * JvGetArrayLength (except));
+  
+  if (dwRet == DWORD(WSA_WAIT_EVENT_0 + nNbEvents))
+    {
+      // We were interrupted. Set the current thread's interrupt
+      // status and get out of here, with nothing selected..
+      ::java::lang::Thread::currentThread ()->interrupt ();
+      return 0;
+    }
+  else if (dwRet < DWORD(WSA_WAIT_EVENT_0 + nNbEvents))
+    {
+      int nSelectedEventIndex = dwRet - WSA_WAIT_EVENT_0;
+
+      // Record the selected file descriptor.
+      // FIXME: This implementation only allows one file descriptor
+      // to be selected at a time. Remedy this by looping on
+      // WSAWaitForMultipleEvents 'til nothing more is selected.
+      jint fd = aArray[nSelectedEventIndex].getFD();
+      if (nSelectedEventIndex < nNbReadFDs)
+        pReadFD[0] = fd;
+      else
+        pWriteFD[0] = fd;
+
+      return 1;  
+    }
+  else
+    // None of the event objects was signalled, so nothing was
+    // selected.
+    return 0;
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_gcj.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_gcj.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_gcj.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_gcj.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,56 @@
+/*
+  Copyright (c) 2001, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+/** Subclass of Compiler that can be used to invoke gcj.  */
+public class Compile_gcj extends CompilerProcess
+{
+  private static final String [] COMPILER_ARGS = 
+  {
+    "gcj",
+    "-C"
+  };
+
+  public String[] computeArguments (String filename)
+  {
+    return computeTypicalArguments(COMPILER_ARGS,
+                                   getClasspath(),
+				   getDestination(),
+				   filename);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_jikes.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_jikes.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_jikes.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_jikes.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,57 @@
+/*
+  Copyright (c) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+/** Subclass of Compiler that can be used to invoke jikes.  */
+public class Compile_jikes extends CompilerProcess
+{
+  /** Compiler arguments to invoke jikes */
+  private static final String [] COMPILER_ARGS = 
+  {
+    "jikes"
+  };
+
+  /** Compute the command line for the process.  */
+  public String[] computeArguments (String filename)
+  {
+    return computeTypicalArguments(COMPILER_ARGS,
+				   getClasspath(),
+				   getDestination(),
+				   filename);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_kjc.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_kjc.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_kjc.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compile_kjc.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,57 @@
+/*
+  Copyright (c) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+/** Subclass of Compiler that can be used to invoke kjc.  */
+public class Compile_kjc extends CompilerProcess
+{
+  /** Compiler arguments to invoke kjc */
+  private static final String [] COMPILER_ARGS = 
+  {
+    "kjc"
+  };
+
+  /** Compute the command line for the process.  */
+  public String[] computeArguments (String filename)
+  {
+    return computeTypicalArguments(COMPILER_ARGS,
+				   getClasspath(),
+				   getDestination(),
+				   filename);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compiler.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compiler.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compiler.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/Compiler.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,108 @@
+/*
+  Copyright (c) 2001, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+/**
+ * A Compiler object can be used to compile a .java file into a
+ * .class file.  This is an abstract class; the
+ * <code>getInstance()</code> method is used to obtain the actual
+ * compiler object.
+ */
+public abstract class Compiler
+{
+  // Can't directly instantiate.
+  protected Compiler ()
+  {
+  }
+
+  /** Create a new compiler instance.  */
+  public static Compiler getInstance ()
+  {
+    return getInstance (System.getProperty ("classpath.compiler", "gcj"));
+  }
+
+  /** Create a new compiler instance given the name of the compiler.  */
+  public static Compiler getInstance (String name)
+  {
+    try
+      {
+	Class k = Class.forName (classPrefix + name);
+	return (Compiler) k.newInstance ();
+      }
+    catch (Throwable _)
+      {
+      }
+    return null;
+  }
+
+   /** Get the directory where output files will be put.  */
+   public String getDestination ()
+   {
+     return dest;
+   }
+
+  /** Set the directory where output files will be put.  */
+  public void setDestination (String dest)
+  {
+    this.dest = dest;
+  }
+
+   /** Get the classpath for compilation.  */
+   public String getClasspath ()
+   {
+     return classpath;
+   }
+
+  /** Set the classpath for compilation.  */
+  public void setClasspath (String classpath)
+  {
+    this.classpath = classpath;
+  }
+
+  /** Compile the given file.  Throws exception on error.  */
+  public abstract void compile (String name) throws Exception;
+
+  /** The destination directory, or null if none set.  */
+  protected String dest;
+
+  /** The classpath directory, or null if none set.  */
+  private String classpath;
+
+  /** Class prefix used when trying to find instance.  */
+  private static final String classPrefix = "gnu.java.rmi.rmic.Compile_";
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/CompilerProcess.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/CompilerProcess.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/CompilerProcess.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/CompilerProcess.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,164 @@
+/*
+  Copyright (c) 2001, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+import java.io.InputStream;
+
+/**
+ * Subclass of Compiler that can be subclassed to invoke a process to
+ * do its work.
+ */
+public abstract class CompilerProcess extends Compiler
+{
+  /** This is used to compute the command line for the process.  */
+  public abstract String[] computeArguments (String filename);
+
+   /**
+    * This is used to compute the command line for the process.
+    * Most compilers typically arrange their arguments as in
+    * <compiler name and arguments> <optional destination> <filename>.
+    * This method builds an argument array out that. It should be used
+    * to define computeArguments for those compilers that follow the
+    * argument convention described above.
+    */
+   public static String[] computeTypicalArguments(String[] compilerArgs,
+	String destination, String filename)
+   {
+     return computeTypicalArguments(compilerArgs, null, destination, filename);
+   }
+   /**
+    * This is used to compute the command line for the process.
+    * Most compilers typically arrange their arguments as in
+    * <compiler name and arguments> <optional destination> <filename>.
+    * This method builds an argument array out that. It should be used
+    * to define computeArguments for those compilers that follow the
+    * argument convention described above.
+    */
+   public static String[] computeTypicalArguments(String[] compilerArgs,
+                                                  String classpath,
+                                                  String destination,
+                                                  String filename)
+   {
+     /* length of compiler specific arguments */
+     int len = compilerArgs.length;
+
+     /* length of returned array of arguments */
+     final int arglen = len + (classpath == null ? 0 : 2) +
+       (destination == null ? 0 : 2) + 1;
+
+     /* Allocate String array for computed arguments. */
+     String [] args = new String[arglen];
+
+     /* Fill in compiler arguments. */
+     System.arraycopy(compilerArgs, 0, args, 0, len);
+
+     /* Fill in classpath argument if necessary. */
+     if (classpath != null)
+       {
+         args[len++] = "-classpath";
+         args[len++] = classpath;
+       }
+
+     /* Fill in destination argument if necessary. */
+     if (destination != null)
+      {
+	args[len++] = "-d";
+	args[len++] = destination;
+      }
+
+     /* Fill in filename */
+     args[arglen - 1] = filename;
+
+     return args;
+   }
+
+  public void compile (String name) throws Exception
+  {
+    String[] args = computeArguments (name);
+    Process p = Runtime.getRuntime ().exec (args);
+
+    /* Print compiler output to System.out.  Do this asynchronously so
+       that the compiler never blocks writing to its stdout.  */
+    {
+      final InputStream procin = p.getInputStream();
+      final Thread copier = new Thread() 
+	{
+	  public void run()
+	  {
+	    try
+	      {
+		for (int ch = procin.read(); ch != -1; ch = procin.read())
+		  System.out.print((char) ch);
+	      }
+	    catch (java.io.IOException _)
+	      {
+	      }
+	  }
+	};
+
+      copier.start();
+    }
+
+    /* Collect compiler error output in a buffer.
+     * If compilation fails, it will be used for an error message.
+     */
+    StringBuffer stderr = new StringBuffer();
+    InputStream procerr = p.getErrorStream();
+    for (int ch = procerr.read(); ch != -1; ch = procerr.read())
+      stderr.append((char) ch);
+
+    int result;
+    while (true)
+      {
+	try
+	  {
+	    result = p.waitFor ();
+	    break;
+	  }
+	catch (InterruptedException _)
+	  {
+	  }
+      }
+    if (result != 0)
+      {
+	// FIXME: wrong exception class.
+	throw new Exception ("compiler exited with status: " + result,
+			     new RMICException(stderr.toString()));
+      }
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMIC.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMIC.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMIC.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMIC.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,1225 @@
+/* RMIC.java --
+   Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.rmi.rmic;
+
+import gnu.java.rmi.server.RMIHashes;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+
+public class RMIC
+{
+  private String[] args;
+  private int next;
+  private Exception exception;
+  private boolean keep = false;
+  private boolean need11Stubs = true;
+  private boolean need12Stubs = true;
+  private boolean compile = true;
+  private boolean verbose;
+  private String destination;
+  private PrintWriter out;
+  private TabbedWriter ctrl;
+  private Class clazz;
+  private String classname;
+  private String fullclassname;
+  private String fullstubname;
+  private String fullskelname;
+  private MethodRef[] remotemethods;
+  private String stubname;
+  private String skelname;
+  private ClassLoader loader;
+  private String classpath;
+  private int errorCount = 0;
+  private List mRemoteInterfaces;
+
+  public RMIC(String[] a)
+  {
+    args = a;
+  }
+
+  public static void main(String[] args)
+  {
+    RMIC r = new RMIC(args);
+    if (r.run() == false)
+      {
+	Exception e = r.getException();
+	if (e != null)
+	  e.printStackTrace();
+	else
+	  System.exit(1);
+      }
+  }
+
+  public boolean run()
+  {
+    parseOptions();
+    if (next >= args.length)
+      error("no class names found");
+    for (int i = next; i < args.length; i++)
+      {
+	try
+	  {
+	    if (verbose)
+	      System.out.println("[Processing class " + args[i] + ".class]");
+	    processClass(args[i].replace(File.separatorChar, '.'));
+	  }
+	catch (Exception e)
+	  {
+	    exception = e;
+	    return (false);
+	  }
+      }
+    return (true);
+  }
+
+  private boolean processClass(String cls) throws Exception
+  {
+    // reset class specific vars
+    clazz = null;
+    classname = null;
+    fullclassname = null;
+    remotemethods = null;
+    stubname = null;
+    fullstubname = null;
+    skelname = null;
+    fullskelname = null;
+    mRemoteInterfaces = new ArrayList();
+
+    errorCount = 0;
+
+    analyzeClass(cls);
+
+    if (errorCount > 0)
+      System.exit(1);
+    generateStub();
+    if (need11Stubs)
+      generateSkel();
+    if (compile)
+      {
+	compile(fullstubname);
+	if (need11Stubs)
+	  compile(fullskelname);
+      }
+    if (! keep)
+      {
+	(new File(fullstubname)).delete();
+	if (need11Stubs)
+	  (new File(fullskelname)).delete();
+      }
+    return (true);
+  }
+
+  private void analyzeClass(String cname) throws Exception
+  {
+    if (verbose)
+      System.out.println("[analyze class " + cname + "]");
+    int p = cname.lastIndexOf('.');
+    if (p != -1)
+      classname = cname.substring(p + 1);
+    else
+      classname = cname;
+    fullclassname = cname;
+
+    findClass();
+    findRemoteMethods();
+  }
+
+  public Exception getException()
+  {
+    return (exception);
+  }
+
+  private void findClass() throws ClassNotFoundException
+  {
+    try
+      {
+        ClassLoader cl = (loader == null
+                          ? ClassLoader.getSystemClassLoader()
+                          : loader);
+        clazz = Class.forName(fullclassname, false, cl);
+      }
+    catch (ClassNotFoundException cnfe)
+      {
+        System.err.println(fullclassname + " not found in " + classpath);
+        throw new RuntimeException(cnfe);
+      }
+
+    if (! Remote.class.isAssignableFrom(clazz))
+      {
+        logError("Class " + clazz.getName() + " is not a remote object. "
+                 + "It does not implement an interface that is a "
+                 + "java.rmi.Remote-interface.");
+        throw new RuntimeException
+          ("Class " + clazz.getName() + " is not a remote object. "
+           + "It does not implement an interface that is a "
+           + "java.rmi.Remote-interface.");
+      }
+  }
+
+  private void generateStub() throws IOException
+  {
+    stubname = fullclassname + "_Stub";
+    String stubclassname = classname + "_Stub";
+    fullstubname = (destination == null ? "" : destination + File.separator)
+      + stubname.replace('.', File.separatorChar) + ".java";
+    File file = new File(fullstubname);
+    if (file.getParentFile() != null)
+      file.getParentFile().mkdirs();
+    ctrl =
+      new TabbedWriter(new FileWriter(file));
+    out = new PrintWriter(ctrl);
+
+    if (verbose)
+      System.out.println("[Generating class " + stubname + ".java]");
+
+    out.println("// Stub class generated by rmic - DO NOT EDIT!");
+    out.println();
+    if (fullclassname != classname)
+      {
+	String pname =
+	  fullclassname.substring(0, fullclassname.lastIndexOf('.'));
+	out.println("package " + pname + ";");
+	out.println();
+      }
+
+    out.print("public final class " + stubclassname);
+    ctrl.indent();
+    out.println("extends java.rmi.server.RemoteStub");
+
+    // Output interfaces we implement
+    out.print("implements ");
+    Iterator iter = mRemoteInterfaces.iterator();
+    while (iter.hasNext())
+      {
+	/* Print remote interface. */
+	Class iface = (Class) iter.next();
+	out.print(iface.getName());
+
+	/* Print ", " if more remote interfaces follow. */
+	if (iter.hasNext())
+	  out.print(", ");
+      }
+    ctrl.unindent();
+    out.print("{");
+    ctrl.indent();
+
+    // UID
+    if (need12Stubs)
+      {
+	out.println("private static final long serialVersionUID = 2L;");
+	out.println();
+      }
+
+    // InterfaceHash - don't know how to calculate this - XXX
+    if (need11Stubs)
+      {
+	out.println("private static final long interfaceHash = "
+	            + RMIHashes.getInterfaceHash(clazz) + "L;");
+	out.println();
+	if (need12Stubs)
+	  {
+	    out.println("private static boolean useNewInvoke;");
+	    out.println();
+	  }
+
+	// Operation table
+	out.print("private static final java.rmi.server.Operation[] operations = {");
+
+	ctrl.indent();
+	for (int i = 0; i < remotemethods.length; i++)
+	  {
+	    Method m = remotemethods[i].meth;
+	    out.print("new java.rmi.server.Operation(\"");
+	    out.print(getPrettyName(m.getReturnType()) + " ");
+	    out.print(m.getName() + "(");
+	    // Output signature
+	    Class[] sig = m.getParameterTypes();
+	    for (int j = 0; j < sig.length; j++)
+	      {
+		out.print(getPrettyName(sig[j]));
+		if (j + 1 < sig.length)
+		  out.print(", ");
+	      }
+	    out.print(")\")");
+	    if (i + 1 < remotemethods.length)
+	      out.println(",");
+	  }
+	ctrl.unindent();
+	out.println("};");
+	out.println();
+      }
+
+    // Set of method references.
+    if (need12Stubs)
+      {
+	for (int i = 0; i < remotemethods.length; i++)
+	  {
+	    Method m = remotemethods[i].meth;
+	    out.println("private static java.lang.reflect.Method $method_"
+	                + m.getName() + "_" + i + ";");
+	  }
+
+	// Initialize the methods references.
+	out.println();
+	out.print("static {");
+	ctrl.indent();
+
+	out.print("try {");
+	ctrl.indent();
+
+	if (need11Stubs)
+	  {
+	    out.println("java.rmi.server.RemoteRef.class.getMethod(\"invoke\", new java.lang.Class[] { java.rmi.Remote.class, java.lang.reflect.Method.class, java.lang.Object[].class, long.class });");
+	    out.println("useNewInvoke = true;");
+	  }
+
+	for (int i = 0; i < remotemethods.length; i++)
+	  {
+	    Method m = remotemethods[i].meth;
+	    out.print("$method_" + m.getName() + "_" + i + " = ");
+	    out.print(m.getDeclaringClass().getName() + ".class.getMethod(\""
+	              + m.getName() + "\"");
+	    out.print(", new java.lang.Class[] {");
+	    // Output signature
+	    Class[] sig = m.getParameterTypes();
+	    for (int j = 0; j < sig.length; j++)
+	      {
+		out.print(getPrettyName(sig[j]) + ".class");
+		if (j + 1 < sig.length)
+		  out.print(", ");
+	      }
+	    out.println("});");
+	  }
+	ctrl.unindent();
+	out.println("}");
+	out.print("catch (java.lang.NoSuchMethodException e) {");
+	ctrl.indent();
+	if (need11Stubs)
+	  out.print("useNewInvoke = false;");
+	else
+	  out.print("throw new java.lang.NoSuchMethodError(\"stub class initialization failed\");");
+
+	ctrl.unindent();
+	out.print("}");
+
+	ctrl.unindent();
+	out.println("}");
+	out.println();
+      }
+
+    // Constructors
+    if (need11Stubs)
+      {
+	out.print("public " + stubclassname + "() {");
+	ctrl.indent();
+	out.print("super();");
+	ctrl.unindent();
+	out.println("}");
+      }
+
+    if (need12Stubs)
+      {
+	out.print("public " + stubclassname
+	          + "(java.rmi.server.RemoteRef ref) {");
+	ctrl.indent();
+	out.print("super(ref);");
+	ctrl.unindent();
+	out.println("}");
+      }
+
+    // Method implementations
+    for (int i = 0; i < remotemethods.length; i++)
+      {
+	Method m = remotemethods[i].meth;
+	Class[] sig = m.getParameterTypes();
+	Class returntype = m.getReturnType();
+	Class[] except = sortExceptions(m.getExceptionTypes());
+
+	out.println();
+	out.print("public " + getPrettyName(returntype) + " " + m.getName()
+	          + "(");
+	for (int j = 0; j < sig.length; j++)
+	  {
+	    out.print(getPrettyName(sig[j]));
+	    out.print(" $param_" + j);
+	    if (j + 1 < sig.length)
+	      out.print(", ");
+	  }
+	out.print(") ");
+	out.print("throws ");
+	for (int j = 0; j < except.length; j++)
+	  {
+	    out.print(getPrettyName(except[j]));
+	    if (j + 1 < except.length)
+	      out.print(", ");
+	  }
+	out.print(" {");
+	ctrl.indent();
+
+	out.print("try {");
+	ctrl.indent();
+
+	if (need12Stubs)
+	  {
+	    if (need11Stubs)
+	      {
+		out.print("if (useNewInvoke) {");
+		ctrl.indent();
+	      }
+	    if (returntype != Void.TYPE)
+	      out.print("java.lang.Object $result = ");
+	    out.print("ref.invoke(this, $method_" + m.getName() + "_" + i
+	              + ", ");
+	    if (sig.length == 0)
+	      out.print("null, ");
+	    else
+	      {
+		out.print("new java.lang.Object[] {");
+		for (int j = 0; j < sig.length; j++)
+		  {
+		    if (sig[j] == Boolean.TYPE)
+		      out.print("new java.lang.Boolean($param_" + j + ")");
+		    else if (sig[j] == Byte.TYPE)
+		      out.print("new java.lang.Byte($param_" + j + ")");
+		    else if (sig[j] == Character.TYPE)
+		      out.print("new java.lang.Character($param_" + j + ")");
+		    else if (sig[j] == Short.TYPE)
+		      out.print("new java.lang.Short($param_" + j + ")");
+		    else if (sig[j] == Integer.TYPE)
+		      out.print("new java.lang.Integer($param_" + j + ")");
+		    else if (sig[j] == Long.TYPE)
+		      out.print("new java.lang.Long($param_" + j + ")");
+		    else if (sig[j] == Float.TYPE)
+		      out.print("new java.lang.Float($param_" + j + ")");
+		    else if (sig[j] == Double.TYPE)
+		      out.print("new java.lang.Double($param_" + j + ")");
+		    else
+		      out.print("$param_" + j);
+		    if (j + 1 < sig.length)
+		      out.print(", ");
+		  }
+		out.print("}, ");
+	      }
+	    out.print(Long.toString(remotemethods[i].hash) + "L");
+	    out.print(");");
+
+	    if (returntype != Void.TYPE)
+	      {
+		out.println();
+		out.print("return (");
+		if (returntype == Boolean.TYPE)
+		  out.print("((java.lang.Boolean)$result).booleanValue()");
+		else if (returntype == Byte.TYPE)
+		  out.print("((java.lang.Byte)$result).byteValue()");
+		else if (returntype == Character.TYPE)
+		  out.print("((java.lang.Character)$result).charValue()");
+		else if (returntype == Short.TYPE)
+		  out.print("((java.lang.Short)$result).shortValue()");
+		else if (returntype == Integer.TYPE)
+		  out.print("((java.lang.Integer)$result).intValue()");
+		else if (returntype == Long.TYPE)
+		  out.print("((java.lang.Long)$result).longValue()");
+		else if (returntype == Float.TYPE)
+		  out.print("((java.lang.Float)$result).floatValue()");
+		else if (returntype == Double.TYPE)
+		  out.print("((java.lang.Double)$result).doubleValue()");
+		else
+		  out.print("(" + getPrettyName(returntype) + ")$result");
+		out.print(");");
+	      }
+
+	    if (need11Stubs)
+	      {
+		ctrl.unindent();
+		out.println("}");
+		out.print("else {");
+		ctrl.indent();
+	      }
+	  }
+
+	if (need11Stubs)
+	  {
+	    out.println("java.rmi.server.RemoteCall call = ref.newCall((java.rmi.server.RemoteObject)this, operations, "
+	                + i + ", interfaceHash);");
+	    out.print("try {");
+	    ctrl.indent();
+	    out.print("java.io.ObjectOutput out = call.getOutputStream();");
+	    for (int j = 0; j < sig.length; j++)
+	      {
+		out.println();
+		if (sig[j] == Boolean.TYPE)
+		  out.print("out.writeBoolean(");
+		else if (sig[j] == Byte.TYPE)
+		  out.print("out.writeByte(");
+		else if (sig[j] == Character.TYPE)
+		  out.print("out.writeChar(");
+		else if (sig[j] == Short.TYPE)
+		  out.print("out.writeShort(");
+		else if (sig[j] == Integer.TYPE)
+		  out.print("out.writeInt(");
+		else if (sig[j] == Long.TYPE)
+		  out.print("out.writeLong(");
+		else if (sig[j] == Float.TYPE)
+		  out.print("out.writeFloat(");
+		else if (sig[j] == Double.TYPE)
+		  out.print("out.writeDouble(");
+		else
+		  out.print("out.writeObject(");
+		out.print("$param_" + j + ");");
+	      }
+	    ctrl.unindent();
+	    out.println("}");
+	    out.print("catch (java.io.IOException e) {");
+	    ctrl.indent();
+	    out.print("throw new java.rmi.MarshalException(\"error marshalling arguments\", e);");
+	    ctrl.unindent();
+	    out.println("}");
+	    out.println("ref.invoke(call);");
+	    if (returntype != Void.TYPE)
+	      out.println(getPrettyName(returntype) + " $result;");
+	    out.print("try {");
+	    ctrl.indent();
+	    out.print("java.io.ObjectInput in = call.getInputStream();");
+	    boolean needcastcheck = false;
+	    if (returntype != Void.TYPE)
+	      {
+		out.println();
+		out.print("$result = ");
+		if (returntype == Boolean.TYPE)
+		  out.print("in.readBoolean();");
+		else if (returntype == Byte.TYPE)
+		  out.print("in.readByte();");
+		else if (returntype == Character.TYPE)
+		  out.print("in.readChar();");
+		else if (returntype == Short.TYPE)
+		  out.print("in.readShort();");
+		else if (returntype == Integer.TYPE)
+		  out.print("in.readInt();");
+		else if (returntype == Long.TYPE)
+		  out.print("in.readLong();");
+		else if (returntype == Float.TYPE)
+		  out.print("in.readFloat();");
+		else if (returntype == Double.TYPE)
+		  out.print("in.readDouble();");
+		else
+		  {
+		    if (returntype != Object.class)
+		      out.print("(" + getPrettyName(returntype) + ")");
+		    else
+		      needcastcheck = true;
+		    out.print("in.readObject();");
+		  }
+		out.println();
+		out.print("return ($result);");
+	      }
+	    ctrl.unindent();
+	    out.println("}");
+	    out.print("catch (java.io.IOException e) {");
+	    ctrl.indent();
+	    out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling return\", e);");
+	    ctrl.unindent();
+	    out.println("}");
+	    if (needcastcheck)
+	      {
+		out.print("catch (java.lang.ClassNotFoundException e) {");
+		ctrl.indent();
+		out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling return\", e);");
+		ctrl.unindent();
+		out.println("}");
+	      }
+	    out.print("finally {");
+	    ctrl.indent();
+	    out.print("ref.done(call);");
+	    ctrl.unindent();
+	    out.print("}");
+
+	    if (need12Stubs && need11Stubs)
+	      {
+		ctrl.unindent();
+		out.print("}");
+	      }
+	  }
+
+	ctrl.unindent();
+	out.print("}");
+
+	boolean needgeneral = true;
+	for (int j = 0; j < except.length; j++)
+	  {
+	    out.println();
+	    out.print("catch (" + getPrettyName(except[j]) + " e) {");
+	    ctrl.indent();
+	    out.print("throw e;");
+	    ctrl.unindent();
+	    out.print("}");
+	    if (except[j] == Exception.class)
+	      needgeneral = false;
+	  }
+	if (needgeneral)
+	  {
+	    out.println();
+	    out.print("catch (java.lang.Exception e) {");
+	    ctrl.indent();
+	    out.print("throw new java.rmi.UnexpectedException(\"undeclared checked exception\", e);");
+	    ctrl.unindent();
+	    out.print("}");
+	  }
+
+	ctrl.unindent();
+	out.print("}");
+	out.println();
+      }
+
+    ctrl.unindent();
+    out.println("}");
+
+    out.close();
+  }
+
+  private void generateSkel() throws IOException
+  {
+    skelname = fullclassname + "_Skel";
+    String skelclassname = classname + "_Skel";
+    fullskelname = (destination == null ? "" : destination + File.separator)
+      + skelname.replace('.', File.separatorChar) + ".java";
+    File file = new File(fullskelname);
+    if (file.getParentFile() != null)
+      file.getParentFile().mkdirs();
+    ctrl =
+      new TabbedWriter(new FileWriter(file));
+    out = new PrintWriter(ctrl);
+
+    if (verbose)
+      System.out.println("[Generating class " + skelname + ".java]");
+
+    out.println("// Skel class generated by rmic - DO NOT EDIT!");
+    out.println();
+    if (fullclassname != classname)
+      {
+	String pname =
+	  fullclassname.substring(0, fullclassname.lastIndexOf('.'));
+	out.println("package " + pname + ";");
+	out.println();
+      }
+
+    out.print("public final class " + skelclassname);
+    ctrl.indent();
+
+    // Output interfaces we implement
+    out.print("implements java.rmi.server.Skeleton");
+
+    ctrl.unindent();
+    out.print("{");
+    ctrl.indent();
+
+    // Interface hash - don't know how to calculate this - XXX
+    out.println("private static final long interfaceHash = "
+                + RMIHashes.getInterfaceHash(clazz) + "L;");
+    out.println();
+
+    // Operation table
+    out.print("private static final java.rmi.server.Operation[] operations = {");
+
+    ctrl.indent();
+    for (int i = 0; i < remotemethods.length; i++)
+      {
+	Method m = remotemethods[i].meth;
+	out.print("new java.rmi.server.Operation(\"");
+	out.print(getPrettyName(m.getReturnType()) + " ");
+	out.print(m.getName() + "(");
+	// Output signature
+	Class[] sig = m.getParameterTypes();
+	for (int j = 0; j < sig.length; j++)
+	  {
+	    out.print(getPrettyName(sig[j]));
+	    if (j + 1 < sig.length)
+	      out.print(", ");
+	  }
+	out.print("\")");
+	if (i + 1 < remotemethods.length)
+	  out.println(",");
+      }
+    ctrl.unindent();
+    out.println("};");
+
+    out.println();
+
+    // getOperations method
+    out.print("public java.rmi.server.Operation[] getOperations() {");
+    ctrl.indent();
+    out.print("return ((java.rmi.server.Operation[]) operations.clone());");
+    ctrl.unindent();
+    out.println("}");
+
+    out.println();
+
+    // Dispatch method
+    out.print("public void dispatch(java.rmi.Remote obj, java.rmi.server.RemoteCall call, int opnum, long hash) throws java.lang.Exception {");
+    ctrl.indent();
+
+    out.print("if (opnum < 0) {");
+    ctrl.indent();
+
+    for (int i = 0; i < remotemethods.length; i++)
+      {
+	out.print("if (hash == " + Long.toString(remotemethods[i].hash)
+	          + "L) {");
+	ctrl.indent();
+	out.print("opnum = " + i + ";");
+	ctrl.unindent();
+	out.println("}");
+	out.print("else ");
+      }
+    out.print("{");
+    ctrl.indent();
+    out.print("throw new java.rmi.server.SkeletonMismatchException(\"interface hash mismatch\");");
+    ctrl.unindent();
+    out.print("}");
+
+    ctrl.unindent();
+    out.println("}");
+    out.print("else if (hash != interfaceHash) {");
+    ctrl.indent();
+    out.print("throw new java.rmi.server.SkeletonMismatchException(\"interface hash mismatch\");");
+    ctrl.unindent();
+    out.println("}");
+
+    out.println();
+
+    out.println(fullclassname + " server = (" + fullclassname + ")obj;");
+    out.println("switch (opnum) {");
+
+    // Method dispatch
+    for (int i = 0; i < remotemethods.length; i++)
+      {
+	Method m = remotemethods[i].meth;
+	out.println("case " + i + ":");
+	out.print("{");
+	ctrl.indent();
+
+	Class[] sig = m.getParameterTypes();
+	for (int j = 0; j < sig.length; j++)
+	  {
+	    out.print(getPrettyName(sig[j]));
+	    out.println(" $param_" + j + ";");
+	  }
+
+	out.print("try {");
+	boolean needcastcheck = false;
+	ctrl.indent();
+	out.println("java.io.ObjectInput in = call.getInputStream();");
+	for (int j = 0; j < sig.length; j++)
+	  {
+	    out.print("$param_" + j + " = ");
+	    if (sig[j] == Boolean.TYPE)
+	      out.print("in.readBoolean();");
+	    else if (sig[j] == Byte.TYPE)
+	      out.print("in.readByte();");
+	    else if (sig[j] == Character.TYPE)
+	      out.print("in.readChar();");
+	    else if (sig[j] == Short.TYPE)
+	      out.print("in.readShort();");
+	    else if (sig[j] == Integer.TYPE)
+	      out.print("in.readInt();");
+	    else if (sig[j] == Long.TYPE)
+	      out.print("in.readLong();");
+	    else if (sig[j] == Float.TYPE)
+	      out.print("in.readFloat();");
+	    else if (sig[j] == Double.TYPE)
+	      out.print("in.readDouble();");
+	    else
+	      {
+		if (sig[j] != Object.class)
+		  {
+		    out.print("(" + getPrettyName(sig[j]) + ")");
+		    needcastcheck = true;
+		  }
+		out.print("in.readObject();");
+	      }
+	    out.println();
+	  }
+	ctrl.unindent();
+	out.println("}");
+	out.print("catch (java.io.IOException e) {");
+	ctrl.indent();
+	out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling arguments\", e);");
+	ctrl.unindent();
+	out.println("}");
+	if (needcastcheck)
+	  {
+	    out.print("catch (java.lang.ClassCastException e) {");
+	    ctrl.indent();
+	    out.print("throw new java.rmi.UnmarshalException(\"error unmarshalling arguments\", e);");
+	    ctrl.unindent();
+	    out.println("}");
+	  }
+	out.print("finally {");
+	ctrl.indent();
+	out.print("call.releaseInputStream();");
+	ctrl.unindent();
+	out.println("}");
+
+	Class returntype = m.getReturnType();
+	if (returntype != Void.TYPE)
+	  out.print(getPrettyName(returntype) + " $result = ");
+	out.print("server." + m.getName() + "(");
+	for (int j = 0; j < sig.length; j++)
+	  {
+	    out.print("$param_" + j);
+	    if (j + 1 < sig.length)
+	      out.print(", ");
+	  }
+	out.println(");");
+
+	out.print("try {");
+	ctrl.indent();
+	out.print("java.io.ObjectOutput out = call.getResultStream(true);");
+	if (returntype != Void.TYPE)
+	  {
+	    out.println();
+	    if (returntype == Boolean.TYPE)
+	      out.print("out.writeBoolean($result);");
+	    else if (returntype == Byte.TYPE)
+	      out.print("out.writeByte($result);");
+	    else if (returntype == Character.TYPE)
+	      out.print("out.writeChar($result);");
+	    else if (returntype == Short.TYPE)
+	      out.print("out.writeShort($result);");
+	    else if (returntype == Integer.TYPE)
+	      out.print("out.writeInt($result);");
+	    else if (returntype == Long.TYPE)
+	      out.print("out.writeLong($result);");
+	    else if (returntype == Float.TYPE)
+	      out.print("out.writeFloat($result);");
+	    else if (returntype == Double.TYPE)
+	      out.print("out.writeDouble($result);");
+	    else
+	      out.print("out.writeObject($result);");
+	  }
+	ctrl.unindent();
+	out.println("}");
+	out.print("catch (java.io.IOException e) {");
+	ctrl.indent();
+	out.print("throw new java.rmi.MarshalException(\"error marshalling return\", e);");
+	ctrl.unindent();
+	out.println("}");
+	out.print("break;");
+
+	ctrl.unindent();
+	out.println("}");
+	out.println();
+      }
+
+    out.print("default:");
+    ctrl.indent();
+    out.print("throw new java.rmi.UnmarshalException(\"invalid method number\");");
+    ctrl.unindent();
+    out.print("}");
+
+    ctrl.unindent();
+    out.print("}");
+
+    ctrl.unindent();
+    out.println("}");
+
+    out.close();
+  }
+
+  private void compile(String name) throws Exception
+  {
+    Compiler comp = Compiler.getInstance();
+    if (verbose)
+      System.out.println("[Compiling class " + name + "]");
+    comp.setDestination(destination);
+    if (classpath != null)
+      comp.setClasspath(classpath);
+    comp.compile(name);
+  }
+
+  private static String getPrettyName(Class cls)
+  {
+    StringBuffer str = new StringBuffer();
+    for (int count = 0;; count++)
+      {
+	if (! cls.isArray())
+	  {
+	    str.append(cls.getName());
+	    for (; count > 0; count--)
+	      str.append("[]");
+	    return (str.toString());
+	  }
+	cls = cls.getComponentType();
+      }
+  }
+
+/**
+ * Sort exceptions so the most general go last.
+ */
+  private Class[] sortExceptions(Class[] except)
+  {
+    for (int i = 0; i < except.length; i++)
+      {
+	for (int j = i + 1; j < except.length; j++)
+	  {
+	    if (except[i].isAssignableFrom(except[j]))
+	      {
+		Class tmp = except[i];
+		except[i] = except[j];
+		except[j] = tmp;
+	      }
+	  }
+      }
+    return (except);
+  }
+
+/**
+ * Process the options until we find the first argument.
+ */
+  private void parseOptions()
+  {
+    for (;;)
+      {
+	if (next >= args.length || args[next].charAt(0) != '-')
+	  break;
+	String arg = args[next];
+	next++;
+
+	// Accept `--' options if they look long enough.
+	if (arg.length() > 3 && arg.charAt(0) == '-' && arg.charAt(1) == '-')
+	  arg = arg.substring(1);
+
+	if (arg.equals("-keep"))
+	  keep = true;
+	else if (arg.equals("-keepgenerated"))
+	  keep = true;
+	else if (arg.equals("-v1.1"))
+	  {
+	    need11Stubs = true;
+	    need12Stubs = false;
+	  }
+	else if (arg.equals("-vcompat"))
+	  {
+	    need11Stubs = true;
+	    need12Stubs = true;
+	  }
+	else if (arg.equals("-v1.2"))
+	  {
+	    need11Stubs = false;
+	    need12Stubs = true;
+	  }
+	else if (arg.equals("-g"))
+	  {
+	  }
+	else if (arg.equals("-depend"))
+	  {
+	  }
+	else if (arg.equals("-nowarn"))
+	  {
+	  }
+	else if (arg.equals("-verbose"))
+	  verbose = true;
+	else if (arg.equals("-nocompile"))
+	  compile = false;
+	else if (arg.equals("-classpath"))
+          {
+            classpath = args[next];
+            next++;
+            StringTokenizer st =
+              new StringTokenizer(classpath, File.pathSeparator);
+            URL[] u = new URL[st.countTokens()];
+            for (int i = 0; i < u.length; i++)
+              {
+                String path = st.nextToken();
+                File f = new File(path);
+                try
+                  {
+                    u[i] = f.toURL();
+                  }
+                catch (MalformedURLException mue)
+                  {
+                    error("malformed classpath component " + path);
+                  }
+              }
+            loader = new URLClassLoader(u);
+          }
+	else if (arg.equals("-help"))
+	  usage();
+	else if (arg.equals("-version"))
+	  {
+	    System.out.println("rmic (" + System.getProperty("java.vm.name")
+	                       + ") " + System.getProperty("java.vm.version"));
+	    System.out.println();
+	    System.out.println("Copyright 2006 Free Software Foundation, Inc.");
+	    System.out.println("This is free software; see the source for copying conditions.  There is NO");
+	    System.out.println("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.");
+	    System.exit(0);
+	  }
+	else if (arg.equals("-d"))
+	  {
+	    destination = args[next];
+	    next++;
+	  }
+	else if (arg.charAt(1) == 'J')
+	  {
+	  }
+	else
+	  error("unrecognized option `" + arg + "'");
+      }
+  }
+
+  private void findRemoteMethods() {
+    List rmeths = new ArrayList();
+    for (Class cur = clazz; cur != null; cur = cur.getSuperclass())
+      {
+        Class[] interfaces = cur.getInterfaces();
+        for (int i = 0; i < interfaces.length; i++)
+          {
+            if (java.rmi.Remote.class.isAssignableFrom(interfaces[i]))
+              {
+                Class remoteInterface = interfaces[i];
+                if (verbose)
+                  System.out.println
+                    ("[implements " + remoteInterface.getName() + "]");
+
+                // check if the methods declare RemoteExceptions
+                Method[] meths = remoteInterface.getMethods();
+                for (int j = 0; j < meths.length; j++)
+                  {
+                    Method m = meths[j];
+                    Class[] exs = m.getExceptionTypes();
+
+                    boolean throwsRemote = false;
+                    for (int k = 0; k < exs.length; k++)
+                      {
+                        if (exs[k].isAssignableFrom(RemoteException.class))
+                          throwsRemote = true;
+                      }
+
+                    if (! throwsRemote)
+                      {
+                        logError("Method " + m
+                                 + " does not throw a RemoteException");
+                        continue;
+                      }
+
+                    rmeths.add(m);
+                  }
+
+                mRemoteInterfaces.add(remoteInterface);
+              }
+          }
+      }
+
+    // intersect exceptions for doubly inherited methods
+    boolean[] skip = new boolean[rmeths.size()];
+    for (int i = 0; i < skip.length; i++)
+      skip[i] = false;
+    List methrefs = new ArrayList();
+    for (int i = 0; i < rmeths.size(); i++)
+      {
+        if (skip[i]) continue;
+        Method current = (Method) rmeths.get(i);
+        MethodRef ref = new MethodRef(current);
+        for (int j = i+1; j < rmeths.size(); j++)
+          {
+            Method other = (Method) rmeths.get(j);
+            if (ref.isMatch(other))
+              {
+                ref.intersectExceptions(other);
+                skip[j] = true;
+              }
+          }
+        methrefs.add(ref);
+      }
+
+    // Convert into a MethodRef array and sort them
+    remotemethods = (MethodRef[])
+      methrefs.toArray(new MethodRef[methrefs.size()]);
+    Arrays.sort(remotemethods);
+  }
+
+/**
+ * Prints an error to System.err and increases the error count.
+ * @param theError
+ */
+  private void logError(String theError)
+  {
+    errorCount++;
+    System.err.println("error:" + theError);
+  }
+
+  private static void error(String message)
+  {
+    System.err.println("rmic: " + message);
+    System.err.println("Try `rmic --help' for more information.");
+    System.exit(1);
+  }
+
+  private static void usage()
+  {
+    System.out.println("Usage: rmic [OPTION]... CLASS...\n" + "\n"
+                       + "	-keep 			Don't delete any intermediate files\n"
+                       + "	-keepgenerated 		Same as -keep\n"
+                       + "	-v1.1			Java 1.1 style stubs only\n"
+                       + "	-vcompat		Java 1.1 & Java 1.2 stubs\n"
+                       + "	-v1.2			Java 1.2 style stubs only\n"
+                       + "	-g *			Generated debugging information\n"
+                       + "	-depend *		Recompile out-of-date files\n"
+                       + "	-nowarn	*		Suppress warning messages\n"
+                       + "	-nocompile		Don't compile the generated files\n"
+                       + "	-verbose 		Output what's going on\n"
+                       + "	-classpath <path> *	Use given path as classpath\n"
+                       + "	-d <directory> 		Specify where to place generated classes\n"
+                       + "	-J<flag> *		Pass flag to Java\n"
+                       + "	-help			Print this help, then exit\n"
+                       + "	-version		Print version number, then exit\n" + "\n"
+                       + "  * Option currently ignored\n"
+                       + "Long options can be used with `--option' form as well.");
+    System.exit(0);
+  }
+
+  private static class MethodRef
+    implements Comparable
+  {
+    Method meth;
+    long hash;
+    List exceptions;
+    private String sig;
+
+    MethodRef(Method m)
+    {
+      meth = m;
+      sig = m.getName(); // XXX should be full signature used to compute hash
+      hash = RMIHashes.getMethodHash(m);
+      // add exceptions removing subclasses
+      exceptions = removeSubclasses(m.getExceptionTypes());
+    }
+
+    public int compareTo(Object obj)
+    {
+      MethodRef that = (MethodRef) obj;
+      int name = this.meth.getName().compareTo(that.meth.getName());
+      if (name == 0) {
+        return this.sig.compareTo(that.sig);
+      }
+      return name;
+    }
+
+    public boolean isMatch(Method m)
+    {
+      if (!meth.getName().equals(m.getName()))
+        return false;
+
+      Class[] params1 = meth.getParameterTypes();
+      Class[] params2 = m.getParameterTypes();
+      if (params1.length != params2.length)
+        return false;
+
+      for (int i = 0; i < params1.length; i++)
+        if (!params1[i].equals(params2[i])) return false;
+
+      return true;
+    }
+
+    private static List removeSubclasses(Class[] classes)
+    {
+      List list = new ArrayList();
+      for (int i = 0; i < classes.length; i++)
+        {
+          Class candidate = classes[i];
+          boolean add = true;
+          for (int j = 0; j < classes.length; j++)
+            {
+              if (classes[j].equals(candidate))
+                continue;
+              else if (classes[j].isAssignableFrom(candidate))
+                add = false;
+            }
+          if (add) list.add(candidate);
+        }
+
+      return list;
+    }
+
+    public void intersectExceptions(Method m)
+    {
+      List incoming = removeSubclasses(m.getExceptionTypes());
+
+      List updated = new ArrayList();
+
+      for (int i = 0; i < exceptions.size(); i++)
+        {
+          Class outer = (Class) exceptions.get(i);
+          boolean addOuter = false;
+          for (int j = 0; j < incoming.size(); j++)
+            {
+              Class inner = (Class) incoming.get(j);
+
+              if (inner.equals(outer) || inner.isAssignableFrom(outer))
+                addOuter = true;
+              else if (outer.isAssignableFrom(inner))
+                updated.add(inner);
+            }
+
+          if (addOuter)
+            updated.add(outer);
+        }
+
+      exceptions = updated;
+    }
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMICException.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMICException.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMICException.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/RMICException.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,66 @@
+/*
+  Copyright (c) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+/**
+ * Thrown by the underlying compiler used by RMIC when it fails to compile a file.
+ *
+ * @author Dalibor Topic <robilad at kaffe.org>
+ */
+
+public class RMICException extends Exception {
+	/**
+	 * Create an exception with a message. The cause remains uninitialized.
+	 *
+	 * @param s the message string
+	 * @see #initCause(Throwable)
+	 */
+	public RMICException(String message) {
+		super(message);
+	}
+
+	/**
+	 * Create an exception with a message and a cause.
+	 *
+	 * @param s the message string
+	 * @param cause the cause of this exception
+	 */
+	public RMICException(String message, Throwable cause) {
+		super(message, cause);
+	}
+}

Added: llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/TabbedWriter.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/TabbedWriter.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/TabbedWriter.java (added)
+++ llvm-gcc-4.2/trunk/libjava/gnu/java/rmi/rmic/TabbedWriter.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,100 @@
+/*
+  Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.rmi.rmic;
+
+import java.io.FilterWriter;
+import java.io.Writer;
+import java.io.IOException;
+
+public class TabbedWriter
+	extends FilterWriter {
+
+private static final String defaultTabstring = "    ";
+private char[] tabstring; 
+private int tabs;
+
+public TabbedWriter(Writer o) {
+	this(o, defaultTabstring);
+}
+
+public TabbedWriter(Writer o, String str) {
+	super(o);
+	tabs = 0;
+	tabstring = str.toCharArray();
+}
+
+public void write(int c) throws IOException {
+	out.write(c);
+	if (c == '\n') {
+		for (int i = 0; i < tabs; i++) {
+			out.write(tabstring, 0, tabstring.length);
+		}
+	}
+}
+
+public void write(char cbuf[], int off, int len) throws IOException {
+	for (int i = 0; i < len; i++) {
+		write((int)cbuf[i+off]);
+	}
+}
+
+public void write(String str, int off, int len) throws IOException {
+	write(str.toCharArray(), off, len);
+}
+
+public void unindent() throws IOException {
+	unindent(1);
+}
+
+public void unindent(int nr) throws IOException {
+	indent(-nr);
+}
+
+public void indent() throws IOException {
+	indent(1);
+}
+
+public void indent(int nr) throws IOException {
+	tabs += nr;
+	if (tabs < 0) {
+		tabs = 0;
+	}
+	write((int)'\n');
+}
+
+}

Added: llvm-gcc-4.2/trunk/libjava/include/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/Makefile.am?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/include/Makefile.am Thu Nov  8 16:56:19 2007
@@ -0,0 +1,15 @@
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = foreign
+
+# 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@
+
+tool_include_dir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
+## The 'jni.h' here is fairly hacky, but it is simpler than trying to
+## tell Classpath about our peculiar install directory.
+tool_include__HEADERS = jni_md.h ../classpath/include/jawt.h \
+	../classpath/include/jawt_md.h jvmpi.h ../classpath/include/jni.h

Added: llvm-gcc-4.2/trunk/libjava/include/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/Makefile.in?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/include/Makefile.in Thu Nov  8 16:56:19 2007
@@ -0,0 +1,559 @@
+# 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 = include
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(srcdir)/config.h.in $(tool_include__HEADERS)
+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 = config.h $(top_builddir)/gcj/libgcj-config.h
+CONFIG_CLEAN_FILES = platform.h java-gc.h java-threads.h java-signal.h \
+	java-signal-aux.h
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(tool_include_dir)"
+tool_include_HEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(tool_include__HEADERS)
+ETAGS = etags
+CTAGS = ctags
+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
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+tool_include_dir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/include
+tool_include__HEADERS = jni_md.h ../classpath/include/jawt.h \
+	../classpath/include/jawt_md.h jvmpi.h ../classpath/include/jni.h
+
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) 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  include/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  include/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
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status include/config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+install-tool_include_HEADERS: $(tool_include__HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(tool_include_dir)" || $(mkdir_p) "$(DESTDIR)$(tool_include_dir)"
+	@list='$(tool_include__HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(tool_include_HEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(tool_include_dir)/$$f'"; \
+	  $(tool_include_HEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(tool_include_dir)/$$f"; \
+	done
+
+uninstall-tool_include_HEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(tool_include__HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(tool_include_dir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(tool_include_dir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/../classpath/include
+	@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
+check: check-am
+all-am: Makefile $(HEADERS) config.h
+installdirs:
+	for dir in "$(DESTDIR)$(tool_include_dir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+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-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-tool_include_HEADERS
+
+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 uninstall-tool_include_HEADERS
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool ctags distclean distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags 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 \
+	install-tool_include_HEADERS installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags uninstall uninstall-am uninstall-info-am \
+	uninstall-tool_include_HEADERS
+
+# 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/include/boehm-gc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/boehm-gc.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/boehm-gc.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/boehm-gc.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+// -*- c++ -*-
+// boehm-gc.h - Defines for Boehm collector.
+
+/* Copyright (C) 1998, 1999, 2002, 2004, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#ifndef __JV_BOEHM_GC__
+#define __JV_BOEHM_GC__
+
+#define JV_MARKOBJ_DECL void *::_Jv_MarkObj (void *, void *, void *, void *)
+#define JV_MARKARRAY_DECL void *::_Jv_MarkArray (void *, void *, void *, void *)
+
+extern "C"
+{
+  void *_Jv_MarkObj (void *, void *, void *, void *);
+  void *_Jv_MarkArray (void *, void *, void *, void *);
+  void _Jv_RegisterLibForGc (const void *);
+}
+
+// Enough stuff to inline _Jv_AllocObj.  Ugly.
+#include <gcj/javaprims.h>
+#include <java/lang/Class.h>
+#include <string.h>
+
+#include <gc_ext_config.h> // for THREAD_LOCAL_ALLOC
+
+extern "C" void * GC_gcj_malloc(size_t, void *);
+extern "C" void * GC_malloc_atomic(size_t);
+#ifdef THREAD_LOCAL_ALLOC
+extern "C" void * GC_local_gcj_malloc(size_t, void *);
+extern "C" void * GC_local_malloc_atomic(size_t);
+#endif
+
+#ifndef LIBGCJ_GC_DEBUG
+
+inline void *
+_Jv_AllocObj (jsize size, jclass klass)
+{
+  // This should call GC_GCJ_MALLOC, but that would involve
+  // including gc.h.
+#ifdef THREAD_LOCAL_ALLOC
+  return GC_local_gcj_malloc (size, klass->vtable);
+#else 
+  return GC_gcj_malloc (size, klass->vtable);
+#endif
+}
+
+inline void *
+_Jv_AllocPtrFreeObj (jsize size, jclass klass)
+{
+#ifdef JV_HASH_SYNCHRONIZATION
+# ifdef THREAD_LOCAL_ALLOC
+    void * obj = GC_local_malloc_atomic(size);
+# else
+    void * obj = GC_malloc_atomic(size);
+# endif
+  *((_Jv_VTable **) obj) = klass->vtable;
+#else
+# ifdef THREAD_LOCAL_ALLOC
+    void * obj = GC_local_gcj_malloc(size, klass->vtable);
+# else
+    void * obj = GC_gcj_malloc(size, klass->vtable);
+# endif
+#endif
+  return obj;
+}
+
+#else /* LIBGCJ_GC_DEBUG */
+
+void *
+_Jv_AllocObj (jsize size, jclass klass);
+
+void *
+_Jv_AllocPtrFreeObj (jsize size, jclass klass);
+
+#endif /* LIBGCJ_GC_DEBUG */
+
+void _Jv_GCAttachThread ();
+
+void _Jv_GCDetachThread ();
+
+// _Jv_AllocBytes (jsize size) should go here, too.  But clients don't
+// usually include this header.
+
+// Suspend the given thread. This includes suspending the calling thread.
+extern "C" void _Jv_SuspendThread (_Jv_Thread_t *);
+
+// Resume a suspended thread.
+extern "C" void _Jv_ResumeThread (_Jv_Thread_t *);
+
+#endif /* __JV_BOEHM_GC__ */

Added: llvm-gcc-4.2/trunk/libjava/include/config.h.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/config.h.in?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/config.h.in (added)
+++ llvm-gcc-4.2/trunk/libjava/include/config.h.in Thu Nov  8 16:56:19 2007
@@ -0,0 +1,489 @@
+/* include/config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define this if you want runtime debugging enabled. */
+#undef DEBUG
+
+/* Define if system properties shouldn't be read from
+   getenv("GCJ_PROPERTIES"). */
+#undef DISABLE_GETENV_PROPERTIES
+
+/* Define if java.net native functions should be stubbed out. */
+#undef DISABLE_JAVA_NET
+
+/* Define if we should ignore arguments to main(). */
+#undef DISABLE_MAIN_ARGS
+
+/* Define if you're running eCos. */
+#undef ECOS
+
+/* Define if you are using JVMPI. */
+#undef ENABLE_JVMPI
+
+/* Short GCJ version ID */
+#undef GCJVERSION
+
+/* Define if gethostbyaddr_r returns 'int'. */
+#undef GETHOSTBYADDR_R_RETURNS_INT
+
+/* Define if gethostbyname_r returns 'int'. */
+#undef GETHOSTBYNAME_R_RETURNS_INT
+
+/* Define to 1 if you have the `access' function. */
+#undef HAVE_ACCESS
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define if Boehm GC in use. */
+#undef HAVE_BOEHM_GC
+
+/* Define if you have u_int32_t */
+#undef HAVE_BSD_INT32_DEFINED
+
+/* Define to 1 if you have the <bstring.h> header file. */
+#undef HAVE_BSTRING_H
+
+/* Define to 1 if you have the `chmod' function. */
+#undef HAVE_CHMOD
+
+/* Define if you have clock_gettime() */
+#undef HAVE_CLOCK_GETTIME
+
+/* Define to 1 if you have the <dirent.h> header file. */
+#undef HAVE_DIRENT_H
+
+/* Define if you have dladdr() */
+#undef HAVE_DLADDR
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if dlopen is available */
+#undef HAVE_DLOPEN
+
+/* Define to 1 if you have the <execinfo.h> header file. */
+#undef HAVE_EXECINFO_H
+
+/* Define to 1 if you have the `execvp' function. */
+#undef HAVE_EXECVP
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `fork' function. */
+#undef HAVE_FORK
+
+/* Define to 1 if you have the `fstat' function. */
+#undef HAVE_FSTAT
+
+/* Define to 1 if you have the `fsync' function. */
+#undef HAVE_FSYNC
+
+/* Define to 1 if you have the `ftime' function. */
+#undef HAVE_FTIME
+
+/* Define to 1 if you have the `ftruncate' function. */
+#undef HAVE_FTRUNCATE
+
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
+/* Define if you have the 'gethostbyaddr_r' function. */
+#undef HAVE_GETHOSTBYADDR_R
+
+/* Define if you have the 'gethostbyname_r' function. */
+#undef HAVE_GETHOSTBYNAME_R
+
+/* Define if you have the 'gethostname' function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define if gethostname is declared in <unistd.h>. */
+#undef HAVE_GETHOSTNAME_DECL
+
+/* Define to 1 if you have the `getifaddrs' function. */
+#undef HAVE_GETIFADDRS
+
+/* Define if _Unwind_GetIPInfo is available. */
+#undef HAVE_GETIPINFO
+
+/* Define to 1 if you have the `getpwuid_r' function. */
+#undef HAVE_GETPWUID_R
+
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the `gmtime_r' function. */
+#undef HAVE_GMTIME_R
+
+/* Define if you have the iconv() function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the <ifaddrs.h> header file. */
+#undef HAVE_IFADDRS_H
+
+/* Define if inet6 structures are defined in netinet/in.h. */
+#undef HAVE_INET6
+
+/* Define to 1 if you have the `inet_addr' function. */
+#undef HAVE_INET_ADDR
+
+/* Define to 1 if you have the `inet_aton' function. */
+#undef HAVE_INET_ATON
+
+/* Define to 1 if you have the `inet_ntoa' function. */
+#undef HAVE_INET_NTOA
+
+/* Define to 1 if you have the `inet_pton' function. */
+#undef HAVE_INET_PTON
+
+/* Define if you have int32_t and uint32_t. */
+#undef HAVE_INT32_DEFINED
+
+/* Define if <inttypes.h> is available */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if 'in_addr_t' is defined in sys/types.h or netinet/in.h. */
+#undef HAVE_IN_ADDR_T
+
+/* Define to 1 if you have the `ioctl' function. */
+#undef HAVE_IOCTL
+
+/* Define to 1 if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define is you have 'localtime' in <time.h> */
+#undef HAVE_LOCALTIME
+
+/* Define to 1 if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define to 1 if you have the `memcpy' function. */
+#undef HAVE_MEMCPY
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkdir' function. */
+#undef HAVE_MKDIR
+
+/* Define is you have 'mktime' in <time.h> */
+#undef HAVE_MKTIME
+
+/* Define to 1 if you have the `mmap' function. */
+#undef HAVE_MMAP
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <net/if.h> header file. */
+#undef HAVE_NET_IF_H
+
+/* Define to 1 if you have the `nl_langinfo' function. */
+#undef HAVE_NL_LANGINFO
+
+/* Define to 1 if you have the `open' function. */
+#undef HAVE_OPEN
+
+/* Define to 1 if you have the `opendir' function. */
+#undef HAVE_OPENDIR
+
+/* Define to 1 if you have the `pipe' function. */
+#undef HAVE_PIPE
+
+/* Define if you have /proc/self/exe */
+#undef HAVE_PROC_SELF_EXE
+
+/* Define if using POSIX threads that have the mutexattr functions. */
+#undef HAVE_PTHREAD_MUTEXATTR_INIT
+
+/* Define to 1 if you have the `pthread_mutexattr_setkind_np' function. */
+#undef HAVE_PTHREAD_MUTEXATTR_SETKIND_NP
+
+/* Define to 1 if you have the `pthread_mutexattr_settype' function. */
+#undef HAVE_PTHREAD_MUTEXATTR_SETTYPE
+
+/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define to 1 if you have the `readdir_r' function. */
+#undef HAVE_READDIR_R
+
+/* Define to 1 if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define to 1 if you have the `rename' function. */
+#undef HAVE_RENAME
+
+/* Define to 1 if you have the `rmdir' function. */
+#undef HAVE_RMDIR
+
+/* Define to 1 if you have the `sched_yield' function. */
+#undef HAVE_SCHED_YIELD
+
+/* Define to 1 if you have the `select' function. */
+#undef HAVE_SELECT
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the `sleep' function. */
+#undef HAVE_SLEEP
+
+/* Define it socklen_t typedef is in sys/socket.h. */
+#undef HAVE_SOCKLEN_T
+
+/* Define to 1 if you have the `stat' function. */
+#undef HAVE_STAT
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if struct hostent_data is defined in netdb.h */
+#undef HAVE_STRUCT_HOSTENT_DATA
+
+/* Define if struct ipv6_mreq is defined in netinet/in.h. */
+#undef HAVE_STRUCT_IPV6_MREQ
+
+/* Define if struct ip_mreq is defined in netinet/in.h. */
+#undef HAVE_STRUCT_IP_MREQ
+
+/* Define to 1 if `tm_zone' is member of `struct tm'. */
+#undef HAVE_STRUCT_TM_TM_ZONE
+
+/* Define to 1 if you have the <sys/config.h> header file. */
+#undef HAVE_SYS_CONFIG_H
+
+/* Define to 1 if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/rw_lock.h> header file. */
+#undef HAVE_SYS_RW_LOCK_H
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the `time' function. */
+#undef HAVE_TIME
+
+/* Define if global 'timezone' exists. */
+#undef HAVE_TIMEZONE
+
+/* Define to 1 if the target supports thread-local storage. */
+#undef HAVE_TLS
+
+/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
+   `HAVE_STRUCT_TM_TM_ZONE' instead. */
+#undef HAVE_TM_ZONE
+
+/* Define to 1 if you don't have `tm_zone' but do have the external array
+   `tzname'. */
+#undef HAVE_TZNAME
+
+/* Define to 1 if you have the `uname' function. */
+#undef HAVE_UNAME
+
+/* Define if your platform has the global _timezone variable. */
+#undef HAVE_UNDERSCORE_TIMEZONE
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `unlink' function. */
+#undef HAVE_UNLINK
+
+/* Define to 1 if you have the `usleep' function. */
+#undef HAVE_USLEEP
+
+/* Define if usleep is declared in <unistd.h>. */
+#undef HAVE_USLEEP_DECL
+
+/* Define to 1 if you have the `utime' function. */
+#undef HAVE_UTIME
+
+/* Define to 1 if you have the file `AC_File'. */
+#undef HAVE__PROC_SELF_EXE
+
+/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST
+
+/* Define if you want a bytecode interpreter. */
+#undef INTERPRETER
+
+/* API compatibility version string */
+#undef JV_API_VERSION
+
+/* Define if hash synchronization is in use */
+#undef JV_HASH_SYNCHRONIZATION
+
+/* Define if <inttypes.h> is available */
+#undef JV_HAVE_INTTYPES_H
+
+/* Indicate that linker is not able to 8-byte align static data */
+#undef JV_LINKER_CANNOT_8BYTE_ALIGN_STATICS
+
+/* Compatibility version string */
+#undef JV_VERSION
+
+/* Define if we want to use debug calls into the garbage collector. */
+#undef LIBGCJ_GC_DEBUG
+
+/* Define if using POSIX threads on Linux. */
+#undef LINUX_THREADS
+
+/* Define to the name of the environment variable that determines the dynamic
+   library search path. */
+#undef LTDL_SHLIBPATH_VAR
+
+/* Define if MinGW libgcj uses the Windows UNICODE OS API. */
+#undef MINGW_LIBGCJ_UNICODE
+
+/* Define if getuid() and friends are missing. */
+#undef NO_GETUID
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define if pthread_mutex_t has m_count member. */
+#undef PTHREAD_MUTEX_HAVE_M_COUNT
+
+/* Define if pthread_mutex_t has __m_count member. */
+#undef PTHREAD_MUTEX_HAVE___M_COUNT
+
+/* The size of a `void *', as computed by sizeof. */
+#undef SIZEOF_VOID_P
+
+/* Define if the compiler is configured for setjmp/longjmp exceptions. */
+#undef SJLJ_EXCEPTIONS
+
+/* Define if if the synchronization code should try to avoid pthread_self
+   calls by caching thread IDs in a hashtable. */
+#undef SLOW_PTHREAD_SELF
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if struct tm has tm_gmtoff field. */
+#undef STRUCT_TM_HAS_GMTOFF
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+#undef TM_IN_SYS_TIME
+
+/* Define if we're to use libffi. */
+#undef USE_LIBFFI
+
+/* Define if libltdl is in use. */
+#undef USE_LTDL
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to 1 if your processor stores words with the most significant byte
+   first (like Motorola and SPARC, unlike Intel and VAX). */
+#undef WORDS_BIGENDIAN
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Required define if using POSIX threads */
+#undef _POSIX_PTHREAD_SEMANTICS
+
+/* Required define if using POSIX threads */
+#undef _REENTRANT
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef ssize_t

Added: llvm-gcc-4.2/trunk/libjava/include/darwin-signal.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/darwin-signal.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/darwin-signal.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/darwin-signal.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,51 @@
+/* darwin-signal.h - Catch runtime signals and turn them into exceptions,
+   on a Darwin system.  */
+
+/* Copyright (C) 2004  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+/* This file is really more of a specification.  The rest of the system
+   should be arranged so that this Just Works.  */
+
+#ifndef JAVA_SIGNAL_H
+# define JAVA_SIGNAL_H 1
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <signal.h>
+
+typedef void (* SIG_PF)(int);
+
+# define HANDLE_SEGV 1
+# undef HANDLE_FPE
+
+# define SIGNAL_HANDLER(_name)					\
+  static void _name (int _dummy __attribute__ ((unused)))
+
+# define MAKE_THROW_FRAME(_exception)
+
+# define INIT_SEGV				\
+  do {						\
+      struct sigaction sa;			\
+      sa.sa_handler = catch_segv;		\
+      sigemptyset (&sa.sa_mask);		\
+      sa.sa_flags = SA_NODEFER;			\
+      sigaction (SIGBUS, &sa, NULL);		\
+      sigaction (SIGSEGV, &sa, NULL);		\
+    } while (0)
+
+# define INIT_FPE				\
+  do {						\
+      struct sigaction sa;			\
+      sa.sa_handler = catch_fpe;		\
+      sigemptyset (&sa.sa_mask);		\
+      sa.sa_flags = SA_NODEFER;			\
+      sigaction (SIGFPE, &sa, NULL);		\
+    } while (0)
+
+#endif /* JAVA_SIGNAL_H */

Added: llvm-gcc-4.2/trunk/libjava/include/default-signal.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/default-signal.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/default-signal.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/default-signal.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,51 @@
+// default-signal.h - Catch runtime signals and turn them into exceptions.
+
+/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#ifndef JAVA_SIGNAL_H
+#define JAVA_SIGNAL_H 1
+
+#ifdef SJLJ_EXCEPTIONS
+
+#define HANDLE_SEGV 1
+#define HANDLE_FPE 1
+
+#include <signal.h>
+
+#define SIGNAL_HANDLER(_name)			\
+static void _name (int _dummy __attribute__ ((__unused__)))
+
+#define INIT_SEGV						\
+do								\
+  {								\
+    signal (SIGSEGV, catch_segv);				\
+  }								\
+while (0)							
+								
+#define INIT_FPE						\
+do								\
+  {								\
+    signal (SIGFPE, catch_fpe);					\
+  }								\
+while (0)
+
+#define MAKE_THROW_FRAME(_exception)  do {} while (0)
+
+#else /* SJLJ_EXCEPTIONS */
+
+#undef HANDLE_SEGV
+#undef HANDLE_FPE
+
+#define INIT_SEGV   do {} while (0)
+#define INIT_FPE   do {} while (0)
+
+#endif /* SJLJ_EXCEPTIONS */
+
+#endif /* JAVA_SIGNAL_H */
+  

Added: llvm-gcc-4.2/trunk/libjava/include/dwarf2-signal.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/dwarf2-signal.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/dwarf2-signal.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/dwarf2-signal.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,263 @@
+// dwarf2-signal.h - Catch runtime signals and turn them into exceptions.
+
+/* Copyright (C) 2000, 2001  Free Software Foundation
+
+   This file is part of libgcj.
+
+   Use this file for a target for which the dwarf2 unwinder in libgcc
+   can unwind through signal handlers.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#ifndef JAVA_SIGNAL_H
+#define JAVA_SIGNAL_H 1
+
+#include <signal.h>
+#include <sys/syscall.h>
+
+#define HANDLE_SEGV 1
+#undef HANDLE_FPE
+
+#define SIGNAL_HANDLER(_name)	\
+static void _Jv_##_name (int, siginfo_t *_sip, void *_p)
+
+class java::lang::Throwable;
+
+// Unwind the stack to the point at which the signal was generated and
+// then throw an exception.  With the dwarf2 unwinder we don't usually
+// need to do anything, with some minor exceptions.
+
+#ifdef __alpha__
+#define MAKE_THROW_FRAME(_exception)					\
+do									\
+{									\
+  /* Alpha either leaves PC pointing at a faulting instruction or the	\
+   following instruction, depending on the signal.  SEGV always does	\
+   the former, so we adjust the saved PC to point to the following	\
+   instruction; this is what the handler in libgcc expects.  */		\
+  struct sigcontext *_sc = (struct sigcontext *)_p;			\
+  _sc->sc_pc += 4;							\
+}									\
+while (0)
+
+#elif defined(__ia64__)
+
+#define MAKE_THROW_FRAME(_exception)					\
+do									\
+{									\
+  /* IA-64 either leaves PC pointing at a faulting instruction or the	\
+   following instruction, depending on the signal.  SEGV always does	\
+   the former, so we adjust the saved PC to point to the following	\
+   instruction; this is what the handler in libgcc expects.  */		\
+  /* Note that we are lying to the unwinder here, which expects the	\
+   faulting pc, not pc+1.  But we claim the unwind information can't	\
+   be changed by such a ld or st instruction, so it doesn't matter. */	\
+  struct sigcontext *_sc = (struct sigcontext *)_p;			\
+  _sc->sc_ip++;								\
+}									\
+while (0)
+#elif defined(__sparc__)
+/* We could do the unwind of the signal frame quickly by hand here like
+   sparc-signal.h does under Solaris, but that makes debugging unwind
+   failures almost impossible.  */
+#if !defined(__arch64__)
+#define MAKE_THROW_FRAME(_exception)					\
+do									\
+{									\
+  /* Sparc-32 leaves PC pointing at a faulting instruction		\
+   always.								\
+   We advance the PC one instruction past the exception causing PC.	\
+   This is done because FDEs are found with "context->ra - 1" in the	\
+   unwinder.								\
+   Also, the dwarf2 unwind machinery is going to add 8 to the		\
+   PC it uses on Sparc.  So we adjust the PC here.  We do it here	\
+   because we run once for such an exception, however the Sparc specific\
+   unwind can run multiple times for the same exception and it would	\
+   adjust the PC more than once resulting in a bogus value.  */		\
+  struct sig_regs {							\
+    unsigned int psr, pc, npc, y, u_regs[16];				\
+  } *regp;								\
+  unsigned int insn;							\
+  __asm__ __volatile__("ld [%%i7 + 8], %0" : "=r" (insn));		\
+  /* mov __NR_sigaction, %g1; Old signal stack layout */		\
+  if (insn == 0x821020d8)						\
+    regp = (struct sig_regs *) _sip;					\
+  else									\
+    /* mov __NR_rt_sigaction, %g1; New signal stack layout */		\
+    regp = (struct sig_regs *) (_sip + 1);				\
+  regp->pc = ((regp->pc + 4) - 8);					\
+}									\
+while (0)
+#else
+#define MAKE_THROW_FRAME(_exception)					\
+do									\
+{									\
+  /* Sparc-64 leaves PC pointing at a faulting instruction		\
+   always.								\
+   We advance the PC one instruction past the exception causing PC.	\
+   This is done because FDEs are found with "context->ra - 1" in the	\
+   unwinder.								\
+   Also, the dwarf2 unwind machinery is going to add 8 to the		\
+   PC it uses on Sparc.  So we adjust the PC here.  We do it here	\
+   because we run once for such an exception, however the Sparc specific\
+   unwind can run multiple times for the same exception and it would	\
+   adjust the PC more than once resulting in a bogus value.  */		\
+  struct pt_regs {							\
+    unsigned long u_regs[16];						\
+    unsigned long tstate, tpc, tnpc;					\
+    unsigned int y, fprs;						\
+  } *regp = (struct pt_regs *) (_sip + 1);				\
+  regp->tpc = ((regp->tpc + 4) - 8);					\
+}									\
+while (0)
+#endif
+#else
+#define MAKE_THROW_FRAME(_exception)		\
+do						\
+{						\
+  (void)_p;					\
+}						\
+while (0)
+#endif
+
+#if defined(__sparc__)
+#if defined(__arch64__)
+extern "C" {
+    static void __rt_sigreturn_stub(void)
+    {
+      __asm__("mov %0, %%g1\n\t"
+	      "ta  0x6d\n\t"
+	      : /* no outputs */
+	      : "i" (__NR_rt_sigreturn));
+    }
+    struct kernel_sigaction
+    {
+      void (*k_sa_sigaction)(int,siginfo_t *,void *);
+      unsigned long k_sa_flags;
+      void (*k_sa_restorer)(void);
+      sigset_t k_sa_mask;
+    };
+}
+#define INIT_SEGV						\
+do								\
+  {								\
+    struct kernel_sigaction act;				\
+    unsigned long stub = ((unsigned long)&__rt_sigreturn_stub); \
+    act.k_sa_sigaction = _Jv_catch_segv;      			\
+    sigemptyset (&act.k_sa_mask);				\
+    act.k_sa_flags = SA_SIGINFO;	       			\
+    act.k_sa_restorer = NULL;					\
+    syscall (SYS_rt_sigaction, SIGSEGV, &act, NULL,		\
+             stub - 8, _NSIG / 8);				\
+  }								\
+while (0)  
+
+#define INIT_FPE						\
+do								\
+  { 								\
+    struct kernel_sigaction act;				\
+    unsigned long stub = ((unsigned long)&__rt_sigreturn_stub); \
+    act.k_sa_sigaction = _Jv_catch_fpe;				\
+    sigemptyset (&act.k_sa_mask);				\
+    act.k_sa_flags = SA_SIGINFO;		       		\
+    act.k_sa_restorer = NULL;					\
+    syscall (SYS_rt_sigaction, SIGFPE, &act, NULL,		\
+             stub - 8, _NSIG / 8);				\
+  }								\
+while (0)  
+#else /* __arch64__ */
+
+extern "C" {
+    struct kernel_sigaction
+    {
+      void (*k_sa_sigaction)(int,siginfo_t *,void *);
+      unsigned long k_sa_mask, k_sa_flags;
+      void (*k_sa_restorer)(void);
+    };
+}
+
+#define INIT_SEGV						\
+do								\
+  {								\
+    struct kernel_sigaction act;				\
+    act.k_sa_sigaction = _Jv_catch_segv;      			\
+    act.k_sa_mask = 0;						\
+    act.k_sa_flags = SA_SIGINFO;	       			\
+    act.k_sa_restorer = NULL;					\
+    syscall (SYS_sigaction, -SIGSEGV, &act, NULL);		\
+  }								\
+while (0)  
+
+#define INIT_FPE						\
+do								\
+  { 								\
+    struct kernel_sigaction act;				\
+    act.k_sa_sigaction = _Jv_catch_fpe;				\
+    act.k_sa_mask = 0;						\
+    act.k_sa_flags = SA_SIGINFO;		       		\
+    act.k_sa_restorer = NULL;					\
+    syscall (SYS_sigaction, -SIGFPE, &act, NULL);		\
+  }								\
+while (0)  
+#endif
+#elif !defined(__ia64__)
+#define INIT_SEGV						\
+do								\
+  {								\
+    struct sigaction act;					\
+    act.sa_sigaction = _Jv_catch_segv;      			\
+    sigemptyset (&act.sa_mask);					\
+    act.sa_flags = SA_SIGINFO;	       				\
+    syscall (SYS_sigaction, SIGSEGV, &act, NULL);		\
+  }								\
+while (0)  
+
+#define INIT_FPE						\
+do								\
+  { 								\
+    struct sigaction act;					\
+    act.sa_sigaction = _Jv_catch_fpe;				\
+    sigemptyset (&act.sa_mask);					\
+    act.sa_flags = SA_SIGINFO;		       			\
+    syscall (SYS_sigaction, SIGFPE, &act, NULL);		\
+  }								\
+while (0)  
+
+/* We use syscall(SYS_sigaction) in INIT_SEGV and INIT_FPE instead of
+ * sigaction() because on some systems the pthreads wrappers for
+ * signal handlers are not compiled with unwind information, so it's
+ * not possible to unwind through them.  This is a problem that will
+ * go away once all systems have pthreads libraries that are
+ * compiled with full unwind info.  */
+
+#else  /* __ia64__ */
+
+// On IA64, unwind information is mandatory, so we can unwind
+// correctly through glibc frames.  Thus we call the ordinary
+// sigaction.
+
+#define INIT_SEGV						\
+do								\
+  {								\
+    struct sigaction act;					\
+    act.sa_sigaction = _Jv_catch_segv;      			\
+    sigemptyset (&act.sa_mask);					\
+    act.sa_flags = SA_SIGINFO;	       				\
+    sigaction (SIGSEGV, &act, NULL);				\
+  }								\
+while (0)  
+
+#define INIT_FPE						\
+do								\
+  { 								\
+    struct sigaction act;					\
+    act.sa_sigaction = _Jv_catch_fpe;				\
+    sigemptyset (&act.sa_mask);					\
+    act.sa_flags = SA_SIGINFO;		       			\
+    sigaction (SIGFPE, &act, NULL);				\
+  }								\
+while (0)  
+#endif /* __ia64__ || __sparc__ */
+#endif /* JAVA_SIGNAL_H */

Added: llvm-gcc-4.2/trunk/libjava/include/execution.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/execution.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/execution.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/execution.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,234 @@
+// execution.h - Execution engines. -*- c++ -*-
+
+/* Copyright (C) 2004, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#ifndef __JAVA_EXECUTION_H__
+#define __JAVA_EXECUTION_H__
+
+// This represents one execution engine.  Note that we use function
+// pointers and not virtual methods to avoid calls to
+// __cxa_call_unexpected and the like.
+struct _Jv_ExecutionEngine
+{
+ public:
+
+  void (*unregister) (jclass);
+  // FIXME: probably should handle this elsewhere, see how
+  // interpreter does it.
+  bool (*need_resolve_string_fields) ();
+  void (*verify) (jclass);
+  void (*allocate_static_fields) (jclass, int, int);
+  void (*allocate_field_initializers) (jclass);
+  void (*create_ncode) (jclass);
+  _Jv_ResolvedMethod *(*resolve_method) (_Jv_Method *, jclass,
+					 jboolean);
+  void (*post_miranda_hook) (jclass);
+};
+
+// This handles gcj-compiled code except that compiled with
+// -findirect-classes.
+struct _Jv_CompiledEngine : public _Jv_ExecutionEngine
+{
+ public:
+
+  static void do_unregister (jclass)
+  {
+  }
+
+  static bool do_need_resolve_string_fields ()
+  {
+    return true;
+  }
+
+  static void do_verify (jclass klass)
+  {
+    _Jv_Linker::verify_type_assertions (klass);
+  }
+
+  static _Jv_ResolvedMethod *do_resolve_method (_Jv_Method *, jclass,
+						jboolean)
+  {
+    return NULL;
+  }
+
+  static void do_allocate_static_fields (jclass,
+					 int,
+					 int)
+  {
+  }
+
+  static void do_allocate_field_initializers (jclass)
+  {
+  }
+
+  static void do_create_ncode (jclass)
+  {
+    // Not needed.
+  }
+
+  static void do_post_miranda_hook (jclass)
+  {
+    // Not needed.
+  }
+
+  _Jv_CompiledEngine ()
+  {
+    unregister = do_unregister;
+    need_resolve_string_fields = do_need_resolve_string_fields;
+    verify = do_verify;
+    allocate_static_fields = do_allocate_static_fields;
+    allocate_field_initializers = do_allocate_field_initializers;
+    create_ncode = do_create_ncode;
+    resolve_method = do_resolve_method;
+    post_miranda_hook = do_post_miranda_hook;
+  }
+
+  // These operators make it so we don't have to link in libstdc++.
+  void *operator new (size_t bytes)
+  {
+    return _Jv_Malloc(bytes);
+  }
+
+  void operator delete (void *mem)
+  {
+    _Jv_Free(mem);
+  }
+};
+
+class _Jv_IndirectCompiledClass
+{
+public:
+  void **field_initializers;
+};
+
+// This handles gcj-compiled code compiled with -findirect-classes.
+struct _Jv_IndirectCompiledEngine : public _Jv_CompiledEngine
+{
+  _Jv_IndirectCompiledEngine () : _Jv_CompiledEngine ()
+  {
+    allocate_static_fields = do_allocate_static_fields;
+    allocate_field_initializers = do_allocate_field_initializers;
+  }
+  
+  static void do_allocate_field_initializers (jclass klass)
+  {
+    _Jv_IndirectCompiledClass *aux 
+      =  (_Jv_IndirectCompiledClass*)
+        _Jv_AllocRawObj (sizeof (_Jv_IndirectCompiledClass));
+    klass->aux_info = aux;
+
+    aux->field_initializers = (void **)_Jv_Malloc (klass->field_count 
+						   * sizeof (void*));    
+
+    for (int i = 0; i < klass->field_count; i++)
+      {
+	_Jv_Field *field = &klass->fields[i];
+	if (field->flags & java::lang::reflect::Modifier::STATIC)
+	  {
+	    aux->field_initializers[i] = field->u.addr;
+	    field->u.addr = NULL; 
+	  }
+      }
+  }
+
+  static void do_allocate_static_fields (jclass klass,
+					 int pointer_size,
+					 int other_size)
+  {
+    // Splitting the allocations here lets us scan reference fields
+    // and avoid scanning non-reference fields.
+    char *reference_fields = (char *) _Jv_AllocRawObj (pointer_size);
+    char *non_reference_fields = (char *) _Jv_AllocBytes (other_size);
+
+    _Jv_IndirectCompiledClass *aux 
+      =  (_Jv_IndirectCompiledClass*)klass->aux_info;
+
+    for (int i = 0; i < klass->field_count; i++)
+      {
+	_Jv_Field *field = &klass->fields[i];
+
+	if ((field->flags & java::lang::reflect::Modifier::STATIC) == 0)
+	  continue;
+
+	char *base = field->isRef() ? reference_fields : non_reference_fields;
+	field->u.addr  = base + field->u.boffset;
+
+	if (aux->field_initializers[i])
+	  {
+	    int field_size;
+	    if (! field->isRef ())
+	      field_size = field->type->size ();
+	    else 
+	      field_size = sizeof (jobject);
+
+	    memcpy (field->u.addr, aux->field_initializers[i], field_size);
+	  }
+      } 
+    _Jv_Free (aux->field_initializers);
+  }
+};
+
+
+
+// This handles interpreted code.
+class _Jv_InterpreterEngine : public _Jv_ExecutionEngine
+{
+ public:
+
+  static void do_verify (jclass);
+  static void do_allocate_static_fields (jclass, int, int);
+  static void do_create_ncode (jclass);
+  static _Jv_ResolvedMethod *do_resolve_method (_Jv_Method *, jclass,
+						jboolean);
+
+  static bool do_need_resolve_string_fields ()
+  {
+    return false;
+  }
+
+  static void do_unregister(jclass klass)
+  {
+    _Jv_UnregisterClass(klass);
+  }
+
+  static void do_allocate_field_initializers (jclass)
+  {
+  }
+
+  static void do_post_miranda_hook (jclass);
+
+  _Jv_InterpreterEngine ()
+  {
+    unregister = do_unregister;
+    need_resolve_string_fields = do_need_resolve_string_fields;
+    verify = do_verify;
+    allocate_static_fields = do_allocate_static_fields;
+    allocate_field_initializers = do_allocate_field_initializers;
+    create_ncode = do_create_ncode;
+    resolve_method = do_resolve_method;
+    post_miranda_hook = do_post_miranda_hook;
+  }
+
+  // These operators make it so we don't have to link in libstdc++.
+  void *operator new (size_t bytes)
+  {
+    return _Jv_Malloc(bytes);
+  }
+
+  void operator delete (void *mem)
+  {
+    _Jv_Free(mem);
+  }
+};
+
+
+extern _Jv_InterpreterEngine _Jv_soleInterpreterEngine;
+extern _Jv_CompiledEngine _Jv_soleCompiledEngine;
+extern _Jv_IndirectCompiledEngine _Jv_soleIndirectCompiledEngine;
+#endif // __JAVA_EXECUTION_H__

Added: llvm-gcc-4.2/trunk/libjava/include/hppa-signal.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/hppa-signal.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/hppa-signal.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/hppa-signal.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,68 @@
+/* hppa-signal.h - Catch runtime signals and turn them into exceptions,
+   on a HP-UX 11 PA system.  */
+
+/* Copyright (C) 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+/* This file is really more of a specification.  The rest of the system
+   should be arranged so that this Just Works.  */
+
+#ifndef JAVA_SIGNAL_H
+# define JAVA_SIGNAL_H 1
+
+#include <sys/types.h>
+#include <signal.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+# define HANDLE_SEGV 1
+# undef HANDLE_FPE
+
+#define SIGNAL_HANDLER(_name)						\
+  static void _name (int _dummy __attribute__ ((unused)),		\
+		     siginfo_t *_info __attribute__ ((__unused__)),	\
+		     void *arg __attribute__ ((__unused__)))
+
+#define MAKE_THROW_FRAME(_exception)					\
+do									\
+{									\
+  ucontext_t *_context = (ucontext_t *) arg;				\
+  (void)_dummy;								\
+  (void)_info;								\
+  mcontext_t *mc = &(_context->uc_mcontext);				\
+  SetSSReg (mc, ss_pcoq_head, GetSSReg (mc, ss_pcoq_tail));		\
+  SetSSReg (mc, ss_pcsq_head, GetSSReg (mc, ss_pcsq_tail));		\
+  /* This part is not quit right if the head pc was pointing		\
+     at a branch.  The tail needs to be adjusted to the branch		\
+     target if the branch is taken.  The tail space register		\
+     may need adjustment as well if the branch is an interspace		\
+     branch.  */							\
+  SetSSReg (mc, ss_pcoq_tail, (GetSSReg (mc, ss_pcoq_tail) + 4));	\
+									\
+ }									\
+while (0)
+
+# define INIT_SEGV				\
+  do {						\
+      struct sigaction sa;			\
+      sa.sa_sigaction = catch_segv;		\
+      sigemptyset (&sa.sa_mask);		\
+      sa.sa_flags = SA_SIGINFO | SA_NODEFER;	\
+      sigaction (SIGSEGV, &sa, NULL);		\
+    } while (0)
+
+# define INIT_FPE				\
+  do {						\
+      struct sigaction sa;			\
+      sa.sa_sigaction = catch_fpe;		\
+      sigemptyset (&sa.sa_mask);		\
+      sa.sa_flags = SA_SIGINFO | SA_NODEFER;	\
+      sigaction (SIGFPE, &sa, NULL);		\
+    } while (0)
+
+#endif /* JAVA_SIGNAL_H */

Added: llvm-gcc-4.2/trunk/libjava/include/i386-signal.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/i386-signal.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/i386-signal.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/i386-signal.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,155 @@
+// i386-signal.h - Catch runtime signals and turn them into exceptions
+// on an i386 based Linux system.
+
+/* Copyright (C) 1998, 1999, 2001, 2002, 2006  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+
+#ifndef JAVA_SIGNAL_H
+#define JAVA_SIGNAL_H 1
+
+#include <signal.h>
+#include <sys/syscall.h>
+
+#define HANDLE_SEGV 1
+#define HANDLE_FPE 1
+
+#define SIGNAL_HANDLER(_name)	\
+static void _name (int _dummy __attribute__ ((__unused__)))
+
+#define MAKE_THROW_FRAME(_exception)
+
+#define HANDLE_DIVIDE_OVERFLOW						\
+do									\
+{									\
+  void **_p = (void **)&_dummy;						\
+  volatile struct sigcontext_struct *_regs = (struct sigcontext_struct *)++_p;\
+									\
+  register unsigned char *_eip = (unsigned char *)_regs->eip;		\
+									\
+  /* According to the JVM spec, "if the dividend is the negative	\
+   * integer of the smallest magnitude and the divisor is -1, then	\
+   * overflow occurs and the result is equal to the dividend.  Despite	\
+   * the overflow, no exception occurs".				\
+									\
+   * We handle this by inspecting the instruction which generated the	\
+   * signal and advancing eip to point to the following instruction.	\
+   * As the instructions are variable length it is necessary to do a	\
+   * little calculation to figure out where the following instruction	\
+   * actually is.							\
+									\
+   */									\
+									\
+  if (_eip[0] == 0xf7)							\
+    {									\
+      unsigned char _modrm = _eip[1];					\
+									\
+      if (_regs->eax == 0x80000000					\
+	  && ((_modrm >> 3) & 7) == 7) /* Signed divide */		\
+	{								\
+	  unsigned char _rm = _modrm & 7;				\
+	  _regs->edx = 0; /* the remainder is zero */			\
+	  switch (_modrm >> 6)						\
+	    {								\
+	    case 0:  /* register indirect */				\
+	      if (_rm == 5)   /* 32-bit displacement */			\
+		_eip += 4;   						\
+	      if (_rm == 4)  /* A SIB byte follows the ModR/M byte */	\
+		_eip += 1;						\
+	      break;							\
+	    case 1:  /* register indirect + 8-bit displacement */	\
+	      _eip += 1;						\
+	      if (_rm == 4)  /* A SIB byte follows the ModR/M byte */	\
+		_eip += 1;						\
+	      break;							\
+	    case 2:  /* register indirect + 32-bit displacement */	\
+	      _eip += 4;						\
+	      if (_rm == 4)  /* A SIB byte follows the ModR/M byte */	\
+		_eip += 1;						\
+	      break;							\
+	    case 3:							\
+	      break;							\
+	    }								\
+	  _eip += 2;							\
+	  _regs->eip = (unsigned long)_eip;				\
+	  return;							\
+	}								\
+    }									\
+}									\
+while (0)
+
+/* We use old_kernel_sigaction here because we're calling the kernel
+   directly rather than via glibc.  The sigaction structure that the
+   syscall uses is a different shape from the one in userland and not
+   visible to us in a header file so we define it here.  */
+
+struct old_i386_kernel_sigaction {
+	void (*k_sa_handler) (int);
+	unsigned long k_sa_mask;
+	unsigned long k_sa_flags;
+	void (*sa_restorer) (void);
+};
+
+#define RESTORE(name, syscall) RESTORE2 (name, syscall)
+# define RESTORE2(name, syscall) \
+asm						\
+  (						\
+   ".text\n"					\
+   ".byte 0  # Yes, this really is necessary\n" \
+   "	.align 8\n"				\
+   "__" #name ":\n"				\
+   "	popl %eax\n"				\
+   "	movl $" #syscall ", %eax\n"		\
+   "	int  $0x80"				\
+   );
+
+RESTORE (restore, __NR_sigreturn)
+static void restore (void) asm ("__restore");
+
+#define INIT_SEGV					\
+do							\
+  {							\
+    struct old_i386_kernel_sigaction kact;		\
+    kact.k_sa_handler = catch_segv;			\
+    kact.k_sa_mask = 0;					\
+    kact.k_sa_flags = 0x4000000;			\
+    kact.sa_restorer = restore;				\
+    syscall (SYS_sigaction, SIGSEGV, &kact, NULL);	\
+  }							\
+while (0)  
+
+#define INIT_FPE					\
+do							\
+  {							\
+    struct old_i386_kernel_sigaction kact;		\
+    kact.k_sa_handler = catch_fpe;			\
+    kact.k_sa_mask = 0;					\
+    kact.k_sa_flags = 0x4000000;			\
+    kact.sa_restorer = restore;				\
+    syscall (SYS_sigaction, SIGFPE, &kact, NULL);	\
+  }							\
+while (0)  
+
+/* You might wonder why we use syscall(SYS_sigaction) in INIT_FPE
+ * instead of the standard sigaction().  This is necessary because of
+ * the shenanigans above where we increment the PC saved in the
+ * context and then return.  This trick will only work when we are
+ * called _directly_ by the kernel, because linuxthreads wraps signal
+ * handlers and its wrappers do not copy the sigcontext struct back
+ * when returning from a signal handler.  If we return from our divide
+ * handler to a linuxthreads wrapper, we will lose the PC adjustment
+ * we made and return to the faulting instruction again.  Using
+ * syscall(SYS_sigaction) causes our handler to be called directly
+ * by the kernel, bypassing any wrappers.
+
+ * Also, there is at the present time no unwind info in the
+ * linuxthreads library's signal handlers and so we can't unwind
+ * through them anyway.  */
+
+#endif /* JAVA_SIGNAL_H */
+  

Added: llvm-gcc-4.2/trunk/libjava/include/java-assert.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/include/java-assert.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/include/java-assert.h (added)
+++ llvm-gcc-4.2/trunk/libjava/include/java-assert.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,38 @@
+// java-assert.h - Header file holding assertion definitions.  -*- c++ -*-
+
+/* Copyright (C) 1998, 1999  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+#ifndef __JAVA_ASSERT_H__
+#define __JAVA_ASSERT_H__
+
+// This is a libgcj implementation header.
+
+void _Jv_Abort (const char *, const char *, int, const char *)
+  __attribute__ ((__noreturn__));
+
+#ifdef DEBUG
+#define _Jv_AssertDoCall(Message) _Jv_Abort (__FUNCTION__, __FILE__, __LINE__, Message)
+
+#define JvAssertMessage(Expr, Message) \
+   do { if (! (Expr)) _Jv_AssertDoCall (Message); } while (0)
+#define JvAssert(Expr) \
+   do { if (! (Expr)) _Jv_AssertDoCall (# Expr); } while (0)
+
+#define JvFail(Message) _Jv_AssertDoCall (Message)
+
+#else /* DEBUG */
+
+#define _Jv_AssertDoCall(Message)
+#define JvAssertMessage(Expr, Message)
+#define JvAssert(Expr)
+#define JvFail(Message) _Jv_Abort (0, 0, 0, Message)
+
+#endif /* not DEBUG */
+
+#endif /* __JAVA_ASSERT_H__ */





More information about the llvm-commits mailing list