aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-10-12 18:57:52 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-10-12 18:57:52 +0000
commit3c1d1e7b7f4b2f81701f773556c54a9aa41298ae (patch)
treef6391197f6fa1bfe79419915b471b09e90f7f4fc /gcc/java
parent9dcbdc7eea8409422de1ea120622ec7ab709a383 (diff)
downloadgcc-3c1d1e7b7f4b2f81701f773556c54a9aa41298ae.zip
gcc-3c1d1e7b7f4b2f81701f773556c54a9aa41298ae.tar.gz
gcc-3c1d1e7b7f4b2f81701f773556c54a9aa41298ae.tar.bz2
re GNATS gcj/356 (gcjh bug: Can't #include <java/awt/Container.h>)
Fix for PR gcj/356: * gjavah.c (add_class_decl): Don't special-case inner classes. (add_namelet): Likewise. From-SVN: r36854
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/gjavah.c28
2 files changed, 12 insertions, 22 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 99fa854..1f0229a 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2000-10-12 Tom Tromey <tromey@cygnus.com>
+
+ Fix for PR gcj/356:
+ * gjavah.c (add_class_decl): Don't special-case inner classes.
+ (add_namelet): Likewise.
+
2000-10-10 Tom Tromey <tromey@cygnus.com>
* lex.c (java_new_lexer): Initialize out_first and out_last
diff --git a/gcc/java/gjavah.c b/gcc/java/gjavah.c
index a25788a..4cf0e98 100644
--- a/gcc/java/gjavah.c
+++ b/gcc/java/gjavah.c
@@ -1463,7 +1463,7 @@ add_namelet (name, name_limit, parent)
return;
}
- for (p = name; p < name_limit && *p != '/' && *p != '$'; ++p)
+ for (p = name; p < name_limit && *p != '/'; ++p)
;
/* Search for this name beneath the PARENT node. */
@@ -1484,7 +1484,7 @@ add_namelet (name, name_limit, parent)
n->name = xmalloc (p - name + 1);
strncpy (n->name, name, p - name);
n->name[p - name] = '\0';
- n->is_class = (p == name_limit || *p == '$');
+ n->is_class = (p == name_limit);
n->subnamelets = NULL;
n->next = parent->subnamelets;
parent->subnamelets = n;
@@ -1492,7 +1492,7 @@ add_namelet (name, name_limit, parent)
/* We recurse if there is more text, and if the trailing piece does
not represent an inner class. */
- if (p < name_limit && *p != '$')
+ if (p < name_limit)
add_namelet (p + 1, name_limit, n);
}
@@ -1568,7 +1568,7 @@ add_class_decl (out, jcf, signature)
for (i = 0; i < len; ++i)
{
- int start, saw_dollar;
+ int start;
/* If we see an array, then we include the array header. */
if (s[i] == '[')
@@ -1582,26 +1582,10 @@ add_class_decl (out, jcf, signature)
if (s[i] != 'L')
continue;
- saw_dollar = 0;
for (start = ++i; i < len && s[i] != ';'; ++i)
- {
- if (! saw_dollar && s[i] == '$' && out)
- {
- saw_dollar = 1;
- /* If this class represents an inner class, then
- generate a `#include' for the outer class. However,
- don't generate the include if the outer class is the
- class we are processing. */
- if (i - start < tlen || strncmp (&s[start], tname, i - start))
- print_include (out, &s[start], i - start);
- break;
- }
- }
+ ;
- /* If we saw an inner class, then the generated #include will
- declare the class. So in this case we needn't bother. */
- if (! saw_dollar)
- add_namelet (&s[start], &s[i], &root);
+ add_namelet (&s[start], &s[i], &root);
}
}