This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug java/31890] New: Java Namespace error - javaprims.h out of sync
- From: "rob1weld at aol dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 May 2007 05:36:55 -0000
- Subject: [Bug java/31890] New: Java Namespace error - javaprims.h out of sync
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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