cvs: ZendEngine2(PHP_5_3) / zend_language_scanner.c zend_language_scanner_defs.h /tests bug47516.phpt php-src NEWS

[email protected] ("Dmitry Stogov") Thu, 26 Mar 2009 12:37:55 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsdmitry1238071075@cvsserver>
dmitry		Thu Mar 26 12:37:55 2009 UTC

  Added files:                 (Branch: PHP_5_3)
    /ZendEngine2/tests	bug47516.phpt 

  Modified files:              
    /php-src	NEWS 
    /ZendEngine2	zend_language_scanner.c zend_language_scanner_defs.h 
  Log:
  Fixed bug #47516 (nowdoc can not be embed in heredoc but can be embed in double quote)
dmitry-20090326123755.txt (text/plain, 30.1 KB)
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.536&r2=1.2027.2.547.2.965.2.537&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.536 php-src/NEWS:1.2027.2.547.2.965.2.537
--- php-src/NEWS:1.2027.2.547.2.965.2.536	Thu Mar 26 10:56:45 2009
+++ php-src/NEWS	Thu Mar 26 12:37:52 2009
@@ -8,6 +8,8 @@
 - Fixed bug #47714 (autoloading classes inside exception_handler leads to
   crashes). (Dmitry)
 - Fixed bug #47699 (autoload and late static binding). (Dmitry)
+- Fixed bug #47516 (nowdoc can not be embed in heredoc but can be embed in
+  double quote). (Dmitry)
 - Fixed bug #47038 (Memory leak in include). (Dmitry)
 - Fixed bug #44409 (PDO::FETCH_SERIALIZE calls __construct()). (Matteo)
 - Fixed bug #42362 (HTTP status codes 204 and 304 should not be gzipped).
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner.c?r1=1.1.2.36&r2=1.1.2.37&diff_format=u
Index: ZendEngine2/zend_language_scanner.c
diff -u ZendEngine2/zend_language_scanner.c:1.1.2.36 ZendEngine2/zend_language_scanner.c:1.1.2.37
--- ZendEngine2/zend_language_scanner.c:1.1.2.36	Wed Mar 25 15:23:55 2009
+++ ZendEngine2/zend_language_scanner.c	Thu Mar 26 12:37:52 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Mar 25 18:23:22 2009 */
+/* Generated by re2c 0.13.5 on Thu Mar 26 15:37:35 2009 */
 #line 1 "Zend/zend_language_scanner.l"
 /*
    +----------------------------------------------------------------------+
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_language_scanner.c,v 1.1.2.36 2009/03/25 15:23:55 dmitry Exp $ */
+/* $Id: zend_language_scanner.c,v 1.1.2.37 2009/03/26 12:37:52 dmitry Exp $ */
 
 #if 0
 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
