* [Bug c++/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
@ 2013-04-25 8:05 ` rguenth at gcc dot gnu.org
2013-04-25 8:41 ` mpolacek at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-25 8:05 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to work| |4.1.3
Keywords| |wrong-code
Last reconfirmed| |2013-04-25
Ever Confirmed|0 |1
Summary|std::logb(-inf) returns |[4.7/4.8/4.9 Regression]
|wrong value |std::logb(-inf) returns
| |wrong value
Target Milestone|--- |4.7.4
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-25 08:05:04 UTC ---
/* Fold a call to builtin logb/ilogb. */
static tree
fold_builtin_logb (location_t loc, tree arg, tree rettype)
{
...
switch (value->cl)
{
case rvc_nan:
case rvc_inf:
/* If arg is Inf or NaN and we're logb, return it. */
if (TREE_CODE (rettype) == REAL_TYPE)
return fold_convert_loc (loc, rettype, arg);
is wrong for -inf. Folding introduced in 2007 thus a regression.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
2013-04-25 8:05 ` [Bug c++/57066] [4.7/4.8/4.9 Regression] " rguenth at gcc dot gnu.org
@ 2013-04-25 8:41 ` mpolacek at gcc dot gnu.org
2013-04-25 10:26 ` [Bug tree-optimization/57066] " mpolacek at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 8:41 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 08:41:28 UTC ---
Note that at least -O is needed + -std=c++11. With -O0 it correctly prints
"inf".
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
2013-04-25 8:05 ` [Bug c++/57066] [4.7/4.8/4.9 Regression] " rguenth at gcc dot gnu.org
2013-04-25 8:41 ` mpolacek at gcc dot gnu.org
@ 2013-04-25 10:26 ` mpolacek at gcc dot gnu.org
2013-04-25 11:47 ` mpolacek at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 10:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Component|c++ |tree-optimization
AssignedTo|unassigned at gcc dot |mpolacek at gcc dot gnu.org
|gnu.org |
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 10:26:57 UTC ---
I may have a fix.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (2 preceding siblings ...)
2013-04-25 10:26 ` [Bug tree-optimization/57066] " mpolacek at gcc dot gnu.org
@ 2013-04-25 11:47 ` mpolacek at gcc dot gnu.org
2013-04-25 13:43 ` mpolacek at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 11:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 11:47:34 UTC ---
I wonder if std::logb(-NaN) should also return +NaN.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (3 preceding siblings ...)
2013-04-25 11:47 ` mpolacek at gcc dot gnu.org
@ 2013-04-25 13:43 ` mpolacek at gcc dot gnu.org
2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 13:43 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 13:43:39 UTC ---
(In reply to comment #4)
> I wonder if std::logb(-NaN) should also return +NaN.
It turned out that in NaN's case it doesn't matter.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (4 preceding siblings ...)
2013-04-25 13:43 ` mpolacek at gcc dot gnu.org
@ 2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 15:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 15:52:16 UTC ---
Author: mpolacek
Date: Thu Apr 25 15:51:57 2013
New Revision: 198308
URL: http://gcc.gnu.org/viewcvs?rev=198308&root=gcc&view=rev
Log:
PR tree-optimization/57066
* builtins.c (fold_builtin_logb): Return +Inf for -Inf.
* gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8/4.9 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (5 preceding siblings ...)
2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
@ 2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
2013-05-03 8:55 ` [Bug tree-optimization/57066] [4.7/4.8 " mpolacek at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-04-25 15:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-04-25 15:52:45 UTC ---
Fixed on trunk so far, will backport to 4.7/4.8 later on.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (6 preceding siblings ...)
2013-04-25 15:52 ` mpolacek at gcc dot gnu.org
@ 2013-05-03 8:55 ` mpolacek at gcc dot gnu.org
2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-05-03 8:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #8 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-05-03 08:55:26 UTC ---
Author: mpolacek
Date: Fri May 3 08:55:08 2013
New Revision: 198570
URL: http://gcc.gnu.org/viewcvs?rev=198570&root=gcc&view=rev
Log:
PR tree-optimization/57066
* builtins.c (fold_builtin_logb): Return +Inf for -Inf.
* gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/builtins.c
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (7 preceding siblings ...)
2013-05-03 8:55 ` [Bug tree-optimization/57066] [4.7/4.8 " mpolacek at gcc dot gnu.org
@ 2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-05-03 8:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
--- Comment #9 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-05-03 08:59:30 UTC ---
Author: mpolacek
Date: Fri May 3 08:59:14 2013
New Revision: 198571
URL: http://gcc.gnu.org/viewcvs?rev=198571&root=gcc&view=rev
Log:
PR tree-optimization/57066
* builtins.c (fold_builtin_logb): Return +Inf for -Inf.
* gcc.dg/torture/builtin-logb-1.c: Adjust testcase.
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/builtins.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/torture/builtin-logb-1.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug tree-optimization/57066] [4.7/4.8 Regression] std::logb(-inf) returns wrong value
2013-04-25 7:01 [Bug c++/57066] New: std::logb(-inf) returns wrong value bolero.murakami at gmail dot com
` (8 preceding siblings ...)
2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
@ 2013-05-03 8:59 ` mpolacek at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-05-03 8:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57066
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #10 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-05-03 08:59:42 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 11+ messages in thread