diff options
| author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-01 21:12:20 +0000 |
|---|---|---|
| committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-01 21:12:20 +0000 |
| commit | dbeaf58e07a8977d00e374db1490af5867202ee4 (patch) | |
| tree | 1aa583e9dbebf5feffa817b4c13da301637d0351 /gcc/expr.c | |
| parent | 12e22044dbe686b1543e846187fd29345b3f07ca (diff) | |
| download | ppe42-gcc-dbeaf58e07a8977d00e374db1490af5867202ee4.tar.gz ppe42-gcc-dbeaf58e07a8977d00e374db1490af5867202ee4.zip | |
* expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
variable sized types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85412 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
| -rw-r--r-- | gcc/expr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index f2faae301a6..884bbe4a5fb 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6977,8 +6977,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, size of the type isn't the same size as the bitfield, we must use bitfield operations. */ || (bitsize >= 0 - && (TREE_CODE (TYPE_SIZE (TREE_TYPE (exp))) - == INTEGER_CST) + && TYPE_SIZE (TREE_TYPE (exp)) + && TREE_CODE (TYPE_SIZE (TREE_TYPE (exp))) == INTEGER_CST && 0 != compare_tree_int (TYPE_SIZE (TREE_TYPE (exp)), bitsize))) { |

