All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Williams <patrick@stwcx.xyz>
To: "Khetan, Sharad" <sharad.khetan@intel.com>
Cc: "Adrian Ambrożewicz" <adrian.ambrozewicz@linux.intel.com>,
	"OpenBMC Maillist" <openbmc@lists.ozlabs.org>
Subject: Re: Upstream Yocto Bringing in GCC 10
Date: Tue, 2 Jun 2020 15:09:58 -0500	[thread overview]
Message-ID: <20200602200958.GI17541@heinlein> (raw)
In-Reply-To: <MWHPR11MB1389439BC7F058A120F60D60F18B0@MWHPR11MB1389.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 2193 bytes --]

On Tue, Jun 02, 2020 at 06:32:34PM +0000, Khetan, Sharad wrote:
> From: openbmc <openbmc-bounces+sharad.khetan=intel.com@lists.ozlabs.org> On Behalf Of Adrian Ambrozewicz
> Sent: Tuesday, June 02, 2020 1:19 AM
> W dniu 5/26/2020 o 17:57, Patrick Williams pisze:

> >I can imagine some companies or communities might choose to be careful in that matter. I was just wondering if there is some 'BKM' which states 'experimental (unstable?) implementations are prohibited from use until marked by software vendor as stable'. Maybe that's my problem - I could be confusing 'experimental' with 'unstable' after all:)
> 
> If experimental means potentially unstable, I would say we avoid such implementation in the OpenBMC. We need to keep OpenBMC stable and such new language / compiler features may be pretty gnarly to debug by the users.

Just a few thoughts:

1. We've not historically had this distinction / restriction.  We've
   tended to use the latest C++ standard soon after it is available in our
   Yocto compiler toolchain and even used std::experimental pieces.
    * Yocto supported GCC7 (C++17 support) in April 2018 and we enabled
      it in October 2018.
    * We used mapbox::variant with C++14, which was a C++14
    * implementation of the proposed C++17 API, and then used std::variant
      when it was available.
    * We still have code referring to std::experimental::filesystem
      which has almost identical API as std::filesystem.

2. "Vendors" don't really give us an indication of stability, so we'd
   need to define one.  Today, GCC's C++20 status is a simple "no
   support" (red), "partial support" (yellow), "done" (green).  Most of
   the C++20 support is in GCC-10 which we are now using.
    * https://gcc.gnu.org/projects/cxx-status.html

3. I suspect most of our locally written code is "less stable" than
   anything coming out of GCC simply by nature of how many users and tests
   they have.  Most of the C++ features accepted by the standard
   committees have an implementation in at least 1 of the big 3
   compilers (MS-VS, GCC, Clang) and so there is code around to use for
   test suites.

-- 
Patrick Williams

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-06-02 20:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17 17:19 Upstream Yocto Bringing in GCC 10 Andrew Geissler
2020-05-18  0:08 ` Patrick Williams
2020-05-22  0:36   ` Andrew Geissler
2020-05-25 12:35     ` Adrian Ambrożewicz
2020-05-26 12:33       ` Brad Bishop
2020-05-26 15:57       ` Patrick Williams
2020-06-02  8:18         ` Adrian Ambrożewicz
2020-06-02 18:32           ` Khetan, Sharad
2020-06-02 20:09             ` Patrick Williams [this message]
2020-06-02 22:12               ` Richard Hanley
2020-06-02 22:55                 ` Patrick Williams
2020-06-02 23:02                   ` William Kennington

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200602200958.GI17541@heinlein \
    --to=patrick@stwcx.xyz \
    --cc=adrian.ambrozewicz@linux.intel.com \
    --cc=openbmc@lists.ozlabs.org \
    --cc=sharad.khetan@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.