aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/java-tree.h
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-04-04 13:56:01 -0700
committerPer Bothner <bothner@gcc.gnu.org>2001-04-04 13:56:01 -0700
commit3cc48399b878e39e334670e417741d6b3531185a (patch)
tree5a388d102608c5d677efdc447fcc9f752c7506e8 /gcc/java/java-tree.h
parent8e184d9cc12b898bba2aebea0e0e8d5faac9e569 (diff)
downloadgcc-3cc48399b878e39e334670e417741d6b3531185a.zip
gcc-3cc48399b878e39e334670e417741d6b3531185a.tar.gz
gcc-3cc48399b878e39e334670e417741d6b3531185a.tar.bz2
java-tree.h (CONSTANT_VALUE_P): New macro.
* java-tree.h (CONSTANT_VALUE_P): New macro. * jcf-write.c (generate_classfile): Use CONSTANT_VALUE_P. * parse.y (maybe_build_class_init_for_field): New static function. (resolve_expression_name, resolve_field_access): Use maybe_build_class_init_for_field instead of build_class_init This does not do the init if the field is compile-time-constant. (resolve_field_access): Simplify. * parse.y (fold_constant_for_init): Merge test into switch. From-SVN: r41094
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 598caf4..95cd99c 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -829,6 +829,13 @@ struct lang_identifier
ggc_alloc_cleared (sizeof (struct lang_decl_var))); \
}
+/* A ConstantExpression, after folding and name resolution. */
+#define CONSTANT_VALUE_P(NODE) \
+ (TREE_CODE (NODE) == STRING_CST \
+ || (TREE_CODE (NODE) == INTEGER_CST \
+ && TREE_CODE (TREE_TYPE (NODE)) != POINTER_TYPE) \
+ || TREE_CODE (NODE) == REAL_CST)
+
/* For a local VAR_DECL, holds the index into a words bitstring that
specifies if this decl is definitively assigned.
A DECL_BIT_INDEX of -1 means we no longer care. */