aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-06-11 17:31:11 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-06-11 17:31:11 +0000
commitc6226a7e2aabd8d28a282bcad0b0c62767fb6a17 (patch)
tree5c940f59a273b4bbc23e5a9544f817838059fdcb /gcc/java/java-tree.h
parent9da754bd5e3c704f74ff1019c735e7ac30081b0e (diff)
downloadgcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.zip
gcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.tar.gz
gcc-c6226a7e2aabd8d28a282bcad0b0c62767fb6a17.tar.bz2
jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC.
* jcf-write.c (generate_classfile): Use FIELD_SYNTHETIC. * parse-scan.y (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. * java-tree.h (struct lang_type) [assertions]: New field. (TYPE_USES_ASSERTIONS): New macro. (CLASS_USES_ASSERTIONS): Likewise. (FIELD_SYNTHETIC): New define. * lex.c (java_lval;): Added ASSERT_TK. * parse.y (ASSERT_TK): Added. (statement_without_trailing_substatement): Added assert_statement. (assert_statement): New rule. (build_assertion): New function. (maybe_generate_pre_expand_clinit): Create and initialize $assertionsDisabled. (lookup_package_type): Removed decl. * keyword.h: Rebuilt. * keyword.gperf (assert): New token. From-SVN: r54516
Diffstat (limited to 'gcc/java/java-tree.h')
-rw-r--r--gcc/java/java-tree.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 9ba52a6..8a7fb9e 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -92,6 +92,7 @@ struct JCF;
CLASS_PUBLIC (in TYPE_DECL).
2: METHOD_STATIC (in FUNCTION_DECL).
(But note that FIELD_STATIC uses TREE_STATIC!)
+ FIELD_SYNTHETIC (in FIELD_DECL)
CLASS_COMPLETE_P (in TYPE_DECL)
3: METHOD_FINAL (in FUNCTION_DECL)
FIELD_FINAL (in FIELD_DECL)
@@ -812,6 +813,9 @@ union lang_tree_node
#define DECL_INIT_CALLS_THIS(DECL) \
(DECL_LANG_SPECIFIC(DECL)->u.f.init_calls_this)
+/* True when DECL (a field) is Synthetic. */
+#define FIELD_SYNTHETIC(DECL) DECL_LANG_FLAG_2 (DECL)
+
/* True when DECL aliases an outer context local variable. */
#define FIELD_LOCAL_ALIAS(DECL) DECL_LANG_FLAG_6 (DECL)
@@ -1037,6 +1041,7 @@ struct lang_decl GTY(())
#define TYPE_PRIVATE_INNER_CLASS(T) (TYPE_LANG_SPECIFIC(T)->pic)
#define TYPE_PROTECTED_INNER_CLASS(T) (TYPE_LANG_SPECIFIC(T)->poic)
#define TYPE_STRICTFP(T) (TYPE_LANG_SPECIFIC(T)->strictfp)
+#define TYPE_USES_ASSERTIONS(T) (TYPE_LANG_SPECIFIC(T)->assertions)
struct lang_type GTY(())
{
@@ -1057,6 +1062,7 @@ struct lang_type GTY(())
unsigned pic:1; /* Private Inner Class. */
unsigned poic:1; /* Protected Inner Class. */
unsigned strictfp:1; /* `strictfp' class. */
+ unsigned assertions:1; /* Any method uses `assert'. */
};
#define JCF_u4 unsigned long
@@ -1330,6 +1336,7 @@ struct rtx_def * java_expand_expr PARAMS ((tree, rtx, enum machine_mode,
#define CLASS_PRIVATE(DECL) (TYPE_PRIVATE_INNER_CLASS (TREE_TYPE (DECL)))
#define CLASS_PROTECTED(DECL) (TYPE_PROTECTED_INNER_CLASS (TREE_TYPE (DECL)))
#define CLASS_STRICTFP(DECL) (TYPE_STRICTFP (TREE_TYPE (DECL)))
+#define CLASS_USES_ASSERTIONS(DECL) (TYPE_USES_ASSERTIONS (TREE_TYPE (DECL)))
/* @deprecated marker flag on methods, fields and classes */