Commit 1581a9a1 by Andrew Pinski Committed by Andrew Pinski

re PR c++/20624 (wrong "control reaches end of non-void function" warning)

2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/20624
        * g++.dg/warn/Wreturn-3.C: New test

2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/20624
        * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
        looking past it.

From-SVN: r103268
parent c0975bc7
2005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/20624
* gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
looking past it.
2005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* collect2.c (dup2): Delete. * collect2.c (dup2): Delete.
......
...@@ -368,6 +368,9 @@ block_may_fallthru (tree block) ...@@ -368,6 +368,9 @@ block_may_fallthru (tree block)
case CALL_EXPR: case CALL_EXPR:
/* Functions that do not return do not fall through. */ /* Functions that do not return do not fall through. */
return (call_expr_flags (stmt) & ECF_NORETURN) == 0; return (call_expr_flags (stmt) & ECF_NORETURN) == 0;
case CLEANUP_POINT_EXPR:
return block_may_fallthru (TREE_OPERAND (stmt, 0));
default: default:
return true; return true;
......
2005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/20624
* g++.dg/warn/Wreturn-3.C: New test
2005-08-18 Dorit Nuzman <dorit@il.ibm.com> 2005-08-18 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/22228 PR tree-optimization/22228
......
// { dg-options "-Wreturn-type" }
// PR c++/20624
struct fpos {
fpos(int __pos) {}
};
struct g {
g();
~g();
};
fpos seekoff(int b, int c)
{
g __buf;
if (b != -1 && c >= 0)
return fpos(-1);
else
return fpos(-1);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment