This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][C/C++] Do not promote return arguments
- From: Ian Lance Taylor <iant at google dot com>
- To: Andrew Haley <aph-gcc at littlepinkcloud dot COM>
- Cc: Richard Guenther <rguenther at suse dot de>, gcc-patches at gcc dot gnu dot org
- Date: 06 Aug 2007 07:30:21 -0700
- Subject: Re: [PATCH][C/C++] Do not promote return arguments
- References: <Pine.LNX.4.64.0707051311250.24708@zhemvz.fhfr.qr> <m3y7ht38al.fsf@localhost.localdomain> <18103.7341.556783.13690@zebedee.pink>
Andrew Haley <aph-gcc@littlepinkcloud.COM> writes:
> Ian Lance Taylor writes:
> > Richard Guenther <rguenther@suse.de> writes:
> >
> > > 2007-07-05 Richard Guenther <rguenther@suse.de>
> > >
> > > cp/
> > > * decl.c (start_preparsed_function): Do not promote return type.
> > >
> > > * c-decl.c (start_function): Do not promote return type.
> >
> > This is OK.
> >
> > Thanks.
>
> This is an externally visible change that causes return values not to
> be zero- or sign-extended. This breaks code. I don't think this
> should be done.
>
> See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32843 for more discussion.
It's a struggle for me to imagine valid C/C++ code which is broken by
this change. The PR refers to libffi code, and libffi is obviously
implementation dependent.
Andrew, can you show any examples of valid C/C++ code which this
breaks?
That said, Richi, what is the advantage of this patch? Should we
avoid disturbing the status quo?
Ian