aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2002-10-11 22:12:48 +0000
committerMark Wielaard <mark@klomp.org>2002-10-11 22:12:48 +0000
commit011a7011cebbe8629717a1e90179e7cf133e7b2a (patch)
treee42d64aa0f6ffe7051dd6b4373ba1d61cce62c39 /gcc/java
parent0d35df8a2daf1ea9b712a9a01a907489c09f7b00 (diff)
* gcj.texi (Compatibility): Add Limitations and Extensions section.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@58067 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog4
-rw-r--r--gcc/java/gcj.texi40
2 files changed, 40 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 87e6385ca9a..5c22fe92a2e 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,7 @@
+2002-10-11 Mark Wielaard <mark@klomp.org>
+
+ * gcj.texi (Compatibility): Add Limitations and Extensions section.
+
2002-10-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* class.c (JAVA_TREEHASHHASH_H): Use htab_hash_pointer.
diff --git a/gcc/java/gcj.texi b/gcc/java/gcj.texi
index ab9051dc5af..f1209f68a1e 100644
--- a/gcc/java/gcj.texi
+++ b/gcc/java/gcj.texi
@@ -487,14 +487,21 @@ specifications. However, limited manpower and incomplete and unclear
documentation work against us. So, there are caveats to using
@command{gcj}.
+@menu
+* Limitations::
+* Extensions::
+@end menu
+
+@node Limitations
+@section Standard features not yet supported
+
This list of compatibility issues is by no means complete.
@itemize @bullet
@item
-@command{gcj} implements the JDK 1.1 language. It supports inner classes,
-though these are known to still be buggy. It does not yet support the
-Java 2 @code{strictfp} keyword (it recognizes the keyword but ignores
-it).
+@command{gcj} implements the JDK 1.2 language. It supports inner classes
+and the new 1.4 @code{assert} keyword. It does not yet support the Java 2
+@code{strictfp} keyword (it recognizes the keyword but ignores it).
@item
@code{libgcj} is largely compatible with the JDK 1.2 libraries.
@@ -510,6 +517,31 @@ affects you, it probably makes sense to report it so that we can discuss
the appropriate response.
@end itemize
+@node Extensions
+@section Extra features unique to gcj
+
+The main feature of @command{gcj} is that it can compile programs written in
+the Java programming language to native code. Most extensions that have been
+added are to facilitate this functionality.
+
+@itemize @bullet
+@item
+@command{gcj} makes it easy and efficient to mix code written in Java and C++.
+@xref{About CNI}, for more info on how to use this in your programs.
+
+@item
+When you compile your classes into a shared library they can be automatically
+loaded by the @code{libgcj} system classloader. When trying to load a class
+@code{gnu.pkg.SomeClass} the system classloader will first try to load the
+shared library @file{lib-gnu-pkg-SomeClass.so}, if that fails to load the
+class then it will try to load @file{lib-gnu-pkg.so} and finally when the
+class is still not loaded it will try to load @file{lib-gnu.so}. Note that
+all @samp{.}s will be transformed into @samp{-}s and that searching
+for inner classes starts with their outermost outer class. If the class
+cannot be found this way the system classloader tries to use
+the @code{libgcj} bytecode interpreter to load the class from the standard
+classpath.
+@end itemize
@node Invoking gcjh
@chapter Invoking gcjh