Re: Which C++ version does Fiasco use
Marcus Haehnel <[email protected]> Fri, 29 Dec 2023 20:19:48 +0100
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
The L4Re Microkernel ("Fiasco") is compliant with C++17 and the standard
is enforced through the build system (-std=c++17).
I checked updating this to C++20 (src/Makeconf) and tested with
GCC-13.2. Since we use arithmetic operations between different enum
types at this time, which C++20 deprecates, there are a lot of warnings.
Disabling that warning (-Wno-deprecated-enum-enum-conversion) creates a
warning-free build for amd64 which works for the one use-case I tried.
So I would say most of our code should be compatible with C++20 with the
exception of this one deprecation.
The L4Re Userland uses whatever the compiler default is (unless an
individual package forces a particular standard).
Since the oldest supported compiler at this time is GCC-9 (which
defaults to C++17) and the latest compilers (GCC/clang) default to C++17
we take care that all our code is compliant with C++14 and C++17 for the
userland.
I hope that answers your question.
Best regards,
- Marcus
On 2023-12-29 17:06, teclis High Elf wrote:
> Hi,
>
> There are a lot of C++ versions. Is Fiasco L4Re compliant with the
> current C++20 standard?
>
> regards,
> _______________________________________________
> l4-hackers mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]