| Subject | Re: [PATCH 00/45] C++: Convert the kernel to C++ | From | Randy Dunlap <> | Date | Sun, 1 Apr 2018 15:20:31 -0700 |
| |
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
|