From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27340 invoked by alias); 4 Aug 2002 00:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 27309 invoked by uid 71); 4 Aug 2002 00:36:01 -0000 Resent-Date: 4 Aug 2002 00:36:01 -0000 Resent-Message-ID: <20020804003601.27308.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, java-prs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Received: (qmail 22583 invoked from network); 4 Aug 2002 00:29:12 -0000 Received: from unknown (HELO smtp.internal.avlsi.com) (65.119.15.68) by sources.redhat.com with SMTP; 4 Aug 2002 00:29:12 -0000 Received: from churchill.internal.avlsi.com (churchill.internal.avlsi.com [10.0.0.7]) by smtp.internal.avlsi.com (Postfix) with ESMTP id AD47C17744C for ; Sat, 3 Aug 2002 17:29:11 -0700 (PDT) Received: (from jmr@localhost) by churchill.internal.avlsi.com (8.11.6/8.11.2) id g740TBw21452; Sat, 3 Aug 2002 17:29:11 -0700 Message-Id: <200208040029.g740TBw21452@churchill.internal.avlsi.com> Date: Sat, 03 Aug 2002 17:36:00 -0000 From: To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: 3.113 Subject: java/7483: build_assertion gets assertion status wrong X-SW-Source: 2002-08/txt/msg00062.txt.bz2 List-Id: >Number: 7483 >Category: java >Synopsis: build_assertion gets assertion status wrong >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Sat Aug 03 17:36:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: jmr@fulcrummicro.com >Release: 3.3 20020801 (experimental) >Organization: >Environment: System: Linux churchill 2.4.3-12 #1 Fri Jun 8 15:05:56 EDT 2001 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc/configure --enable-threads=posix --prefix=/home/user/jmr/app/gcc --enable-shared --enable-languages=c++,java : (reconfigured) >Description: The program: public class TestAssert { public static void main(String[] args) { boolean enabled = false; assert enabled = true; System.out.println("Asserts " + (enabled ? "enabled" : "disabled")); } } prints "disabled" even though VMClassLoader.defaultAssertionStatus() always returns true. >How-To-Repeat: ; gcj -v --main=TestAssert TestAssert.java -o test_assert Reading specs from /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs Reading specs from /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/../../../libgcj.spec rename spec lib to liborig Configured with: ../gcc/configure --enable-threads=posix --prefix=/home/user/jmr/app/gcc --enable-shared --enable-languages=c++,java : (reconfigured) Thread model: posix gcc version 3.3 20020801 (experimental) /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/jc1 TestAssert.java -fhash-synchronization -fno-use-divide-subroutine -fuse-boehm-gc -fnon-call-exceptions -fkeep-inline-functions -quiet -dumpbase TestAssert.java -g1 -version -o /tmp/ccg64c5c.s GNU Java version 3.3 20020801 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 3.2 20020713 (experimental). Class path starts here: ./ /home/user/jmr/app/gcc/share/java/libgcj-3.3.jar/ (system) (zip) as --traditional-format -V -Qy -o /tmp/ccOs6Xkj.o /tmp/ccg64c5c.s GNU assembler version 2.12 (i686-pc-linux-gnu) using BFD version 2.12 /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/jvgenmain TestAssertmain /tmp/ccUGM6ar.i /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1 /tmp/ccUGM6ar.i -quiet -dumpbase TestAssertmain.c -g1 -version -fdollars-in-identifiers -o /tmp/ccg64c5c.s GNU C version 3.3 20020801 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 3.2 20020713 (experimental). as --traditional-format -V -Qy -o /tmp/ccymSnAz.o /tmp/ccg64c5c.s GNU assembler version 2.12 (i686-pc-linux-gnu) using BFD version 2.12 /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o test_assert /usr/lib/crt1.o /usr/lib/crti.o /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/crtbegin.o -L/home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3 -L/home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/../../.. /tmp/ccymSnAz.o /tmp/ccOs6Xkj.o -lgcc_s -lgcc -lgcj -lm -lpthread -ldl -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/user/jmr/app/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/crtend.o /usr/lib/crtn.o ; ./test_assert Asserts disabled >Fix: ; cvs diff parse.y ;: ~/gcc-compile/gcc/gcc/java 17:24 churchill Index: parse.y =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/java/parse.y,v retrieving revision 1.390 diff -c -r1.390 parse.y *** parse.y 2 Jul 2002 02:56:11 -0000 1.390 --- parse.y 4 Aug 2002 00:24:25 -0000 *************** *** 15353,15358 **** --- 15353,15361 ---- call = build (CALL_EXPR, NULL_TREE, id, NULL_TREE, NULL_TREE); call = make_qualified_primary (classdollar, call, location); TREE_SIDE_EFFECTS (call) = 1; + + /* Invert to obtain !CLASS.desiredAssertionStatus(). */ + call = build1 (TRUTH_NOT_EXPR, NULL_TREE, call); DECL_INITIAL (field) = call; /* Record the initializer in the initializer statement list. */ >Release-Note: >Audit-Trail: >Unformatted: