re PR c++/4872 (missed warning (no return) -- regression from 2.95)
authorJason Merrill <jason@redhat.com>
Fri, 1 Feb 2002 19:32:51 +0000 (14:32 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 1 Feb 2002 19:32:51 +0000 (14:32 -0500)
commitefe49da0ba74c2fa1efe212d9c91cbdb1680c06d
treead77fd5a8517b02ca6dc9e00f1c365c442c92888
parentf2d9afece3fb462b7abd8209a8d5d7119b28c0cd
re PR c++/4872 (missed warning (no return) -- regression from 2.95)

        PR c++/4872
        * decl.c (finish_function): Warn about a non-void function with
        no return statement and no abnormal exit.
        * cp-tree.h (struct cp_language_function): Add returns_abnormally.
        (current_function_returns_abnormally): New macro.
        * call.c (build_call): Set it.

From-SVN: r49407
26 files changed:
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/testsuite/g++.dg/abi/empty4.C
gcc/testsuite/g++.dg/other/const2.C
gcc/testsuite/g++.dg/other/deprecated.C
gcc/testsuite/g++.old-deja/g++.bob/inherit2.C
gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C
gcc/testsuite/g++.old-deja/g++.jason/byval2.C
gcc/testsuite/g++.old-deja/g++.law/operators17.C
gcc/testsuite/g++.old-deja/g++.mike/eh50.C
gcc/testsuite/g++.old-deja/g++.mike/eh51.C
gcc/testsuite/g++.old-deja/g++.mike/net20.C
gcc/testsuite/g++.old-deja/g++.mike/net40.C
gcc/testsuite/g++.old-deja/g++.mike/net45.C
gcc/testsuite/g++.old-deja/g++.mike/p10511.C
gcc/testsuite/g++.old-deja/g++.mike/p11012.C
gcc/testsuite/g++.old-deja/g++.mike/p7325.C
gcc/testsuite/g++.old-deja/g++.other/crash25.C
gcc/testsuite/g++.old-deja/g++.other/for1.C
gcc/testsuite/g++.old-deja/g++.other/init12.C
gcc/testsuite/g++.old-deja/g++.other/new.C
gcc/testsuite/g++.old-deja/g++.other/new4.C
gcc/testsuite/g++.old-deja/g++.other/rtti1.C
gcc/testsuite/g++.old-deja/g++.pt/spec1.C