This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c/1910: incorrect long long return value with -O2 optimization
- To: nobody at gcc dot gnu dot org
- Subject: Re: c/1910: incorrect long long return value with -O2 optimization
- From: dan kopetzky <djk at super dot org>
- Date: 9 Feb 2001 13:16:01 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: dan kopetzky <djk at super dot org>
The following reply was made to PR c/1910; it has been noted by GNATS.
From: dan kopetzky <djk@super.org>
To: Richard Henderson <rth@redhat.com>
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: c/1910: incorrect long long return value with -O2 optimization
Date: Fri, 09 Feb 2001 08:13:19 -0500
Richard Henderson wrote:
> On Thu, Feb 08, 2001 at 01:14:45PM -0000, djk@super.org wrote:
> > struct cl val;
> > val.one = a;
> > val.two = 0;
> > return *(long long *)&val;
>
> This code is incorrect. You are running afoul of ISO C
> type aliasing rules.
>
> r~
Thanks for your prompt reply. I'll convert the offending code to use
unions.