From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30032 invoked by alias); 24 Apr 2004 19:09:41 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 30005 invoked by uid 48); 24 Apr 2004 19:09:41 -0000 Date: Sat, 24 Apr 2004 22:20:00 -0000 Message-ID: <20040424190941.30004.qmail@sources.redhat.com> From: "pinskia at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040424185400.15119.wanderer@rsu.ru> References: <20040424185400.15119.wanderer@rsu.ru> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c++/15119] [3.5 Regression] internal compiler error: in substitute_placeholder_in_expr, at tree.c:2155 X-Bugzilla-Reason: CC X-SW-Source: 2004-04/txt/msg02274.txt.bz2 List-Id: ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-04-24 19:09 ------- Confirmed but not yet reduced. I think this is caused by: 2004-03-21 Richard Kenner * alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR. * emit-rtl.c (component_ref_for_mem_expr): Likewise. (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR. * explow.c (expr_size): Likewise. * expr.h (placeholder_list, find_placeholder): Deleted. * expr.c (store_constructor): Likewise. (get_inner_reference): Likewise. Also don't call find_placeholder. (placeholder_list, find_placeholder): Deleted. (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR. (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise. (highest_pow2_factor, case WITH_RECORD_EXPR): Remove. * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise. * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): Likewise. * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise. (extract_muldiv, case WITH_RECORD_EXPR): Likewise. * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise. (contains_placeholder_p): Don't handle WITH_RECORD_EXPR. Clean up by using first_rtl_op. (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call. (substitute_placeholder_in_expr): New function. * tree.def (WITH_RECORD_EXPR): Deleted. * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New. (substitute_placeholder_in_expr): New. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |kenner at gcc dot gnu dot | |org Keywords| |ice-on-valid-code Summary|internal compiler error: in |[3.5 Regression] internal |substitute_placeholder_in_ex|compiler error: in |pr, at tree.c:2155 |substitute_placeholder_in_ex | |pr, at tree.c:2155 Target Milestone|--- |3.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15119