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]