aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>2001-03-23 01:49:11 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2001-03-23 01:49:11 +0000
commit60c8748279c9a6b30aa8e370a8328ee8a9909792 (patch)
treea8d88ecaa8d7079c04633b077af8f67b170c519a /gcc/java
parent9450a9295bd532eebb8f814a7f9a40f4958ea57a (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/java/gjavah.c7
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);