Upstream Yocto Bringing in GCC 10

Adrian Ambrożewicz adrian.ambrozewicz at linux.intel.com
Tue Jun 2 18:18:35 AEST 2020



W dniu 5/26/2020 o 17:57, Patrick Williams pisze:
> On Mon, May 25, 2020 at 02:35:32PM +0200, Adrian Ambrożewicz wrote:
>>> On May 17, 2020, at 7:08 PM, Patrick Williams <patrick at stwcx.xyz> wrote:
>>> Alright!  The great thing about GCC 10.x is that it brings in support
>>> for most of C++20, including co-routines.  Looking forward to playing
>>> around with it.
>> Is it allowed in OpenBMC to base the functionality on experimental
>> implementations?
> 
> No disagreement with how Brad responded to this.  In the past we've been
> pretty prompt at moving up to the new C++ standards.
> 
> I am curious what you meant by "experimental implementations" here
> though.  Usually the C++ standards committee has put things in the
> 'std::experimental' namespace when they are so and the normal 'std' is
> non-experimental.  This means code using 'std' APIs should continue to
> work going forward, but code using 'std::experimental' might not.
> 
> The specific example I mentioned here of coroutines is out of
> std::experimental as of C++20.  The compiler writers have been slow to
> get it implemented because it is a complicated feature.  So, I guess
> you could consider the fresh implementation at the compiler level as
> "experimental" but the language / library features themselves are not?
> 
Sure, we can distinguish 'experimental' part in two parts:
- APIs (not yet standarized),
- implementations (marked by compiler development team as experimental).

I've meant the latter. In other words - is it good to be early adopter 
of some cool new features, not yet widely tested in the field. Like 
you've said - coroutines are quite complicated feature and trusting 
early implementations might come with a risk.

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:)

Regards,
Adrian


More information about the openbmc mailing list