diff options
author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-03-18 05:33:36 +0000 |
---|---|---|
committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-03-18 05:33:36 +0000 |
commit | c27daa59dc8c73ed3c852e083fa17f7c44c780d7 (patch) | |
tree | b62f8462d5bf42a0bfb61415543722b4831277b0 /gcc/stor-layout.c | |
parent | b228a8548d0ed87572abe7d0a271a64634049e4b (diff) | |
download | gcc-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.c | 5 |
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: |