diff options
author | Per Bothner <per@bothner.com> | 2001-04-04 13:56:01 -0700 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2001-04-04 13:56:01 -0700 |
commit | 3cc48399b878e39e334670e417741d6b3531185a (patch) | |
tree | 5a388d102608c5d677efdc447fcc9f752c7506e8 /gcc/java/java-tree.h | |
parent | 8e184d9cc12b898bba2aebea0e0e8d5faac9e569 (diff) | |
download | gcc-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.h | 7 |
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. */ |