Bug #13616 Updated: Compiler complains about function declaration after return is called
| From: | derick@php.net | Date: | Wed, 10 Oct 2001 06:31:17 +0000 |
| Subject: | Bug #13616 Updated: Compiler complains about function declaration after return is called | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-67659@lists.php.net to get a copy of this message | ||
ID: 13616
Updated by: derick
Reported By: brianm@dealnews.com
Old Status: Open
Status: Critical
Bug Type: Scripting Engine problem
Operating System: Linux
PHP Version: 4.0CVS-2001-10-09
New Comment:
Marking as fix before release
Previous Comments:
------------------------------------------------------------------------
[2001-10-09 13:57:28] sander@php.net
Reclassified.
------------------------------------------------------------------------
[2001-10-09 13:09:15] brianm@dealnews.com
We have been using code like this for a long time:
test.php:
<?php
include "test2.php";
include "test3.php";
foo();
bar();
?>
test2.php:
<?php
if(defined("_TEST2")) return;
define("_TEST2", true);
function foo(){
echo "foo\n";
}
?>
test3.php
<?php
if(defined("_TEST3")) return;
define("_TEST3", true);
include "test2.php";
function bar(){
echo "bar\n";
}
?>
With 4.0.6 we get:
-------------------
$ php test.php
X-Powered-By: PHP/4.0.6RC4
Content-type: text/html
foo
bar
With current dev we get:
------------------------
$ ./php test.php
X-Powered-By: PHP/4.0.8-dev
Content-type: text/html
Fatal error: Cannot redeclare foo() (previously declared in /home/brianm/test2.php:6) in
/home/brianm/test2.php on line 7
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=13616&edit=1