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


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

[Bug java/31890] New: Java Namespace error - javaprims.h out of sync


Even though I specified "i686-pc-linux-gnu" as the platform this should be
applicable to all platforms, if you compile Java.


I'm not an expert on Java - but the file "gcc-4_2-branch/libjava/HACKING" says:

...
If you add a class to java.lang, java.io, or java.util
(including sub-packages, like java.lang.ref).

* Edit gcj/javaprims.h

* Go to the `namespace java' line, and delete that entire block (the   
  entire contents of the namespace)

* Then insert the output of `perl scripts/classes.pl' into the file
  at that point.  This must be run from the build tree, in
  <build>/classpath/lib; it uses the .class file name to determine
  what to print.
...


I did _NOT_ alter the gcc SVN from its origonal download _NOR_ did I add the
"classpath" SVN, but I _DID_ try the above few lines to check if javaprims.h
was correct. It seems wrong!?


cd gcc-4_2-build/i686-pc-linux-gnu/libjava/classpath/lib/
perl /root/downloads/gcc-4_2-branch/libjava/scripts/classes.pl | diff -u
/root/downloads/gcc-4_2-branch/libjava/gcj/javaprims.h -


Why all the differences?


--- /root/downloads/gcc-4_2-branch/libjava/gcj/javaprims.h      2007-05-01
05:47:30.000000000 -0700
+++ -   2007-05-09 22:19:18.997537000 -0700

-  // The following class declarations are automatically generated by
-  // the `classes.pl' script.
   namespace java
   {
     namespace io
@@ -208,9 +164,9 @@
       class Runtime;
       class RuntimeException;
       class RuntimePermission;
-      class SecurityContext;
       class SecurityException;
       class SecurityManager;
+      class SecurityManager$1;
       class Short;
       class StackOverflowError;
       class StackTraceElement;
@@ -247,6 +203,7 @@
         class Annotation;
         class AnnotationFormatError;
         class AnnotationTypeMismatchException;
+        class IncompleteAnnotationException;
       }
+        class IncompleteAnnotationException;
       }

       namespace instrument
@@ -258,6 +215,25 @@
         class UnmodifiableClassException;
       }

+      namespace management
+      {
+        class ClassLoadingMXBean;
+        class CompilationMXBean;
+        class GarbageCollectorMXBean;
+        class ManagementFactory;
+        class ManagementPermission;
+        class MemoryMXBean;
+        class MemoryManagerMXBean;
+        class MemoryNotificationInfo;
+        class MemoryPoolMXBean;
+        class MemoryUsage;
+        class OperatingSystemMXBean;
+        class RuntimeMXBean;
+        class ThreadInfo;
+        class ThreadMXBean;
+        class VMManagementFactory;
+      }
+
       namespace ref
       {
         class PhantomReference;
@@ -352,7 +328,7 @@
       class Collections$UnmodifiableMap;
       class Collections$UnmodifiableMap$UnmodifiableEntrySet;
       class Collections$UnmodifiableMap$UnmodifiableEntrySet$7;
-      class Collections$UnmodifiableMap$UnmodifiableEntrySet$7$8;
+      class
Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableMapEntry;
       class Collections$UnmodifiableRandomAccessList;
       class Collections$UnmodifiableSet;
       class Collections$UnmodifiableSortedMap;
@@ -362,11 +338,17 @@
       class Currency;
       class Date;
       class Dictionary;
+      class DuplicateFormatFlagsException;
       class EmptyStackException;
       class Enumeration;
       class EventListener;
       class EventListenerProxy;
       class EventObject;
+      class FormatFlagsConversionMismatchException;
+      class Formattable;
+      class FormattableFlags;
+      class Formatter;
+      class FormatterClosedException;
       class GregorianCalendar;
       class HashMap;
       class HashMap$1;
@@ -392,6 +374,13 @@
       class IdentityHashMap$3;
       class IdentityHashMap$IdentityEntry;
       class IdentityHashMap$IdentityIterator;
+      class IllegalFormatCodePointException;
+      class IllegalFormatConversionException;
+      class IllegalFormatException;
+      class IllegalFormatFlagsException;
+      class IllegalFormatPrecisionException;
+      class IllegalFormatWidthException;
+      class InputMismatchException;
       class InvalidPropertiesFormatException;
       class Iterator;
       class LinkedHashMap;
@@ -407,6 +396,8 @@
       class Locale;
       class Map;
       class Map$Entry;
+      class MissingFormatArgumentException;
+      class MissingFormatWidthException;
       class MissingResourceException;
       class NoSuchElementException;
       class Observable;
@@ -443,6 +434,9 @@
       class TreeMap$SubMap$6;
       class TreeMap$TreeIterator;
       class TreeSet;
+      class UUID;
+      class UnknownFormatConversionException;
+      class UnknownFormatFlagsException;
       class VMTimeZone;
       class Vector;
       class Vector$1;
@@ -477,9 +471,11 @@
         class Handler;
         class Level;
         class LogManager;
+        class LogManager$1;
         class LogRecord;
         class Logger;
         class Logger$1;
+        class LoggingMXBean;
         class LoggingPermission;
         class MemoryHandler;
         class SimpleFormatter;
@@ -538,134 +534,3 @@
       }
     }
   }
-}
-  
-typedef struct java::lang::Object* jobject;


In the "namespace java" section should all the "-"'s be removed and the "+"'s
added ?  Is it incorrect to follow those instructions to test the javaprims.h
file ?


-- 
           Summary: Java Namespace error - javaprims.h out of sync
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: java
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rob1weld at aol dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31890


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