Re: [PATCH 00/45] C++: Convert the kernel to C++

From: Randy Dunlap
Date: Sun Apr 01 2018 - 18:20:41 EST


On 04/01/2018 01:40 PM, David Howells wrote:
>
> Here are a series of patches to start converting the kernel to C++. It
> requires g++ v8.
>
...
>
> What I would disallow:
>
> (1) new and delete. There's no way to pass GFP_* flags in.
>
> (2) Constructors and destructors. Nests of implicit code makes the code less
> obvious, and the replacement of static initialisation with constructor
> calls would make the code size larger.
>
> (3) Exceptions and RTTI. RTTI would bulk the kernel up too much and
> exception handling is limited without it, and since destructors are not
> allowed, you still have to manually clean up after an error.
>
> (4) Operator overloading (except in special cases).
>
> (5) Function overloading (except in special inline cases).
>
> (6) STL (though some type trait bits are needed to replace __builtins that
> don't exist in g++).
>
> (7) 'class', 'private', 'namespace'.

Please fix https://bugzilla.kernel.org/show_bug.cgi?id=191051
while you are at it. :)


> (8) 'virtual'. Don't want virtual base classes, though virtual function
> tables might make operations tables more efficient.


ta.
--
~Randy