220 19330 <4632341.dbW0eupDvr@tjmaciei-mobl4> article
Path: news.gmane.org!not-for-mail
From: Thiago Macieira <thiago@macieira.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Testing for supported features: Per-feature
 macros? Sentinel compilation?
Date: Mon, 27 Jul 2015 16:09:12 -0700
Lines: 43
Approved: news@gmane.org
Message-ID: <4632341.dbW0eupDvr@tjmaciei-mobl4>
References: <e5919c40-d35e-4309-b5b8-6525a4eb443c@isocpp.org> <53281455.oCxcCYIyeX@tjmaciei-mobl4> <726831ee-89c5-4bc5-96cc-6d5855843a03@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Trace: ger.gmane.org 1438038565 30053 80.91.229.3 (27 Jul 2015 23:09:25 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Mon, 27 Jul 2015 23:09:25 +0000 (UTC)
Cc: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
To: denis bider <isocppgroup@denisbider.com>
Original-X-From: std-proposals+bncBCB4TK757YBRBG7U3KWQKGQE34QGB4A@isocpp.org Tue Jul 28 01:09:18 2015
Return-path: <std-proposals+bncBCB4TK757YBRBG7U3KWQKGQE34QGB4A@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-la0-f70.google.com ([209.85.215.70])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCB4TK757YBRBG7U3KWQKGQE34QGB4A@isocpp.org>)
	id 1ZJrWH-0002oI-GY
	for gclcip-std-proposals@m.gmane.org; Tue, 28 Jul 2015 01:09:17 +0200
Original-Received: by laah7 with SMTP id h7sf32082179laa.2
        for <gclcip-std-proposals@m.gmane.org>; Mon, 27 Jul 2015 16:09:17 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:to:cc:subject:date:message-id:user-agent
         :in-reply-to:references:mime-version:content-type:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=6SZrsK4BO0DZ7/PJfvNcSyGaD24pAVW+j7YaOXWmUVE=;
        b=arw6JZZYp1PfpycVdh2egZrst7ROPkRPZI2sG/TCVLWlS+NnpTVPnKl8P6apM6K6yW
         FdfB4LOMF403oYFaBoepc1oKcEq6riQsdKfwsLWJ7t9awW5N7t1GYKsmW6RGPRAXUm7F
         6L+Z8bCNB+CDOjOtYKVx0SR0PlFXWmpnq/MiRpkhVGtsdGXbNIskd4vdq1UUGGOMlv5Z
         ZfJNHZ+8sEQO95v+w82G33r4yPWj7bKUJfNYsGV3bnhK3YJ29f9q+kxvhFsCWnf69wYv
         fVcrSbToDbO+LHr0YIv1qznwYGEjtJoMrsATCYwGbBnWyX9lrlDviM+tSAjlu4nQ+68b
         bZ 
X-Gm-Message-State: ALoCoQn7zP3L0P05uOsNj52SRAhaDH6lmuNIfZ9F7ANo0oTpLVcakFsFGJneHOQ6/67XT1Cp0JUM
X-Received: by 10.112.9.100 with SMTP id y4mr12864945lba.20.1438038557028;
        Mon, 27 Jul 2015 16:09:17 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.83.200 with SMTP id s8ls751449wiy.48.canary; Mon, 27 Jul
 2015 16:09:15 -0700 (PDT)
X-Received: by 10.194.77.70 with SMTP id q6mr59084302wjw.70.1438038555257;
        Mon, 27 Jul 2015 16:09:15 -0700 (PDT)
Original-Received: from gondolin.macieira.info (gondolin.macieira.info. [2a01:4f8:d13:f81:21c:14ff:fe01:12a3])
        by mx.google.com with ESMTP id cr5si33412434wjb.214.2015.07.27.16.09.14
        for <std-proposals@isocpp.org>;
        Mon, 27 Jul 2015 16:09:15 -0700 (PDT)
Received-SPF: pass (google.com: domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3 as permitted sender) client-ip=2a01:4f8:d13:f81:21c:14ff:fe01:12a3;
Original-Received: from tjmaciei-mobl4.localnet (unknown [134.134.139.76])
	by gondolin.macieira.info (Postfix) with ESMTPSA id 90BDD11B563;
	Mon, 27 Jul 2015 16:09:14 -0700 (PDT)
User-Agent: KMail/4.14.9 (Linux/4.0.5-3-desktop; KDE/4.14.9; x86_64; ; )
In-Reply-To: <726831ee-89c5-4bc5-96cc-6d5855843a03@isocpp.org>
X-Original-Sender: thiago@macieira.org
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of thiago@macieira.org designates 2a01:4f8:d13:f81:21c:14ff:fe01:12a3
 as permitted sender) smtp.mail=thiago@macieira.org
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:19330
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19330>

On Monday 27 July 2015 15:24:59 denis bider wrote:
> Indeed; the compiler would then be expected to behave as if it launched a
> child process of itself to compile that code, and report back on any
> errors. If a compiler is well-architected - does not rely on global objects
> and such to store state - it should be possible to do this without
> launching a separate process.
> 
> I guess, if you are saying this is hard, you're saying many compilers are
> poorly implemented? Use global state such that they can't create another
> instance of the compiler in-process?

"Poorly implemented" is a subjective quality assessment, unless you make the 
objective measurement of whether it does what it set out to do. Since those 
compilers are working and are getting modified rapidly by their developer teams 
to add features, we cannot honestly say that any of them is poorly 
implemented, however we may feel about their architecture.

Some architectures may be welcoming of some new changes and some others 
wouldn't. And if the committee approves a certain feature, the developers will 
have to implement the functionality.

I was just warning that there might be quite a lot of resistance from the 
compiler writers, given the architectural issues I mentioned, plus:
 - there's already a solution for some of the use-cases presented, including 
  foremost the one you presented
 - it does not go far enough to the very common case of linking a test program 
   to see if a function does exist in a library or the not-as-common case of
   running a test program to see how it behaves.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

.
