This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Clean up the gimple type verifier [1/2]
- From: Andrew Haley <aph at redhat dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: Richard Guenther <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org, Diego Novillo <dnovillo at google dot com>
- Date: Fri, 05 Sep 2008 10:40:35 +0100
- Subject: Re: [PATCH] Clean up the gimple type verifier [1/2]
- References: <alpine.LNX.1.10.0809031824150.14563@zhemvz.fhfr.qr> <m3fxofx26d.fsf@fleche.redhat.com>
Tom Tromey wrote:
>>>>>> "Richard" == Richard Guenther <rguenther@suse.de> writes:
>
> Richard> This is a re-post with the changes requested by Diego. Tom - is the
> Richard> Java part ok? The cases in the C/C++ frontend it refers to have been
> Richard> removed one and a half years ago.
>
> It seems ok to me, but I'd like it if Andrew would look at this.
> Andrew, I quoted the patch in question at the end.
Hmm. I have no idea whether this will break binary compatibility.
We'd have to test i.
Andrew.
> Richard> ! ??? Java is completely off. Especially with functions
> Richard> ! returning java.lang.Object.
>
> It would be good to have a bug report or something for this.
>
> Richard> java/
> Richard> * decl.c (build_result_decl): Remove no longer applicable
> Richard> promotion.
>
> Richard> Index: gcc/java/decl.c
> Richard> ===================================================================
> Richard> *** gcc/java/decl.c.orig 2008-09-03 13:33:49.000000000 +0200
> Richard> --- gcc/java/decl.c 2008-09-03 13:42:43.000000000 +0200
> Richard> *************** build_result_decl (tree fndecl)
> Richard> *** 1694,1703 ****
> Richard> tree result = DECL_RESULT (fndecl);
> Richard> if (! result)
> Richard> {
> Richard> - /* To be compatible with C_PROMOTING_INTEGER_TYPE_P in cc1/cc1plus. */
> Richard> - if (INTEGRAL_TYPE_P (restype)
> Richard> - && TYPE_PRECISION (restype) < TYPE_PRECISION (integer_type_node))
> Richard> - restype = integer_type_node;
> Richard> result = build_decl (RESULT_DECL, NULL_TREE, restype);
> Richard> DECL_ARTIFICIAL (result) = 1;
> Richard> DECL_IGNORED_P (result) = 1;
> Richard> --- 1694,1699 ----
>
>
> Tom