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

Reply via email to