From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 67957 invoked by alias); 5 Sep 2018 19:36:41 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 67942 invoked by uid 89); 5 Sep 2018 19:36:40 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=networking, HBBroekertonlinede, libary, HBBroeker@t-online.de X-HELO: mail-wm0-f42.google.com Received: from mail-wm0-f42.google.com (HELO mail-wm0-f42.google.com) (74.125.82.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 05 Sep 2018 19:36:38 +0000 Received: by mail-wm0-f42.google.com with SMTP id t25-v6so8884042wmi.3 for ; Wed, 05 Sep 2018 12:36:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=PrDx7Sa02416QbGbLo7ZZ3CqFvR8XVxT/MYIrFdIvJo=; b=e4if7YLfMKkeLzRmGaXqjS1DRR5IFNOE0mdNX5Y1DglyBq9nTkugA36i3joFVhiNw3 T1dmIFaUF6w4TB8DUzBcROXccYXFIKKHo4e4HReRP34ha0aqcKAqxfr4/oNwf9DLCjYA 0wFIHUpW1v/h8FxHFrcSDautSfQI27SiqHXmmZk8KnFB1IQzvHnJUX3XGWFJpf8f3M3Q 8lSbLeTaRAWJerQob7FdHGxwo1aIrR/cvpTaNxpRyHlOjkKsVhhALuafAzqCg8x3Pq2f A8FJIlLOGI5TlZZnhxYWyYIdYl+U8mK7G98DEU2h1o2uIsT201aP6pl6BG0TvnZpWOdJ 5IWA== MIME-Version: 1.0 References: <55fcf4b3-5fd0-8fa1-6669-5a93a14c863e@t-online.de> In-Reply-To: <55fcf4b3-5fd0-8fa1-6669-5a93a14c863e@t-online.de> From: John Selbie Date: Wed, 05 Sep 2018 19:36:00 -0000 Message-ID: Subject: Re: Why does -std=c++11 hide certain function calls To: cygwin@cygwin.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg00103.txt.bz2 Thanks for the response. But why is getaddrinfo (and its associated struct types and flag values) considered a "language extension" and hidden via the __POSIX_VISIBILE define when other function declarations in netdb.h (such as getservbyname) are not? I don't believe C++ has any formal support for networking. So it's surprising to see one networking function hidden "because its an extension", but the other very related functions are not. Can you elaborate on the decision process that makes it this way? I honestly don't see how a header file qualifies as a language extension, but instead just see it as the interface for a pre-compiled library. Is it because modern C++ is defined to support older POSIX functions, but not newer ones? Where is that in the standard? As I said before, I'm wanting to be educated on this, because it could influence how I view the writing and building of portable code now and in the future. But saying, "everywhere else but here is wrong" and because ", doesn't help. jrs On Wed, Sep 5, 2018 at 11:46 AM Hans-Bernhard Br=C3=B6ker wrote: > Am 05.09.2018 um 07:55 schrieb John Selbie: > > > With this: g++ foo.cpp -c -std=3Dc++11 > > It compiles fine everywhere else, except CygWin. Output on Cygwin: > > I'm afraid that may mean everywhere else is wrong. > > > Yes, switching to -std=3Dgnu++11 or adding -D_DEFAULT_SOURCE to the > command > > line line works. > > > > But I don't understand why the need to enforce these extensions to get > > access to some of the most common unix libraries? > > Because that's what std=3Dc++11 is meant and documented to do. It turns > off all extensions to the standard language. And yes, that does include > extensions to the standard libary, up to and including POSIX-specific > content. > > For what you want to do, std=3Dc++11 is simply the wrong setting. > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple