aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-08 23:31:23 +0000
committerRichard Stallman <rms@gnu.org>1992-07-08 23:31:23 +0000
commit07c5ab5508e73983ce2157a948ab8152b272fbb4 (patch)
tree008e7c43a0b2becca2615670c77c3c8a3de6fc1e /gcc
parentfc76e42593c62945254b41d590c6b92e61ccdff7 (diff)
downloadgcc-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.c10
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)
{