diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-08 23:31:23 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-08 23:31:23 +0000 |
commit | 07c5ab5508e73983ce2157a948ab8152b272fbb4 (patch) | |
tree | 008e7c43a0b2becca2615670c77c3c8a3de6fc1e /gcc | |
parent | fc76e42593c62945254b41d590c6b92e61ccdff7 (diff) | |
download | gcc-07c5ab5508e73983ce2157a948ab8152b272fbb4.zip gcc-07c5ab5508e73983ce2157a948ab8152b272fbb4.tar.gz gcc-07c5ab5508e73983ce2157a948ab8152b272fbb4.tar.bz2 |
(finish_struct, build_enumerator): Use STRIP_NOPS.
From-SVN: r1535
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-decl.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index a3769d0..68a269f 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -4660,9 +4660,8 @@ finish_struct (t, fieldlist) C_TYPE_VARIABLE_SIZE (t) = 1; /* Detect invalid bit-field size. */ - while (DECL_INITIAL (x) - && TREE_CODE (DECL_INITIAL (x)) == NON_LVALUE_EXPR) - DECL_INITIAL (x) = TREE_OPERAND (DECL_INITIAL (x), 0); + if (DECL_INITIAL (x)) + STRIP_NOPS (DECL_INITIAL (x)); if (DECL_INITIAL (x) && TREE_CODE (DECL_INITIAL (x)) != INTEGER_CST) { error_with_decl (x, "bit-field `%s' width not an integer constant"); @@ -5050,10 +5049,7 @@ build_enumerator (name, value) /* Validate and default VALUE. */ /* Remove no-op casts from the value. */ - while (value != 0 - && (TREE_CODE (value) == NOP_EXPR - || TREE_CODE (value) == NON_LVALUE_EXPR)) - value = TREE_OPERAND (value, 0); + STRIP_NOPS (value); if (value != 0 && TREE_CODE (value) != INTEGER_CST) { |