Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71833 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 46799 invoked from network); 31 Jan 2014 09:08:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jan 2014 09:08:59 -0000 Authentication-Results: pb1.pair.com smtp.mail=pthreads@pthreads.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=pthreads@pthreads.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pthreads.org from 209.85.215.45 cause and error) X-PHP-List-Original-Sender: pthreads@pthreads.org X-Host-Fingerprint: 209.85.215.45 mail-la0-f45.google.com Received: from [209.85.215.45] ([209.85.215.45:58340] helo=mail-la0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 54/31-39593-A286BE25 for ; Fri, 31 Jan 2014 04:08:59 -0500 Received: by mail-la0-f45.google.com with SMTP id b8so3306678lan.32 for ; Fri, 31 Jan 2014 01:08:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=OnhNZyfeM1QF+FyUN9nURfmpmOEYPHayG56D5JhpZFI=; b=QW6ywm2SSfz1tIsQzIVcqlS8ufZftKCjHatVRhttq050gov0KYr8XIGVPrz0/WcBKA YP+ZjG33LWfYC44YYeVlL2+5pINBjekpBL7yqsgtSX85mhOju+q1Zge3svX1isZuGToc hG7gp8Ciqa8K1SmaZHYbOre7m4F8K1KR1fpvV1I19qVKrHNx6xidazblsJ6PIGTUdca2 +xSgZF0MME8N67FJ+cnqauQTU4Q2QVboeOnFevrLcfAC4ZYX5b4nyG0LBlG6rMcjU/VO uNk81+JKuRSuhZ1b9FoEcNEkPv0OXM9C74GOl/iljmmv0LrxPdWqkTmcILP4Y7LAf1P0 ZvsA== X-Gm-Message-State: ALoCoQmE/cshLvkftQ8cYXlzi/NAtkLrGhqgVAQwgj/GNjOdzyi8inchQBSd/n9a29rYqqmHZSYa X-Received: by 10.112.13.169 with SMTP id i9mr37738lbc.73.1391159335042; Fri, 31 Jan 2014 01:08:55 -0800 (PST) Received: from [192.168.1.3] (92.41.115.233.threembb.co.uk. [92.41.115.233]) by mx.google.com with ESMTPSA id cu8sm9434063lbb.12.2014.01.31.01.08.51 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Fri, 31 Jan 2014 01:08:54 -0800 (PST) Message-ID: <52EB681A.405@pthreads.org> Date: Fri, 31 Jan 2014 09:08:42 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Stas Malyshev CC: Pierre Joye , PHP internals References: <52EB61BB.5030005@sugarcrm.com> In-Reply-To: <52EB61BB.5030005@sugarcrm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] int64/size_t options votes clarification From: pthreads@pthreads.org (Joe Watkins) On 01/31/2014 08:41 AM, Stas Malyshev wrote: > Hi! > >> The option #1 (Keep the old macro names for LONG vs. INT, STRLEN vs. >> STRSIZE, etc.) and #2 (Keep zpp specs l, L, s, p as aliases to i, I, >> S, P), which both drastically reduce code changes or #fidef usage, are >> valid for 5.6 integration. > > The first one seems to me relatively tame, at least unless I'm missing > something. I'm not one to give too much importance to precision of > naming of macros, but why not make it easy on people? > > The second one, however, seems dangerous - that means if I forget to > convert some function that uses zpp, I get no indication at all, except > for random hard-to-debug crashes when it's used with wrong int type. > The alternative for this is (PHP_NEED_STRSIZE_COMPAT ? "Os|al" : > "OS|ai"), which feels my heart with dread and one of the reasons why I > lean to voting "no", even though I like the idea of the cleanup. But > compared to the alternative, this is a *better* option. Because at least > this would fail fast in the case of trouble and will be discovered if > you have any half-decent tests on your extension. The other way means if > you forget to convert the zpp call and do convert the values involved, > you'd have very interesting debugging session waiting for you. > >> For those having voted no for 5.6 and the options, would you mind >> explaining what are your wishes? It will help to move forward, no >> matter the outcome of the votes. > > My personal preference for now is to make this change base for PHP 6 > branch. We've started talking on 6 anyway, and I don't see it out of the > possible to kick off real feature mapping and even start working on it > this year, and have at least early alphas sometime next year. This would > be our opportunity to break APIs to make them better. If that is not > what happening, what I am afraid of is that people - at least ones that > use custom extensions and work on sizeable products with non-trivial QA > cycles - would treat 5.6 as somewhat a theoretical exercise and would > wait it out for 6 (unless we starve them out by never delivering on it > in next 3-4 years). And that's not a good place for a release to be in. > I like the things done in 5.6, and I like the work Anatol and others > have done on 64-bit cleanup. But I'm afraid that by combining them we'd > harm them both. > > My personal preference for now is to make this change base for PHP 6 > branch. +1000 ... this is the only option that really makes sense ... Cheers Joe