diff options
author | Jason Merrill <merrill@gnu.org> | 1994-10-05 23:08:12 +0000 |
---|---|---|
committer | Jason Merrill <merrill@gnu.org> | 1994-10-05 23:08:12 +0000 |
commit | 3ac4f0e6d01988a06968fbf268f6f7a00bafb672 (patch) | |
tree | df70924fcb0a94da0b09ce1c6574a887393cae71 /gcc | |
parent | c399861d39d9ff39e9a088ff8ad9bce02be48aa9 (diff) | |
download | gcc-3ac4f0e6d01988a06968fbf268f6f7a00bafb672.zip gcc-3ac4f0e6d01988a06968fbf268f6f7a00bafb672.tar.gz gcc-3ac4f0e6d01988a06968fbf268f6f7a00bafb672.tar.bz2 |
(fold, COMPONENT_REF): Don't die if the CONSTRUCTOR
doesn't initialize the field we want.
From-SVN: r8223
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fold-const.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e93516e..50217a0 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -3424,7 +3424,11 @@ fold (expr) case COMPONENT_REF: if (TREE_CODE (arg0) == CONSTRUCTOR) - t = TREE_VALUE (purpose_member (arg1, CONSTRUCTOR_ELTS (arg0))); + { + tree m = purpose_member (arg1, CONSTRUCTOR_ELTS (arg0)); + if (m) + t = TREE_VALUE (m); + } return t; case RANGE_EXPR: |