[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dad672eb-a343-b899-6936-5d18a62e6beb@infradead.org>
Date: Sun, 1 Apr 2018 15:20:31 -0700
From: Randy Dunlap <rdunlap@...radead.org>
To: David Howells <dhowells@...hat.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/45] C++: Convert the kernel to C++
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
Powered by blists - more mailing lists