diff options
author | Bryce McKinlay <bryce@albatross.co.nz> | 2001-03-23 01:49:11 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2001-03-23 01:49:11 +0000 |
commit | 60c8748279c9a6b30aa8e370a8328ee8a9909792 (patch) | |
tree | a8d88ecaa8d7079c04633b077af8f67b170c519a /gcc/java | |
parent | 9450a9295bd532eebb8f814a7f9a40f4958ea57a (diff) | |
download | gcc-60c8748279c9a6b30aa8e370a8328ee8a9909792.zip gcc-60c8748279c9a6b30aa8e370a8328ee8a9909792.tar.gz gcc-60c8748279c9a6b30aa8e370a8328ee8a9909792.tar.bz2 |
[multiple changes]
2001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
* extend.texi: Document the "java_interface" attribute.
java/:
2001-03-21 Bryce McKinlay <bryce@albatross.co.nz>
* gjavah.c (process_file): Mark interface definitions with
"__attribute__ ((java_interface))".
cp/:
2001-03-22 Bryce McKinlay <bryce@albatross.co.nz>
Add support for Java interface method calls.
* cp-tree.h (struct lang_type): Add java_interface flag.
(TYPE_JAVA_INTERFACE): New macro.
* tree.c (cp_valid_lang_attribute): Handle "java_interface" attribute
by setting TYPE_JAVA_INTERFACE.
* call.c (java_iface_lookup_fn): New static.
(build_over_call): If calling a method declared in a
TYPE_JAVA_INTERFACE, call build_java_interface_fn_ref to generate the
expression which resolves the function address.
(build_java_interface_fn_ref): New function.
From-SVN: r40769
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/gjavah.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6a23f8e..d7d0e77 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2001-03-21 Bryce McKinlay <bryce@albatross.co.nz> + + * gjavah.c (process_file): Mark interface definitions with + "__attribute__ ((java_interface))". + 2001-03-21 Alexandre Petit-Bianco <apbianco@redhat.com> * class.c (layout_class): Fixed push_super_field's second diff --git a/gcc/java/gjavah.c b/gcc/java/gjavah.c index 809ccf4..7f60849 100644 --- a/gcc/java/gjavah.c +++ b/gcc/java/gjavah.c @@ -1857,7 +1857,12 @@ DEFUN(process_file, (jcf, out), generate_access (out, ACC_PUBLIC); fprintf (out, "\n static ::java::lang::Class class$;\n"); - fputs ("};\n", out); + fputs ("}", out); + + if (jcf->access_flags & ACC_INTERFACE) + fputs (" __attribute__ ((java_interface))", out); + + fputs (";\n", out); if (append_count > 0) fputc ('\n', out); |