220 19446 <1544148.KS9yEPmrxK@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: Re: Testing for supported features: Per-feature
 macros? Sentinel compilation?
Date: Thu, 30 Jul 2015 09:02:46 -0700
Lines: 46
Approved: news@gmane.org
Message-ID: <1544148.KS9yEPmrxK@tjmaciei-mobl4>
References: <e5919c40-d35e-4309-b5b8-6525a4eb443c@isocpp.org> <97f2e8e0-2ccf-4c96-8e23-73138dbd44e3@isocpp.org> <mpdf0d$db2$1@ger.gmane.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 1438272188 1824 80.91.229.3 (30 Jul 2015 16:03:08 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 30 Jul 2015 16:03:08 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBCB4TK757YBRBMEV5GWQKGQEHBGMEVI@isocpp.org Thu Jul 30 18:02:59 2015
Return-path: <std-proposals+bncBCB4TK757YBRBMEV5GWQKGQEHBGMEVI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-wi0-f198.google.com ([209.85.212.198])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCB4TK757YBRBMEV5GWQKGQEHBGMEVI@isocpp.org>)
	id 1ZKqIM-0005js-9A
	for gclcip-std-proposals@m.gmane.org; Thu, 30 Jul 2015 18:02:58 +0200
Original-Received: by wixh2 with SMTP id h2sf19684546wix.0
        for <gclcip-std-proposals@m.gmane.org>; Thu, 30 Jul 2015 09:02:57 -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: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=U8kNBEWrQNHkSDcuP6c6lhEG9quYDDICHdIEY02dB0Q=;
        b=RqMdB2YcSe24YZRS8Wd6aaqZmm+TqFDSQMElyGHxQ/mxP8XpvSx7gkoul0x8m+Zfv0
         9Wwyr0TMVVbovas5BxfMRgVVgOvxlzYv1yrr2ZIQ5jWSUlMtOc+5SgdnBQIyo/FRLoC5
         1S6ddkFTiKYiycVzhpv7bz0uwa601Hfkv+cdS3HP1WIZjBEGI/cR9MWJPotKE8GUrblh
         SHokRtTGbvCst1FzMUrhNi92mrJj5H/Pqo4CZqsH0/KEcGeJZCa/27WK+HWJwDYgpfcV
         s7g4QurBAmgDMDmpEafNYDAoZV9FidTUCqpgv3/NHwXLs1iCc609aT5lK8R8Xwa8EbaV
         UARA= 
X-Gm-Message-State: ALoCoQl0RlUwM7MvYXgp6QWlronomSbWo8dcAFMlZQLNB15kT7QNrQSKjYp66exADboO1jKEEmhw
X-Received: by 10.112.142.97 with SMTP id rv1mr5991566lbb.12.1438272177860;
        Thu, 30 Jul 2015 09:02:57 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.180.83.73 with SMTP id o9ls409115wiy.17.gmail; Thu, 30 Jul
 2015 09:02:56 -0700 (PDT)
X-Received: by 10.180.211.10 with SMTP id my10mr7630946wic.41.1438272176240;
        Thu, 30 Jul 2015 09:02:56 -0700 (PDT)
Original-Received: from gondolin.macieira.info (gondolin.macieira.info. [78.47.120.188])
        by mx.google.com with ESMTP id sd17si2678407wjb.102.2015.07.30.09.02.56
        for <std-proposals@isocpp.org>;
        Thu, 30 Jul 2015 09:02:56 -0700 (PDT)
Received-SPF: pass (google.com: domain of thiago@macieira.org designates 78.47.120.188 as permitted sender) client-ip=78.47.120.188;
Original-Received: from tjmaciei-mobl4.localnet (unknown [IPv6:2601:1c0:5803:81c9:c03f:789a:87c5:1fb5])
	by gondolin.macieira.info (Postfix) with ESMTPSA id DE5CB11B694
	for <std-proposals@isocpp.org>; Thu, 30 Jul 2015 09:02:53 -0700 (PDT)
User-Agent: KMail/4.14.9 (Linux/4.1.2-1-desktop; KDE/4.14.9; x86_64; ; )
In-Reply-To: <mpdf0d$db2$1@ger.gmane.org>
X-Original-Sender: thiago@macieira.org
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of thiago@macieira.org designates 78.47.120.188 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:19446
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19446>

On Thursday 30 July 2015 11:14:21 Matthew Woehlke wrote:
> Hmm... that said, you might be right in the sense that IIRC there are
> "PP" directives that are left in place (e.g. #pragma), or even added
> (e.g. #line). So maybe my previous comment doesn't apply. Disregard,
> then :-).

The problem with that is that the compiler now sees the invalid code too and 
needs to decide what (not) to do with it. You can't use the preprocessor to 
remove code the compiler shouldn't see.

> On 2015-07-29 20:55, Thiago Macieira wrote:
> > How often do you compile the library with VS 2010 (which supports move
> > semantics) and then compile the application with VS 2005? Answer: never.
> 
> You could be using a pre-built library that was built with a newer
> compiler to build an application on a machine that has only an older
> compiler. (Although, pre-built stuff tends to use the oldest compiler
> possible, or be available built with multiple compiler versions.)

You cannot do that. Let's forget the fact that MSVC versions are incompatible 
with each other altogether and analyse the more common case of Unix shared 
libraries:

The rule of thumb on shared libraries on Unix systems is that you must run 
with a version equal to or higher than the one you linked to. Breaking that 
rule is not supported by anyone.

> It *can* happen, but the library headers may well check for that and
> raise an error.

What headers? The problem is linking and dynamic linking.

-- 
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/.

.
