summaryrefslogtreecommitdiff
path: root/gcc/stor-layout.c
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-03-18 05:33:36 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>1994-03-18 05:33:36 +0000
commitc27daa59dc8c73ed3c852e083fa17f7c44c780d7 (patch)
treeb62f8462d5bf42a0bfb61415543722b4831277b0 /gcc/stor-layout.c
parentb228a8548d0ed87572abe7d0a271a64634049e4b (diff)
downloadgcc-c27daa59dc8c73ed3c852e083fa17f7c44c780d7.tar.gz
* stor-layout.c (layout_type, case BOOLEAN_TYPE):
Set TREE_UNSIGNED unless TYPE_MIN_VALUE is negative. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6808 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r--gcc/stor-layout.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index b09f320e966..9c51c700ea8 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -880,12 +880,15 @@ layout_type (type)
}
break;
- /* Pascal types */
+ /* Pascal and Chill types */
case BOOLEAN_TYPE: /* store one byte/boolean for now. */
TYPE_MODE (type) = QImode;
TYPE_SIZE (type) = size_int (GET_MODE_BITSIZE (TYPE_MODE (type)));
TYPE_PRECISION (type) = 1;
TYPE_ALIGN (type) = GET_MODE_ALIGNMENT (TYPE_MODE (type));
+ if (TREE_CODE (TYPE_MIN_VALUE (type)) == INTEGER_CST
+ && tree_int_cst_sgn (TYPE_MIN_VALUE (type)) >= 0)
+ TREE_UNSIGNED (type) = 1;
break;
case CHAR_TYPE: