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