@@ -930,7 +930,7 @@
 		++YYCURSOR;
 		YYDEBUG(3, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
 #line 936 "Zend/zend_language_scanner.c"
 yy4:
@@ -1404,7 +1404,7 @@
 yy58:
 		YYDEBUG(58, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2013 "Zend/zend_language_scanner.l"
+#line 2017 "Zend/zend_language_scanner.l"
 		{
 	zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
 	return T_ENCAPSED_AND_WHITESPACE;
@@ -1447,7 +1447,7 @@
 yy61:
 		YYDEBUG(61, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1988 "Zend/zend_language_scanner.l"
+#line 1992 "Zend/zend_language_scanner.l"
 		{
 	zendlval->value.lval = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -1496,7 +1496,7 @@
 		++YYCURSOR;
 		YYDEBUG(67, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2091 "Zend/zend_language_scanner.l"
+#line 2095 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_IN_SCRIPTING);
 	return '`';
@@ -1574,7 +1574,7 @@
 yy73:
 		YYDEBUG(73, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2018 "Zend/zend_language_scanner.l"
+#line 2022 "Zend/zend_language_scanner.l"
 		{
 	yyless(yyleng - 1);
 	zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
@@ -1938,7 +1938,7 @@
 yy113:
 		YYDEBUG(113, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1995 "Zend/zend_language_scanner.l"
+#line 1999 "Zend/zend_language_scanner.l"
 		{
 	zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
 	return T_ENCAPSED_AND_WHITESPACE;
@@ -1982,7 +1982,7 @@
 yy116:
 		YYDEBUG(116, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1988 "Zend/zend_language_scanner.l"
+#line 1992 "Zend/zend_language_scanner.l"
 		{
 	zendlval->value.lval = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2030,7 +2030,7 @@
 		++YYCURSOR;
 		YYDEBUG(122, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2085 "Zend/zend_language_scanner.l"
+#line 2089 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_IN_SCRIPTING);
 	return '"';
@@ -2111,7 +2111,7 @@
 yy128:
 		YYDEBUG(128, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2006 "Zend/zend_language_scanner.l"
+#line 2010 "Zend/zend_language_scanner.l"
 		{
 	yyless(yyleng - 1);
 	zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
@@ -2225,7 +2225,7 @@
 	++YYCURSOR;
 	YYDEBUG(146, *YYCURSOR);
 	yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 	{ return 0; }
 #line 2231 "Zend/zend_language_scanner.c"
 yy147:
@@ -2233,7 +2233,7 @@
 	++YYCURSOR;
 	YYDEBUG(148, *YYCURSOR);
 	yyleng = YYCURSOR - SCNG(yy_text);
-#line 1974 "Zend/zend_language_scanner.l"
+#line 1978 "Zend/zend_language_scanner.l"
 	{
 	YYCURSOR += CG(heredoc_len) - 1;
 	yyleng = CG(heredoc_len);
@@ -2315,7 +2315,7 @@
 yy151:
 		YYDEBUG(151, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2032 "Zend/zend_language_scanner.l"
+#line 2036 "Zend/zend_language_scanner.l"
 		{
 	zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
 	return T_ENCAPSED_AND_WHITESPACE;
@@ -2371,7 +2371,7 @@
 yy155:
 		YYDEBUG(155, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1988 "Zend/zend_language_scanner.l"
+#line 1992 "Zend/zend_language_scanner.l"
 		{
 	zendlval->value.lval = (long) '{';
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
@@ -2628,7 +2628,7 @@
 yy174:
 		YYDEBUG(174, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2037 "Zend/zend_language_scanner.l"
+#line 2041 "Zend/zend_language_scanner.l"
 		{
 	yyless(yyleng - 1);
 	zend_scan_escape_string(zendlval, yytext, yyleng, 0 TSRMLS_CC);
@@ -2733,7 +2733,7 @@
 		++YYCURSOR;
 		YYDEBUG(182, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1937 "Zend/zend_language_scanner.l"
+#line 1941 "Zend/zend_language_scanner.l"
 		{
 	char *end = yytext + yyleng - 1;
 
@@ -3290,7 +3290,7 @@
 		++YYCURSOR;
 		YYDEBUG(216, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
 #line 3296 "Zend/zend_language_scanner.c"
 yy217:
@@ -3951,7 +3951,7 @@
 yy274:
 		YYDEBUG(274, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2098 "Zend/zend_language_scanner.l"
+#line 2102 "Zend/zend_language_scanner.l"
 		{
 	zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
 	goto restart;
@@ -3962,7 +3962,7 @@
 		++YYCURSOR;
 		YYDEBUG(276, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 1925 "Zend/zend_language_scanner.l"
+#line 1929 "Zend/zend_language_scanner.l"
 		{
 	BEGIN(ST_BACKQUOTE);
 	return '`';
@@ -4777,6 +4777,10 @@
 	char *s;
 	int bprefix = (yytext[0] != '<') ? 1 : 0;
 
+	/* save old heredoc label */
+	Z_STRVAL_P(zendlval) = CG(heredoc);
+	Z_STRLEN_P(zendlval) = CG(heredoc_len);
+
 	CG(zend_lineno)++;
 	CG(heredoc_len) = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
 	s = yytext+bprefix+3;
@@ -4816,7 +4820,7 @@
 
 	return T_START_HEREDOC;
 }
-#line 4820 "Zend/zend_language_scanner.c"
+#line 4824 "Zend/zend_language_scanner.c"
 yy385:
 		YYDEBUG(385, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4860,7 +4864,7 @@
 		{
 	return T_IS_NOT_IDENTICAL;
 }
-#line 4864 "Zend/zend_language_scanner.c"
+#line 4868 "Zend/zend_language_scanner.c"
 yy391:
 		YYDEBUG(391, *YYCURSOR);
 		++YYCURSOR;
@@ -4870,7 +4874,7 @@
 		{
 	return T_PLUS_EQUAL;
 }
-#line 4874 "Zend/zend_language_scanner.c"
+#line 4878 "Zend/zend_language_scanner.c"
 yy393:
 		YYDEBUG(393, *YYCURSOR);
 		++YYCURSOR;
@@ -4880,7 +4884,7 @@
 		{
 	return T_INC;
 }
-#line 4884 "Zend/zend_language_scanner.c"
+#line 4888 "Zend/zend_language_scanner.c"
 yy395:
 		YYDEBUG(395, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -4903,7 +4907,7 @@
 		{
 	return T_LIST;
 }
-#line 4907 "Zend/zend_language_scanner.c"
+#line 4911 "Zend/zend_language_scanner.c"
 yy399:
 		YYDEBUG(399, *YYCURSOR);
 		++YYCURSOR;
@@ -4914,7 +4918,7 @@
 		{
 	return T_IS_EQUAL;
 }
-#line 4918 "Zend/zend_language_scanner.c"
+#line 4922 "Zend/zend_language_scanner.c"
 yy401:
 		YYDEBUG(401, *YYCURSOR);
 		++YYCURSOR;
@@ -4924,7 +4928,7 @@
 		{
 	return T_DOUBLE_ARROW;
 }
-#line 4928 "Zend/zend_language_scanner.c"
+#line 4932 "Zend/zend_language_scanner.c"
 yy403:
 		YYDEBUG(403, *YYCURSOR);
 		++YYCURSOR;
@@ -4934,7 +4938,7 @@
 		{
 	return T_IS_IDENTICAL;
 }
-#line 4938 "Zend/zend_language_scanner.c"
+#line 4942 "Zend/zend_language_scanner.c"
 yy405:
 		YYDEBUG(405, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5066,7 +5070,7 @@
 	}
 	return T_NS_C;
 }
-#line 5070 "Zend/zend_language_scanner.c"
+#line 5074 "Zend/zend_language_scanner.c"
 yy424:
 		YYDEBUG(424, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5113,7 +5117,7 @@
 	zendlval->type = IS_STRING;
 	return T_DIR;
 }
-#line 5117 "Zend/zend_language_scanner.c"
+#line 5121 "Zend/zend_language_scanner.c"
 yy429:
 		YYDEBUG(429, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5144,7 +5148,7 @@
 	zendlval->type = IS_LONG;
 	return T_LINE;
 }
-#line 5148 "Zend/zend_language_scanner.c"
+#line 5152 "Zend/zend_language_scanner.c"
 yy435:
 		YYDEBUG(435, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5200,7 +5204,7 @@
 	zendlval->type = IS_STRING;
 	return T_METHOD_C;
 }
-#line 5204 "Zend/zend_language_scanner.c"
+#line 5208 "Zend/zend_language_scanner.c"
 yy443:
 		YYDEBUG(443, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5267,7 +5271,7 @@
 	zendlval->type = IS_STRING;
 	return T_FUNC_C;
 }
-#line 5271 "Zend/zend_language_scanner.c"
+#line 5275 "Zend/zend_language_scanner.c"
 yy454:
 		YYDEBUG(454, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5299,7 +5303,7 @@
 	zendlval->type = IS_STRING;
 	return T_FILE;
 }
-#line 5303 "Zend/zend_language_scanner.c"
+#line 5307 "Zend/zend_language_scanner.c"
 yy459:
 		YYDEBUG(459, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5345,7 +5349,7 @@
 	zendlval->type = IS_STRING;
 	return T_CLASS_C;
 }
-#line 5349 "Zend/zend_language_scanner.c"
+#line 5353 "Zend/zend_language_scanner.c"
 yy466:
 		YYDEBUG(466, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5411,7 +5415,7 @@
 		{
 	return T_HALT_COMPILER;
 }
-#line 5415 "Zend/zend_language_scanner.c"
+#line 5419 "Zend/zend_language_scanner.c"
 yy479:
 		YYDEBUG(479, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5435,7 +5439,7 @@
 		{
 	return T_USE;
 }
-#line 5439 "Zend/zend_language_scanner.c"
+#line 5443 "Zend/zend_language_scanner.c"
 yy483:
 		YYDEBUG(483, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5458,7 +5462,7 @@
 		{
 	return T_UNSET;
 }
-#line 5462 "Zend/zend_language_scanner.c"
+#line 5466 "Zend/zend_language_scanner.c"
 yy487:
 		YYDEBUG(487, *YYCURSOR);
 		++YYCURSOR;
@@ -5634,7 +5638,7 @@
 		{
 	return T_INT_CAST;
 }
-#line 5638 "Zend/zend_language_scanner.c"
+#line 5642 "Zend/zend_language_scanner.c"
 yy505:
 		YYDEBUG(505, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5682,7 +5686,7 @@
 		{
 	return T_DOUBLE_CAST;
 }
-#line 5686 "Zend/zend_language_scanner.c"
+#line 5690 "Zend/zend_language_scanner.c"
 yy514:
 		YYDEBUG(514, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5756,7 +5760,7 @@
 		{
 	return T_STRING_CAST;
 }
-#line 5760 "Zend/zend_language_scanner.c"
+#line 5764 "Zend/zend_language_scanner.c"
 yy528:
 		YYDEBUG(528, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5793,7 +5797,7 @@
 		{
 	return T_ARRAY_CAST;
 }
-#line 5797 "Zend/zend_language_scanner.c"
+#line 5801 "Zend/zend_language_scanner.c"
 yy535:
 		YYDEBUG(535, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5835,7 +5839,7 @@
 		{
 	return T_OBJECT_CAST;
 }
-#line 5839 "Zend/zend_language_scanner.c"
+#line 5843 "Zend/zend_language_scanner.c"
 yy543:
 		YYDEBUG(543, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5880,7 +5884,7 @@
 		{
 	return T_BOOL_CAST;
 }
-#line 5884 "Zend/zend_language_scanner.c"
+#line 5888 "Zend/zend_language_scanner.c"
 yy551:
 		YYDEBUG(551, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5928,7 +5932,7 @@
 		{
 	return T_STRING_CAST;
 }
-#line 5932 "Zend/zend_language_scanner.c"
+#line 5936 "Zend/zend_language_scanner.c"
 yy560:
 		YYDEBUG(560, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5965,7 +5969,7 @@
 		{
 	return T_UNSET_CAST;
 }
-#line 5969 "Zend/zend_language_scanner.c"
+#line 5973 "Zend/zend_language_scanner.c"
 yy567:
 		YYDEBUG(567, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -5983,7 +5987,7 @@
 		{
 	return T_VAR;
 }
-#line 5987 "Zend/zend_language_scanner.c"
+#line 5991 "Zend/zend_language_scanner.c"
 yy570:
 		YYDEBUG(570, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6007,7 +6011,7 @@
 		{
 	return T_NEW;
 }
-#line 6011 "Zend/zend_language_scanner.c"
+#line 6015 "Zend/zend_language_scanner.c"
 yy574:
 		YYDEBUG(574, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6050,7 +6054,7 @@
 		{
 	return T_NAMESPACE;
 }
-#line 6054 "Zend/zend_language_scanner.c"
+#line 6058 "Zend/zend_language_scanner.c"
 yy582:
 		YYDEBUG(582, *YYCURSOR);
 		++YYCURSOR;
@@ -6060,7 +6064,7 @@
 		{
 	return T_PAAMAYIM_NEKUDOTAYIM;
 }
-#line 6064 "Zend/zend_language_scanner.c"
+#line 6068 "Zend/zend_language_scanner.c"
 yy584:
 		YYDEBUG(584, *YYCURSOR);
 		++YYCURSOR;
@@ -6086,7 +6090,7 @@
 		{
 	return T_MINUS_EQUAL;
 }
-#line 6090 "Zend/zend_language_scanner.c"
+#line 6094 "Zend/zend_language_scanner.c"
 yy588:
 		YYDEBUG(588, *YYCURSOR);
 		++YYCURSOR;
@@ -6096,7 +6100,7 @@
 		{
 	return T_DEC;
 }
-#line 6100 "Zend/zend_language_scanner.c"
+#line 6104 "Zend/zend_language_scanner.c"
 yy590:
 		YYDEBUG(590, *YYCURSOR);
 		++YYCURSOR;
@@ -6107,7 +6111,7 @@
 	yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
 	return T_OBJECT_OPERATOR;
 }
-#line 6111 "Zend/zend_language_scanner.c"
+#line 6115 "Zend/zend_language_scanner.c"
 yy592:
 		YYDEBUG(592, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6156,7 +6160,7 @@
 		{
 	return T_PUBLIC;
 }
-#line 6160 "Zend/zend_language_scanner.c"
+#line 6164 "Zend/zend_language_scanner.c"
 yy599:
 		YYDEBUG(599, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6215,7 +6219,7 @@
 		{
 	return T_PROTECTED;
 }
-#line 6219 "Zend/zend_language_scanner.c"
+#line 6223 "Zend/zend_language_scanner.c"
 yy608:
 		YYDEBUG(608, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6249,7 +6253,7 @@
 		{
 	return T_PRIVATE;
 }
-#line 6253 "Zend/zend_language_scanner.c"
+#line 6257 "Zend/zend_language_scanner.c"
 yy614:
 		YYDEBUG(614, *YYCURSOR);
 		++YYCURSOR;
@@ -6262,7 +6266,7 @@
 		{
 	return T_PRINT;
 }
-#line 6266 "Zend/zend_language_scanner.c"
+#line 6270 "Zend/zend_language_scanner.c"
 yy616:
 		YYDEBUG(616, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6291,7 +6295,7 @@
 		{
 	return T_GOTO;
 }
-#line 6295 "Zend/zend_language_scanner.c"
+#line 6299 "Zend/zend_language_scanner.c"
 yy621:
 		YYDEBUG(621, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6319,7 +6323,7 @@
 		{
 	return T_GLOBAL;
 }
-#line 6323 "Zend/zend_language_scanner.c"
+#line 6327 "Zend/zend_language_scanner.c"
 yy626:
 		YYDEBUG(626, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6357,7 +6361,7 @@
 		{
 	return T_BREAK;
 }
-#line 6361 "Zend/zend_language_scanner.c"
+#line 6365 "Zend/zend_language_scanner.c"
 yy633:
 		YYDEBUG(633, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6401,7 +6405,7 @@
 		{
 	return T_SWITCH;
 }
-#line 6405 "Zend/zend_language_scanner.c"
+#line 6409 "Zend/zend_language_scanner.c"
 yy641:
 		YYDEBUG(641, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6429,7 +6433,7 @@
 		{
 	return T_STATIC;
 }
-#line 6433 "Zend/zend_language_scanner.c"
+#line 6437 "Zend/zend_language_scanner.c"
 yy646:
 		YYDEBUG(646, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6460,7 +6464,7 @@
 		{
 	return T_AS;
 }
-#line 6464 "Zend/zend_language_scanner.c"
+#line 6468 "Zend/zend_language_scanner.c"
 yy651:
 		YYDEBUG(651, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6483,7 +6487,7 @@
 		{
 	return T_ARRAY;
 }
-#line 6487 "Zend/zend_language_scanner.c"
+#line 6491 "Zend/zend_language_scanner.c"
 yy655:
 		YYDEBUG(655, *YYCURSOR);
 		++YYCURSOR;
@@ -6496,7 +6500,7 @@
 		{
 	return T_LOGICAL_AND;
 }
-#line 6500 "Zend/zend_language_scanner.c"
+#line 6504 "Zend/zend_language_scanner.c"
 yy657:
 		YYDEBUG(657, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6534,7 +6538,7 @@
 		{
 	return T_ABSTRACT;
 }
-#line 6538 "Zend/zend_language_scanner.c"
+#line 6542 "Zend/zend_language_scanner.c"
 yy664:
 		YYDEBUG(664, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6562,7 +6566,7 @@
 		{
 	return T_WHILE;
 }
-#line 6566 "Zend/zend_language_scanner.c"
+#line 6570 "Zend/zend_language_scanner.c"
 yy669:
 		YYDEBUG(669, *YYCURSOR);
 		++YYCURSOR;
@@ -6575,7 +6579,7 @@
 		{
 	return T_IF;
 }
-#line 6579 "Zend/zend_language_scanner.c"
+#line 6583 "Zend/zend_language_scanner.c"
 yy671:
 		YYDEBUG(671, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6631,7 +6635,7 @@
 		{
 	return T_ISSET;
 }
-#line 6635 "Zend/zend_language_scanner.c"
+#line 6639 "Zend/zend_language_scanner.c"
 yy678:
 		YYDEBUG(678, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6689,7 +6693,7 @@
 		{
 	return T_INCLUDE;
 }
-#line 6693 "Zend/zend_language_scanner.c"
+#line 6697 "Zend/zend_language_scanner.c"
 yy686:
 		YYDEBUG(686, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6722,7 +6726,7 @@
 		{
 	return T_INCLUDE_ONCE;
 }
-#line 6726 "Zend/zend_language_scanner.c"
+#line 6730 "Zend/zend_language_scanner.c"
 yy692:
 		YYDEBUG(692, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6760,7 +6764,7 @@
 		{
 	return T_INTERFACE;
 }
-#line 6764 "Zend/zend_language_scanner.c"
+#line 6768 "Zend/zend_language_scanner.c"
 yy699:
 		YYDEBUG(699, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6803,7 +6807,7 @@
 		{
 	return T_INSTANCEOF;
 }
-#line 6807 "Zend/zend_language_scanner.c"
+#line 6811 "Zend/zend_language_scanner.c"
 yy707:
 		YYDEBUG(707, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6851,7 +6855,7 @@
 		{
 	return T_IMPLEMENTS;
 }
-#line 6855 "Zend/zend_language_scanner.c"
+#line 6859 "Zend/zend_language_scanner.c"
 yy716:
 		YYDEBUG(716, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6875,7 +6879,7 @@
 		{
 	return T_TRY;
 }
-#line 6879 "Zend/zend_language_scanner.c"
+#line 6883 "Zend/zend_language_scanner.c"
 yy720:
 		YYDEBUG(720, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6898,7 +6902,7 @@
 		{
 	return T_THROW;
 }
-#line 6902 "Zend/zend_language_scanner.c"
+#line 6906 "Zend/zend_language_scanner.c"
 yy724:
 		YYDEBUG(724, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6963,7 +6967,7 @@
 		{
 	return T_REQUIRE;
 }
-#line 6967 "Zend/zend_language_scanner.c"
+#line 6971 "Zend/zend_language_scanner.c"
 yy732:
 		YYDEBUG(732, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -6996,7 +7000,7 @@
 		{
 	return T_REQUIRE_ONCE;
 }
-#line 7000 "Zend/zend_language_scanner.c"
+#line 7004 "Zend/zend_language_scanner.c"
 yy738:
 		YYDEBUG(738, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7019,7 +7023,7 @@
 		{
 	return T_RETURN;
 }
-#line 7023 "Zend/zend_language_scanner.c"
+#line 7027 "Zend/zend_language_scanner.c"
 yy742:
 		YYDEBUG(742, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7104,7 +7108,7 @@
 		{
 	return T_CONTINUE;
 }
-#line 7108 "Zend/zend_language_scanner.c"
+#line 7112 "Zend/zend_language_scanner.c"
 yy753:
 		YYDEBUG(753, *YYCURSOR);
 		++YYCURSOR;
@@ -7117,7 +7121,7 @@
 		{
 	return T_CONST;
 }
-#line 7121 "Zend/zend_language_scanner.c"
+#line 7125 "Zend/zend_language_scanner.c"
 yy755:
 		YYDEBUG(755, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7146,7 +7150,7 @@
 		{
 	return T_CLONE;
 }
-#line 7150 "Zend/zend_language_scanner.c"
+#line 7154 "Zend/zend_language_scanner.c"
 yy760:
 		YYDEBUG(760, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7164,7 +7168,7 @@
 		{
 	return T_CLASS;
 }
-#line 7168 "Zend/zend_language_scanner.c"
+#line 7172 "Zend/zend_language_scanner.c"
 yy763:
 		YYDEBUG(763, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7188,7 +7192,7 @@
 		{
 	return T_CASE;
 }
-#line 7192 "Zend/zend_language_scanner.c"
+#line 7196 "Zend/zend_language_scanner.c"
 yy767:
 		YYDEBUG(767, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7206,7 +7210,7 @@
 		{
 	return T_CATCH;
 }
-#line 7210 "Zend/zend_language_scanner.c"
+#line 7214 "Zend/zend_language_scanner.c"
 yy770:
 		YYDEBUG(770, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7261,7 +7265,7 @@
 		{
 	return T_FUNCTION;
 }
-#line 7265 "Zend/zend_language_scanner.c"
+#line 7269 "Zend/zend_language_scanner.c"
 yy780:
 		YYDEBUG(780, *YYCURSOR);
 		++YYCURSOR;
@@ -7289,7 +7293,7 @@
 		{
 	return T_FOR;
 }
-#line 7293 "Zend/zend_language_scanner.c"
+#line 7297 "Zend/zend_language_scanner.c"
 yy782:
 		YYDEBUG(782, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7317,7 +7321,7 @@
 		{
 	return T_FOREACH;
 }
-#line 7321 "Zend/zend_language_scanner.c"
+#line 7325 "Zend/zend_language_scanner.c"
 yy787:
 		YYDEBUG(787, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7340,7 +7344,7 @@
 		{
 	return T_FINAL;
 }
-#line 7344 "Zend/zend_language_scanner.c"
+#line 7348 "Zend/zend_language_scanner.c"
 yy791:
 		YYDEBUG(791, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7375,7 +7379,7 @@
 		{
 	return T_DO;
 }
-#line 7379 "Zend/zend_language_scanner.c"
+#line 7383 "Zend/zend_language_scanner.c"
 yy795:
 		YYDEBUG(795, *YYCURSOR);
 		++YYCURSOR;
@@ -7388,7 +7392,7 @@
 		{
 	return T_EXIT;
 }
-#line 7392 "Zend/zend_language_scanner.c"
+#line 7396 "Zend/zend_language_scanner.c"
 yy797:
 		YYDEBUG(797, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7427,7 +7431,7 @@
 		{
 	return T_DEFAULT;
 }
-#line 7431 "Zend/zend_language_scanner.c"
+#line 7435 "Zend/zend_language_scanner.c"
 yy804:
 		YYDEBUG(804, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7455,7 +7459,7 @@
 		{
 	return T_DECLARE;
 }
-#line 7459 "Zend/zend_language_scanner.c"
+#line 7463 "Zend/zend_language_scanner.c"
 yy809:
 		YYDEBUG(809, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7539,7 +7543,7 @@
 		{
 	return T_EXTENDS;
 }
-#line 7543 "Zend/zend_language_scanner.c"
+#line 7547 "Zend/zend_language_scanner.c"
 yy822:
 		YYDEBUG(822, *YYCURSOR);
 		++YYCURSOR;
@@ -7552,7 +7556,7 @@
 		{
 	return T_EXIT;
 }
-#line 7556 "Zend/zend_language_scanner.c"
+#line 7560 "Zend/zend_language_scanner.c"
 yy824:
 		YYDEBUG(824, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7570,7 +7574,7 @@
 		{
 	return T_EVAL;
 }
-#line 7574 "Zend/zend_language_scanner.c"
+#line 7578 "Zend/zend_language_scanner.c"
 yy827:
 		YYDEBUG(827, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7644,7 +7648,7 @@
 		{
 	return T_ENDWHILE;
 }
-#line 7648 "Zend/zend_language_scanner.c"
+#line 7652 "Zend/zend_language_scanner.c"
 yy838:
 		YYDEBUG(838, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7677,7 +7681,7 @@
 		{
 	return T_ENDSWITCH;
 }
-#line 7681 "Zend/zend_language_scanner.c"
+#line 7685 "Zend/zend_language_scanner.c"
 yy844:
 		YYDEBUG(844, *YYCURSOR);
 		++YYCURSOR;
@@ -7690,7 +7694,7 @@
 		{
 	return T_ENDIF;
 }
-#line 7694 "Zend/zend_language_scanner.c"
+#line 7698 "Zend/zend_language_scanner.c"
 yy846:
 		YYDEBUG(846, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7723,7 +7727,7 @@
 		{
 	return T_ENDFOR;
 }
-#line 7727 "Zend/zend_language_scanner.c"
+#line 7731 "Zend/zend_language_scanner.c"
 yy849:
 		YYDEBUG(849, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7751,7 +7755,7 @@
 		{
 	return T_ENDFOREACH;
 }
-#line 7755 "Zend/zend_language_scanner.c"
+#line 7759 "Zend/zend_language_scanner.c"
 yy854:
 		YYDEBUG(854, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7789,7 +7793,7 @@
 		{
 	return T_ENDDECLARE;
 }
-#line 7793 "Zend/zend_language_scanner.c"
+#line 7797 "Zend/zend_language_scanner.c"
 yy861:
 		YYDEBUG(861, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7812,7 +7816,7 @@
 		{
 	return T_EMPTY;
 }
-#line 7816 "Zend/zend_language_scanner.c"
+#line 7820 "Zend/zend_language_scanner.c"
 yy865:
 		YYDEBUG(865, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7845,7 +7849,7 @@
 		{
 	return T_ELSE;
 }
-#line 7849 "Zend/zend_language_scanner.c"
+#line 7853 "Zend/zend_language_scanner.c"
 yy868:
 		YYDEBUG(868, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7863,7 +7867,7 @@
 		{
 	return T_ELSEIF;
 }
-#line 7867 "Zend/zend_language_scanner.c"
+#line 7871 "Zend/zend_language_scanner.c"
 yy871:
 		YYDEBUG(871, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -7881,7 +7885,7 @@
 		{
 	return T_ECHO;
 }
-#line 7885 "Zend/zend_language_scanner.c"
+#line 7889 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_LOOKING_FOR_PROPERTY:
@@ -7956,9 +7960,9 @@
 		++YYCURSOR;
 		YYDEBUG(877, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
-#line 7962 "Zend/zend_language_scanner.c"
+#line 7966 "Zend/zend_language_scanner.c"
 yy878:
 		YYDEBUG(878, *YYCURSOR);
 		++YYCURSOR;
@@ -7975,7 +7979,7 @@
 	HANDLE_NEWLINES(yytext, yyleng);
 	return T_WHITESPACE;
 }
-#line 7979 "Zend/zend_language_scanner.c"
+#line 7983 "Zend/zend_language_scanner.c"
 yy880:
 		YYDEBUG(880, *YYCURSOR);
 		++YYCURSOR;
@@ -7989,7 +7993,7 @@
 	yy_pop_state(TSRMLS_C);
 	goto restart;
 }
-#line 7993 "Zend/zend_language_scanner.c"
+#line 7997 "Zend/zend_language_scanner.c"
 yy882:
 		YYDEBUG(882, *YYCURSOR);
 		++YYCURSOR;
@@ -8005,7 +8009,7 @@
 	zendlval->type = IS_STRING;
 	return T_STRING;
 }
-#line 8009 "Zend/zend_language_scanner.c"
+#line 8013 "Zend/zend_language_scanner.c"
 yy884:
 		YYDEBUG(884, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8030,7 +8034,7 @@
 		{
 	return T_OBJECT_OPERATOR;
 }
-#line 8034 "Zend/zend_language_scanner.c"
+#line 8038 "Zend/zend_language_scanner.c"
 yy889:
 		YYDEBUG(889, *YYCURSOR);
 		++YYCURSOR;
@@ -8103,9 +8107,9 @@
 		++YYCURSOR;
 		YYDEBUG(894, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
-#line 8109 "Zend/zend_language_scanner.c"
+#line 8113 "Zend/zend_language_scanner.c"
 yy895:
 		YYDEBUG(895, *YYCURSOR);
 		++YYCURSOR;
@@ -8122,7 +8126,7 @@
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	return T_STRING_VARNAME;
 }
-#line 8126 "Zend/zend_language_scanner.c"
+#line 8130 "Zend/zend_language_scanner.c"
 yy897:
 		YYDEBUG(897, *YYCURSOR);
 		++YYCURSOR;
@@ -8135,7 +8139,7 @@
 	yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
 	goto restart;
 }
-#line 8139 "Zend/zend_language_scanner.c"
+#line 8143 "Zend/zend_language_scanner.c"
 yy899:
 		YYDEBUG(899, *YYCURSOR);
 		++YYCURSOR;
@@ -8201,9 +8205,9 @@
 		goto yy906;
 		YYDEBUG(904, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
-#line 8207 "Zend/zend_language_scanner.c"
+#line 8211 "Zend/zend_language_scanner.c"
 yy905:
 		YYDEBUG(905, *YYCURSOR);
 		++YYCURSOR;
@@ -8296,7 +8300,7 @@
 		++YYCURSOR;
 		YYDEBUG(915, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2044 "Zend/zend_language_scanner.l"
+#line 2048 "Zend/zend_language_scanner.l"
 		{
 	char *end = yytext + yyleng - 1;
 
@@ -8336,7 +8340,7 @@
 		yymore();
 	}
 }
-#line 8340 "Zend/zend_language_scanner.c"
+#line 8344 "Zend/zend_language_scanner.c"
 yy916:
 		YYDEBUG(916, *YYCURSOR);
 		++YYCURSOR;
@@ -8447,9 +8451,9 @@
 		goto yy937;
 		YYDEBUG(923, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
-#line 8453 "Zend/zend_language_scanner.c"
+#line 8457 "Zend/zend_language_scanner.c"
 yy924:
 		YYDEBUG(924, *YYCURSOR);
 		++YYCURSOR;
@@ -8461,7 +8465,7 @@
 		{
 	yymore();
 }
-#line 8465 "Zend/zend_language_scanner.c"
+#line 8469 "Zend/zend_language_scanner.c"
 yy926:
 		YYDEBUG(926, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8516,7 +8520,7 @@
 			return T_COMMENT;
 	}
 }
-#line 8520 "Zend/zend_language_scanner.c"
+#line 8524 "Zend/zend_language_scanner.c"
 yy931:
 		YYDEBUG(931, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8538,7 +8542,7 @@
 	CG(zend_lineno)++;
 	return T_COMMENT;
 }
-#line 8542 "Zend/zend_language_scanner.c"
+#line 8546 "Zend/zend_language_scanner.c"
 yy935:
 		YYDEBUG(935, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8585,7 +8589,7 @@
 		yymore();
 	}
 }
-#line 8589 "Zend/zend_language_scanner.c"
+#line 8593 "Zend/zend_language_scanner.c"
 	}
 /* *********************************** */
 yyc_ST_VAR_OFFSET:
@@ -8677,9 +8681,9 @@
 		++YYCURSOR;
 		YYDEBUG(943, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2096 "Zend/zend_language_scanner.l"
+#line 2100 "Zend/zend_language_scanner.l"
 		{ return 0; }
-#line 8683 "Zend/zend_language_scanner.c"
+#line 8687 "Zend/zend_language_scanner.c"
 yy944:
 		YYDEBUG(944, *YYCURSOR);
 		yyaccept = 0;
@@ -8706,7 +8710,7 @@
 	}
 	return T_NUM_STRING;
 }
-#line 8710 "Zend/zend_language_scanner.c"
+#line 8714 "Zend/zend_language_scanner.c"
 yy946:
 		YYDEBUG(946, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8731,7 +8735,7 @@
 	/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
 	return yytext[0];
 }
-#line 8735 "Zend/zend_language_scanner.c"
+#line 8739 "Zend/zend_language_scanner.c"
 yy949:
 		YYDEBUG(949, *YYCURSOR);
 		++YYCURSOR;
@@ -8742,7 +8746,7 @@
 	yy_pop_state(TSRMLS_C);
 	return ']';
 }
-#line 8746 "Zend/zend_language_scanner.c"
+#line 8750 "Zend/zend_language_scanner.c"
 yy951:
 		YYDEBUG(951, *YYCURSOR);
 		yych = *++YYCURSOR;
@@ -8760,7 +8764,7 @@
 	ZVAL_EMPTY_STRING(zendlval); /* Empty since it won't be used */
 	return T_ENCAPSED_AND_WHITESPACE;
 }
-#line 8764 "Zend/zend_language_scanner.c"
+#line 8768 "Zend/zend_language_scanner.c"
 yy954:
 		YYDEBUG(954, *YYCURSOR);
 		++YYCURSOR;
@@ -8775,18 +8779,18 @@
 	zendlval->type = IS_STRING;
 	return T_STRING;
 }
-#line 8779 "Zend/zend_language_scanner.c"
+#line 8783 "Zend/zend_language_scanner.c"
 yy956:
 		YYDEBUG(956, *YYCURSOR);
 		++YYCURSOR;
 		YYDEBUG(957, *YYCURSOR);
 		yyleng = YYCURSOR - SCNG(yy_text);
-#line 2098 "Zend/zend_language_scanner.l"
+#line 2102 "Zend/zend_language_scanner.l"
 		{
 	zend_error(E_COMPILE_WARNING,"Unexpected character in input:  '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
 	goto restart;
 }
-#line 8790 "Zend/zend_language_scanner.c"
+#line 8794 "Zend/zend_language_scanner.c"
 yy958:
 		YYDEBUG(958, *YYCURSOR);
 		++YYCURSOR;
@@ -8828,7 +8832,7 @@
 	zendlval->type = IS_STRING;
 	return T_VARIABLE;
 }
-#line 8832 "Zend/zend_language_scanner.c"
+#line 8836 "Zend/zend_language_scanner.c"
 yy963:
 		YYDEBUG(963, *YYCURSOR);
 		++YYCURSOR;
@@ -8867,7 +8871,7 @@
 	zendlval->type = IS_STRING;
 	return T_NUM_STRING;
 }
-#line 8871 "Zend/zend_language_scanner.c"
+#line 8875 "Zend/zend_language_scanner.c"
 yy970:
 		YYDEBUG(970, *YYCURSOR);
 		++YYCURSOR;
@@ -8880,6 +8884,6 @@
 		goto yy969;
 	}
 }
-#line 2103 "Zend/zend_language_scanner.l"
+#line 2107 "Zend/zend_language_scanner.l"
 
 }
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_language_scanner_defs.h?r1=1.1.2.26&r2=1.1.2.27&diff_format=u
Index: ZendEngine2/zend_language_scanner_defs.h
diff -u ZendEngine2/zend_language_scanner_defs.h:1.1.2.26 ZendEngine2/zend_language_scanner_defs.h:1.1.2.27
--- ZendEngine2/zend_language_scanner_defs.h:1.1.2.26	Wed Mar 25 15:23:58 2009
+++ ZendEngine2/zend_language_scanner_defs.h	Thu Mar 26 12:37:54 2009
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Wed Mar 25 18:23:22 2009 */
+/* Generated by re2c 0.13.5 on Thu Mar 26 15:37:35 2009 */
 #line 3 "Zend/zend_language_scanner_defs.h"
 
 enum YYCONDTYPE {

http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47516.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/bug47516.phpt
+++ ZendEngine2/tests/bug47516.phpt