diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-12-12 16:45:20 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-12-12 08:45:20 -0800 |
commit | a5f712ff3f308c61bad9a71f075f304f367031bd (patch) | |
tree | 6b9af61f2a460eb0d5a22975239f5c95ddfd4b12 /gcc/expr.c | |
parent | 902c2ed4ead835a619897aa11fe6cdee34106ae4 (diff) | |
download | gcc-a5f712ff3f308c61bad9a71f075f304f367031bd.zip gcc-a5f712ff3f308c61bad9a71f075f304f367031bd.tar.gz gcc-a5f712ff3f308c61bad9a71f075f304f367031bd.tar.bz2 |
re PR tree-optimization/18040 (ICE in for_each_index, at tree-ssa-loop-im.c:178)
2004-12-12 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18040
* g++.dg/opt/ptrmem6.C: New test.
2004-12-12 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/18040
* expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
CONVERT_EXPR cases.
(handled_component_p): Likewise.
From-SVN: r92051
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 19 |
1 files changed, 0 insertions, 19 deletions
@@ -5293,16 +5293,6 @@ get_inner_reference (tree exp, HOST_WIDE_INT *pbitsize, conversions that don't change the mode, and all view conversions except those that need to "step up" the alignment. */ - case NON_LVALUE_EXPR: - break; - - case NOP_EXPR: - case CONVERT_EXPR: - if (TYPE_MODE (TREE_TYPE (exp)) - != TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)))) - goto done; - break; - case VIEW_CONVERT_EXPR: if ((TYPE_ALIGN (TREE_TYPE (exp)) > TYPE_ALIGN (TREE_TYPE (TREE_OPERAND (exp, 0)))) @@ -5445,20 +5435,11 @@ handled_component_p (tree t) case COMPONENT_REF: case ARRAY_REF: case ARRAY_RANGE_REF: - case NON_LVALUE_EXPR: case VIEW_CONVERT_EXPR: case REALPART_EXPR: case IMAGPART_EXPR: return 1; - /* ??? Sure they are handled, but get_inner_reference may return - a different PBITSIZE, depending upon whether the expression is - wrapped up in a NOP_EXPR or not, e.g. for bitfields. */ - case NOP_EXPR: - case CONVERT_EXPR: - return (TYPE_MODE (TREE_TYPE (t)) - == TYPE_MODE (TREE_TYPE (TREE_OPERAND (t, 0)))); - default: return 0; } |