diff options
author | Tom Tromey <tromey@redhat.com> | 2002-02-18 04:55:07 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2002-02-18 04:55:07 +0000 |
commit | 6b6294f11853a51dd444dbc5ed797c593459be52 (patch) | |
tree | 9d4dcd64a3dacde96384e1abe0d301b3d8973403 /gcc/java/class.c | |
parent | aeb85a152cd80ead8a39d559f71acbc447e7df4e (diff) | |
download | gcc-6b6294f11853a51dd444dbc5ed797c593459be52.zip gcc-6b6294f11853a51dd444dbc5ed797c593459be52.tar.gz gcc-6b6294f11853a51dd444dbc5ed797c593459be52.tar.bz2 |
java-tree.h (TYPE_STRICTFP): New macro.
* java-tree.h (TYPE_STRICTFP): New macro.
(struct lang_type) [strictfp]: New field.
(CLASS_STRICTFP): New macro.
(METHOD_STRICTFP): New macro.
(struct lang_decl) [strictfp]: New field.
* parse.y (method_header): Disallow strictfp constructor or
abstract method.
(STRICT_TK): Move before MODIFIER_TK.
* parse.h (CLASS_MODIFIERS): Added ACC_STRICT.
(METHOD_MODIFIERS): Likewise.
(INTERFACE_MODIFIERS): Likewise.
* jcf-write.c (get_access_flags): Likewise.
* class.c (set_class_decl_access_flags): Recognize ACC_STRICT.
(add_method_1): Likewise.
(get_access_flags_from_decl): Likewise.
* jcf-dump.c (print_access_flags): Print in standard order. Also,
recognize strictfp flag.
* jcf.h (ACC_STRICT): New define.
From-SVN: r49834
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r-- | gcc/java/class.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c index 5a799fe..e9cc58c 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -425,6 +425,7 @@ set_class_decl_access_flags (access_flags, class_decl) if (access_flags & ACC_STATIC) CLASS_STATIC (class_decl) = 1; if (access_flags & ACC_PRIVATE) CLASS_PRIVATE (class_decl) = 1; if (access_flags & ACC_PROTECTED) CLASS_PROTECTED (class_decl) = 1; + if (access_flags & ACC_STRICT) CLASS_STRICTFP (class_decl) = 1; } /* Return length of inheritance chain of CLAS, where java.lang.Object is 0, @@ -719,6 +720,7 @@ add_method_1 (handle_class, access_flags, name, function_type) if (access_flags & ACC_SYNCHRONIZED) METHOD_SYNCHRONIZED (fndecl) = 1; if (access_flags & ACC_ABSTRACT) METHOD_ABSTRACT (fndecl) = 1; if (access_flags & ACC_TRANSIENT) METHOD_TRANSIENT (fndecl) = 1; + if (access_flags & ACC_STRICT) METHOD_STRICTFP (fndecl) = 1; return fndecl; } @@ -1223,6 +1225,8 @@ get_access_flags_from_decl (decl) access_flags |= ACC_PRIVATE; if (CLASS_PROTECTED (decl)) access_flags |= ACC_PROTECTED; + if (CLASS_STRICTFP (decl)) + access_flags |= ACC_STRICT; return access_flags; } if (TREE_CODE (decl) == FUNCTION_DECL) @@ -1245,6 +1249,8 @@ get_access_flags_from_decl (decl) access_flags |= ACC_ABSTRACT; if (METHOD_TRANSIENT (decl)) access_flags |= ACC_TRANSIENT; + if (METHOD_STRICTFP (decl)) + access_flags |= ACC_STRICT; return access_flags; } abort (); |