aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2004-04-01 13:41:37 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2004-04-01 08:41:37 -0500
commita150de295117d1e8f76a01180541eff7d0eb380c (patch)
tree4f85aaf350d91ff190852cf8f384d2a7a686b351 /gcc/tree.h
parent0c250f07daed7878b5db0ca1cc48acf92464f2eb (diff)
downloadgcc-a150de295117d1e8f76a01180541eff7d0eb380c.zip
gcc-a150de295117d1e8f76a01180541eff7d0eb380c.tar.gz
gcc-a150de295117d1e8f76a01180541eff7d0eb380c.tar.bz2
expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED. * stor-layout.c (layout_decl): Likewise. * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED. * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED. * print-tree.c (print_node): Handle various used of unsigned_flag. * tree.def (BIT_FIELD_REF): Update comment. * tree.h (TREE_UNSIGNED): Deleted. (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros. * cp/class.c (VTT_TOP_LEVEL_P): Use unsigned_flag directly. * f/com.c (ffe_truthvalue_conversion, case COMPONENT_REF): Use DECL_UNSIGNED and integer_onep. From-SVN: r80293
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index d57e4ab..c2138dc 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -264,8 +264,10 @@ struct tree_common GTY(())
TYPE_UNSIGNED in
all types
- TREE_UNSIGNED in
- FIELD_DECL
+ DECL_UNSIGNED in
+ all decls
+ BIT_FIELD_REF_UNSIGNED in
+ BIT_FIELD_REF
SAVE_EXPR_NOPLACEHOLDER in
SAVE_EXPR
@@ -710,9 +712,12 @@ extern void tree_operand_check_failed (int, enum tree_code,
if the value is constant. */
#define TREE_CONSTANT(NODE) ((NODE)->common.constant_flag)
-/* In INTEGER_TYPE or ENUMERAL_TYPE nodes, means an unsigned type.
- In FIELD_DECL nodes, means an unsigned bit field. */
-#define TREE_UNSIGNED(NODE) ((NODE)->common.unsigned_flag)
+/* In a decl (most significantly a FIELD_DECL), means an unsigned field. */
+#define DECL_UNSIGNED(NODE) (DECL_CHECK (NODE)->common.unsigned_flag)
+
+/* In a BIT_FIELD_REF, means the bitfield is to be interpreted as unsigned. */
+#define BIT_FIELD_REF_UNSIGNED(NODE) \
+ (BIT_FIELD_REF_CHECK (NODE)->common.unsigned_flag)
/* In integral and pointer types, means an unsigned type. */
#define TYPE_UNSIGNED(NODE) (TYPE_CHECK (NODE)->common.unsigned_flag)