is when there's a \ followed by a newline but it seems we have a parse error in this
case anyways.
- Fixed the alloca() macros so that the alloca() #define in win32 mode won't clash
with the real win32 alloca().
<ST_IN_SCRIPTING>"<<<"{TABS_AND_SPACES}{LABEL}("\r")?"\n" {
char *s;
+ CG(zend_lineno)++;
CG(heredoc_len) = yyleng-3-1-(yytext[yyleng-2]=='\r'?1:0);
s = yytext+3;
while ((*s == ' ') || (*s == '\t')) {
int label_len;
unsigned char unput_semicolon;
+ CG(zend_lineno)++;
if (yytext[yyleng-2]=='\r') {
label_len = yyleng-2;
} else {
#if (HAVE_ALLOCA || (defined (__GNUC__) && __GNUC__ >= 2)) && !(defined(ZTS) && (WINNT|WIN32))
+# define do_alloca(p) alloca(p)
# define free_alloca(p)
#else
-# define alloca(p) emalloc(p)
+# define do_alloca(p) emalloc(p)
# define free_alloca(p) efree(p)
#endif
zend_function *function_being_called=NULL;
zval **object_ptr=NULL;
#if !defined (__GNUC__) || __GNUC__ < 2
- temp_variable *Ts = (temp_variable *) alloca(sizeof(temp_variable)*op_array->T);
+ temp_variable *Ts = (temp_variable *) do_alloca(sizeof(temp_variable)*op_array->T);
#else
temp_variable Ts[op_array->T];
#endif