From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28695 invoked by alias); 21 Jul 2004 16:13:23 -0000 Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org Received: (qmail 28662 invoked by uid 48); 21 Jul 2004 16:13:22 -0000 Date: Wed, 21 Jul 2004 16:13:00 -0000 Message-ID: <20040721161322.28661.qmail@sourceware.org> From: "aph at gcc dot gnu dot org" To: java-prs@gcc.gnu.org In-Reply-To: <20040708101913.16431.aph@gcc.gnu.org> References: <20040708101913.16431.aph@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug java/16431] [3.5 Regression] Bytecode compiler silently generates incorrect code X-Bugzilla-Reason: CC X-SW-Source: 2004-q3/txt/msg00078.txt.bz2 List-Id: ------- Additional Comments From aph at gcc dot gnu dot org 2004-07-21 16:13 ------- 2004-07-20 Andrew Haley PR java/16431. * verify.c (verify_jvm_instructions): Comment change only. * typeck.c (build_java_array_type): Add size field to array name. * java-tree.h (LOCAL_SLOT_P): New. (update_aliases): Add PC argument. (pushdecl_function_level): New function. * java-gimplify.c (java_gimplify_expr): Handle VAR_DECL, MODIFY_EXPR, and SAVE_EXPR. (java_gimplify_modify_expr): New function. * expr.c (push_type_0): Call find_stack_slot() to create temporary. (expand_iinc): Pass PC to update_aliases(). (STORE_INTERNAL): Likewise. (process_jvm_instruction): Likewise. * decl.c (base_decl_map): New variable. (uniq): New variable. (update_aliases): Rewrite with more thorough checking. (debug_variable_p): New function. (push_jvm_slot): Don't initialize local variable. Don't pushdecl. (check_local_named_variable): Delete whole function. (initialize_local_variable): New function. (check_local_unnamed_variable): Add checks and comments. (find_local_variable): Rewrite. (java_replace_reference): New function. (function_binding_level): New variable. (pushdecl_function_level): New function. (maybe_pushlevels): Set DECL_LOCAL_END_PC. (maybe_pushlevels): Call pushdecl() on each of the new decls. (start_java_method): Reset uniq. Create base_decl_map. Set function_binding_level. (end_java_method): Null unused fields to save memory. -- What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16431