[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#320947: marked as done ([PR 20624] invalid 'control reaches end of non-void function')



Your message dated Wed, 07 Sep 2005 23:49:17 +0200
with message-id <871x405z1e.fsf@debian.org>
and subject line Bug#320947: invalid 'control reaches end of non-void function'
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 2 Aug 2005 10:08:13 +0000
>From dknof@computerlabor.math.uni-kiel.de Tue Aug 02 03:08:13 2005
Return-path: <dknof@computerlabor.math.uni-kiel.de>
Received: from nms.rz.uni-kiel.de [134.245.1.2] 
	by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
	id 1Dztgz-00065Q-00; Tue, 02 Aug 2005 03:08:13 -0700
Received: from amavis by nms.rz.uni-kiel.de with scanned-ok (Exim 4.34)
	id 1DztgS-0007cq-Er
	for submit@bugs.debian.org; Tue, 02 Aug 2005 12:07:40 +0200
Received: from bourbaki.math.uni-kiel.de ([134.245.104.244])
	by nms.rz.uni-kiel.de with esmtp (Exim 4.34)
	id 1DztgQ-0007cW-DW
	for submit@bugs.debian.org; Tue, 02 Aug 2005 12:07:38 +0200
Received: from suzuki.math.uni-kiel.de (mail@suzuki.math.uni-kiel.de [134.245.104.248])
	by bourbaki.math.uni-kiel.de (8.12.3/8.12.3/Debian-7.1) with ESMTP id j72A7caF021602
	for <submit@bugs.debian.org>; Tue, 2 Aug 2005 12:07:38 +0200
Received: from dknof by suzuki.math.uni-kiel.de with local (Exim 3.36 #1 (Debian))
	id 1DztgQ-0002Xs-00
	for <submit@bugs.debian.org>; Tue, 02 Aug 2005 12:07:38 +0200
Date: Tue, 2 Aug 2005 12:07:38 +0200
To: submit@bugs.debian.org
Subject: g++-4.0: invalid 'control reaches end of non-void function'
Message-ID: <20050802100738.GA9775@burnside.math.uni-kiel.de>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="Q68bSM7Ycu6FN28Q"
Content-Disposition: inline
User-Agent: Mutt/1.5.6+20040907i
From: Diether Knof <dknof@computerlabor.math.uni-kiel.de>
X-Virus-Scanned: by AMaViS 0.3.12 (Uni-Kiel/nms-cs)
Delivered-To: submit@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-7.3 required=4.0 tests=BAYES_00,HAS_PACKAGE,
	THE_FOLLOWING_FORM autolearn=no 
	version=2.60-bugs.debian.org_2005_01_02


--Q68bSM7Ycu6FN28Q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: g++-4.0
Version: 4.0.1-2

compiling with '-Wall' gives in some cases the warning 'control reaches end=
 of non-void function' for code of the following form
  if (a)
    return 10;
  else
    return 20;
at the end of a function. The 3.3er version of g++ does not give the warnin=
g.
At the end is an example to test. Further removing of code makes the warnin=
g disappear although it should have nothing to do with it.

-- versions

$ g++-4.0 -c -Wall end_of_non-void_function.cpp=20
end_of_non-void_function.cpp: In member function 'Hand Player::handofplayer=
(const Player&) const':
end_of_non-void_function.cpp:67: warning: control reaches end of non-void f=
unction

$ g++-4.0 -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=3Dc,c++,java,f95,ob=
jc,ada,treelang --prefix=3D/usr --enable-shared --with-system-zlib --libexe=
cdir=3D/usr/lib --enable-nls --without-included-gettext --enable-threads=3D=
posix --program-suffix=3D-4.0 --enable-__cxa_atexit --enable-libstdcxx-allo=
cator=3Dmt --enable-clocale=3Dgnu --enable-libstdcxx-debug --enable-java-gc=
=3Dboehm --enable-java-awt=3Dgtk --with-java-home=3D/usr/lib/jvm/java-1.4.2=
-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=3Drel=
ease i486-linux-gnu
Thread model: posix
gcc version 4.0.1 (Debian 4.0.1-2)

$ dpkg -l g++-4.0
ii  g++-4.0        4.0.1-2        The GNU C++ compiler

$ g++-3.3 -Wall -c end_of_non.cpp
$

$ g++-3.3 -v
Lese Spezifikationen von /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Konfiguriert mit: ../src/configure -v --enable-languages=3Dc,c++,java,f77,p=
ascal,objc,ada,treelang --prefix=3D/usr --mandir=3D/usr/share/man --infodir=
=3D/usr/share/info --with-gxx-include-dir=3D/usr/include/c++/3.3 --enable-s=
hared --enable-__cxa_atexit --with-system-zlib --enable-nls --without-inclu=
ded-gettext --enable-clocale=3Dgnu --enable-debug --enable-java-gc=3Dboehm =
--enable-java-awt=3Dxlib --enable-objc-gc i486-linux
Thread-Modell: posix
gcc-Version 3.3.5 (Debian 1:3.3.5-13)

$ dpkg -l g++-3.3
ii  g++-3.3        3.3.5-13       The GNU C++ compiler

The other packages are of the testing version but the kernel, which is 2.6.=
12.3 (from www.kernel.org), self compiled.

-- example file (compile with 'g++-4.0 -c -Wall')

class Player;
class Hand {
  public:
    Hand(Player const& player);
    ~Hand();
};

class Player {
  public:
  Hand const& hand() const;
  Hand handofplayer(Player const& player) const;
};

Hand
Player::handofplayer( Player const& player ) const
{
  if (false)
    return this->hand();

  // Ai, Player, Hand are self defined classes
  Hand hand(player);

  extern const bool INFO_AI;
  extern const bool INFO_OTHER_FUNCTION;
  if (INFO_AI && INFO_OTHER_FUNCTION)
    return hand;
  else
    return hand;
}

--Q68bSM7Ycu6FN28Q
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFC70XqWhZKqhP/l4gRAm82AKCYcyUDUG1FSNWbPEtLTTa5M2VLXgCdHHEJ
Mv1mw+C5Of0pWB7T4sTeoK4=
=I4A1
-----END PGP SIGNATURE-----

--Q68bSM7Ycu6FN28Q--

---------------------------------------
Received: (at 320947-done) by bugs.debian.org; 7 Sep 2005 21:49:47 +0000
>From falk@debian.org Wed Sep 07 14:49:47 2005
Return-path: <falk@debian.org>
Received: from smtp07.web.de [217.72.192.225] 
	by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
	id 1ED7nf-0004WJ-00; Wed, 07 Sep 2005 14:49:47 -0700
Received: from [82.82.219.39] (helo=juist)
	by smtp07.web.de with asmtp (TLSv1:DES-CBC3-SHA:168)
	(WEB.DE 4.105 #314)
	id 1ED7nA-0007Ay-00
	for 320947-done@bugs.debian.org; Wed, 07 Sep 2005 23:49:16 +0200
Received: from falk by juist with local (Exim 4.52)
	id 1ED7nB-0004uT-1m
	for 320947-done@bugs.debian.org; Wed, 07 Sep 2005 23:49:17 +0200
To: 320947-done@bugs.debian.org
Subject: Bug#320947: invalid 'control reaches end of non-void function'
From: Falk Hueffner <falk@debian.org>
X-Face: "iUeUu$b*W_"w?tV83Y3*r:`rh&dRv}$YnZ3,LVeCZSYVuf[Gpo*5%_=/\_!gc_,SS}[~xZ
 wY77I-M)xHIx:2f56g%/`SOw"Dx%4Xq0&f\Tj~>|QR|vGlU}TBYhiG(K:2<T^
Date: Wed, 07 Sep 2005 23:49:17 +0200
Message-ID: <871x405z1e.fsf@debian.org>
User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (cilantro, linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Sender: falk@debian.org
X-Sender: falk.hueffner@web.de
Delivered-To: 320947-done@bugs.debian.org
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
	(1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level: 
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
	autolearn=no version=2.60-bugs.debian.org_2005_01_02

Version: 4.0.1-6

Fixed.

-- 
	Falk



Reply to: