This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: java/8260: gcj -fprofile-arcs -ftest-coverage doesn't work
- From: Jeff Sturm <jsturm at one-point dot com>
- To: owen at schwartz-omalley dot com
- Cc: gcc-gnats at gcc dot gnu dot org, <gcc-prs at gcc dot gnu dot org>, <gcc-bugs at gcc dot gnu dot org>, <java-prs at gcc dot gnu dot org>
- Date: Thu, 17 Oct 2002 15:42:02 -0400 (EDT)
- Subject: Re: java/8260: gcj -fprofile-arcs -ftest-coverage doesn't work
On 17 Oct 2002 owen@schwartz-omalley.com wrote:
> gcj doesn't seem to support -fprofile-arcs:
>
> gcj -fprofile-arcs -ftest-coverage -g --main=test test.java
> test.java:
> Internal compiler error: Error reporting routines re-entered.
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
-fprofile-arcs is broken because the gcj frontend doesn't initialize
long_integer_type_node.
I've been using the following workaround, but haven't submitted since I'm
not sure it's the right thing to do. (I.e. is int_type_node or
long_type_node the correct size for it? These are java types, not C
types.)
Index: decl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/decl.c,v
retrieving revision 1.132
diff -u -r1.132 decl.c
--- decl.c 21 Sep 2002 02:19:44 -0000 1.132
+++ decl.c 17 Oct 2002 19:36:43 -0000
@@ -426,7 +426,7 @@
pushdecl (build_decl (TYPE_DECL, get_identifier ("byte"), byte_type_node));
short_type_node = make_signed_type (16);
pushdecl (build_decl (TYPE_DECL, get_identifier ("short"), short_type_node));
- int_type_node = make_signed_type (32);
+ long_integer_type_node = int_type_node = make_signed_type (32);
pushdecl (build_decl (TYPE_DECL, get_identifier ("int"), int_type_node));
long_type_node = make_signed_type (64);
pushdecl (build_decl (TYPE_DECL, get_identifier ("long"), long_type_node));