Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:66784 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41297 invoked from network); 24 Mar 2013 23:38:53 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Mar 2013 23:38:53 -0000 Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.192.171 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.192.171 mail-pd0-f171.google.com Received: from [209.85.192.171] ([209.85.192.171:34506] helo=mail-pd0-f171.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C0/F4-33145-B8E8F415 for ; Sun, 24 Mar 2013 18:38:52 -0500 Received: by mail-pd0-f171.google.com with SMTP id z10so222253pdj.2 for ; Sun, 24 Mar 2013 16:38:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:x-gm-message-state; bh=Fy4mfGtG8iBE/ERg+t7PJ/SM7UEs2yOdRgdpqHSTltM=; b=l0NT0H5v68R3/NLZOs086m4K3J7thOo/R2BUABWPyMnbAq622E3J7P5yAnxavYDLAE Bvksu9nsN3TjR3g1WkESiVWGQK8vhgLDeNe7ueidP0/NHcQl3XIimKyZ05PYN+Z/HnHr zB/mn8Sc2BVj7XRtGS7f+JVMj1Bp/3MT6DlKEwkfyjIHKF4j3JltFddi18rUcwTo/Luj ZOV/hhwjywttEUQhv9TBw30dRr4gJHo1ZdT5n/ldZM9XNXRE1NtMyKhzyS5f8G5hkRBa lE6YbKGF+JVZkeIIsMDjzaWI2c7f/OwwR7eb5B7Yop1ecLeewAN0pHr3CTGFd15onevZ 9Wtw== X-Received: by 10.66.234.198 with SMTP id ug6mr14999809pac.43.1364168329086; Sun, 24 Mar 2013 16:38:49 -0700 (PDT) Received: from [192.168.200.148] (c-50-131-44-225.hsd1.ca.comcast.net. [50.131.44.225]) by mx.google.com with ESMTPS id pg7sm11041235pbc.5.2013.03.24.16.38.47 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 24 Mar 2013 16:38:48 -0700 (PDT) Message-ID: <514F8E86.2020601@lerdorf.com> Date: Sun, 24 Mar 2013 16:38:46 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 MIME-Version: 1.0 To: Felipe Pena CC: Remi Collet , internals References: <514C1E14.3070002@fedoraproject.org> <514F370B.7080409@lerdorf.com> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkgV2GSgb5w8UJkM9Tjj5T6wzOLNkEYQHsSz5NG+OrdArPgou/BNcUx/T8cIf6PhI37LIWD Subject: Re: [PHP-DEV] PHP 5.5.0beta1 ZTS broken build From: rasmus@lerdorf.com (Rasmus Lerdorf) On 03/24/2013 10:35 AM, Felipe Pena wrote: > Hi, > > 2013/3/24 Rasmus Lerdorf : >> On 03/22/2013 02:02 AM, Remi Collet wrote: >>> While build of 5.5 snapshot works perfectly, beta1 ZTS build is broken >>> >>> In file included from >>> /dev/shm/BUILD/php-5.5.0beta1/ext/tokenizer/tokenizer.c:33:0: >>> /dev/shm/BUILD/php-5.5.0beta1/build-ztscli/Zend/zend_language_parser.h:331:5: >>> error: conflicting types for 'zendparse' >>> In file included from >>> /dev/shm/BUILD/php-5.5.0beta1/Zend/zend_globals.h:28:0, >>> from /dev/shm/BUILD/php-5.5.0beta1/Zend/zend_compile.h:418, >>> from /dev/shm/BUILD/php-5.5.0beta1/Zend/zend_modules.h:26, >>> from /dev/shm/BUILD/php-5.5.0beta1/Zend/zend_API.h:26, >>> from /dev/shm/BUILD/php-5.5.0beta1/main/php.h:38, >>> from >>> /dev/shm/BUILD/php-5.5.0beta1/ext/tokenizer/tokenizer.c:25: >>> /dev/shm/BUILD/php-5.5.0beta1/Zend/zend_globals_macros.h:35:5: note: >>> previous declaration of 'zendparse' was here >>> >>> Comparing the 201303201430 snapshot (very closed to beta1) and beta1 archive >>> >>> 201303201430, in bison generated files: >>> /* A Bison parser, made by GNU Bison 2.4.1. */ >>> beta1: >>> /* A Bison parser, made by GNU Bison 2.6.1. */ >>> >>> So, it seems snapshot script don't use the same environment than the one >>> used to generate release. >>> >>> Any idea how to fix this ? >> >> I took a quick look at this. The Bison change causing this from their >> NEWS file is: >> >> *** Features deprecated since Bison 1.875 >> YYPARSE_PARAM and YYLEX_PARAM, deprecated in favor of >> %parse-param and %lex-param, will no longer be supported. >> >> I was hoping the fix would be as simple as doing: >> >> -#define YYPARSE_PARAM tsrm_ls >> -#define YYLEX_PARAM tsrm_ls >> +%parse-param { tsrm_ls } >> +%lex-param { tsrm_ls } >> >> but that doesn't quite do the trick. Need to read up more on how >> %parse-param and %lex-param work. If someone wants to do a little light >> reading and report back it would be appreciated. >> > > http://www.gnu.org/software/bison/manual/html_node/Parser-Function.html#Parser-Function > > This page explain how to use it. Sure, I see how they work, but the problem is that they can't be inside the %{ ... %} code block there. They have to be outside and as such won't have access to the #ifdef ZTS. So I don't think we can conditionally create a reentrant parser like we did before without refactoring things a bit. -Rasmus