Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:98358 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 48464 invoked from network); 26 Feb 2017 09:29:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Feb 2017 09:29:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=francois@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=francois@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 212.27.42.2 as permitted sender) X-PHP-List-Original-Sender: francois@php.net X-Host-Fingerprint: 212.27.42.2 smtp2-g21.free.fr Received: from [212.27.42.2] ([212.27.42.2:19931] helo=smtp2-g21.free.fr) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DE/CD-11648-310A2B85 for ; Sun, 26 Feb 2017 04:29:56 -0500 Received: from [127.0.0.1] (unknown [82.240.16.115]) (Authenticated sender: flaupretre@free.fr) by smtp2-g21.free.fr (Postfix) with ESMTPSA id D4CD42003A4 for ; Sun, 26 Feb 2017 10:29:50 +0100 (CET) To: Internals Message-ID: <9bec95c7-76f2-4a5c-52d1-e5bea48981c2@php.net> Date: Sun, 26 Feb 2017 10:29:41 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Antivirus: avast! (VPS 170225-1, 25/02/2017), Outbound message X-Antivirus-Status: Clean Subject: maintainer-strict-api - A tool to check and enforce encapsulation From: francois@php.net (=?UTF-8?Q?Fran=c3=a7ois_Laupretre?=) Hi, following Joe Watkins' suggestion, I'm reviving a PR I had proposed for 7.0. The PR was abandoned because it was coming too late to target 7.0. The PR is available at : https://github.com/php/php-src/pull/1508 It is introducing a new configure flag. When this flag is set, non-compliant access to the zval and zend_string struct elements trigger compile-time failures, making it an API compliance check tool. You will find more details in the PR. Please give thoughts. Regards François