This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/28408] What should be value of complex<double>(1.0,0.0) *= -1?
- From: "joseph at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Sep 2006 01:57:52 -0000
- Subject: [Bug c++/28408] What should be value of complex<double>(1.0,0.0) *= -1?
- References: <bug-28408-11211@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #15 from joseph at codesourcery dot com 2006-09-07 01:57 -------
Subject: Re: What should be value of complex<double>(1.0,0.0)
*= -1?
On Thu, 7 Sep 2006, pcarlini at suse dot de wrote:
> And, by the way, it's also generally untrue that F8 is only illustrative of not
> permitted transformations. For example, a few lines above:
>
> 1 * x and x / 1 -> x The expressions 1 * x, x / 1 and x are equivalent
> (on IEC 60559 machines, among others)
Such statements also are informative, not normative. The normative
requirements come from F.3 (the operations shall be the IEC 60559
operations) and IEC 60559. A transformation is permitted iff it conforms
to the normative requirements under the as-if rule of 5.1.2.3. F.8.2
gives hints, but they are just hints; you can make a transformation iff
you can show that it does not change the semantics required by 5.1.2.3,
F.3 and the other normative requirements.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28408