From owner-freebsd-hackers@FreeBSD.ORG Thu Jul 20 01:40:27 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2165316A4E1 for ; Thu, 20 Jul 2006 01:40:27 +0000 (UTC) (envelope-from davidn@datalinktech.com.au) Received: from mail-ihug.icp-qv1-irony1.iinet.net.au (ihug-mail.icp-qv1-irony1.iinet.net.au [203.59.1.195]) by mx1.FreeBSD.org (Postfix) with ESMTP id 02CB743D4C for ; Thu, 20 Jul 2006 01:40:24 +0000 (GMT) (envelope-from davidn@datalinktech.com.au) Received: from 203-206-162-119.perm.iinet.net.au (HELO mail.datalinktech.com.au) ([203.206.162.119]) by mail-ihug.icp-qv1-irony1.iinet.net.au with ESMTP; 20 Jul 2006 09:39:54 +0800 X-BrightmailFiltered: true X-Brightmail-Tracker: AAAAAA== X-IronPort-AV: i="4.07,158,1151856000"; d="scan'208"; a="570656895:sNHT787854582" Received: from [192.168.4.232] ([192.168.4.232]) by mail.datalinktech.com.au with esmtp; Thu, 20 Jul 2006 11:39:53 +1000 id 0018D947.44BEDEE9.00012B54 Message-ID: <44BEDECF.5010609@datalinktech.com.au> Date: Thu, 20 Jul 2006 11:39:27 +1000 From: David Nugent User-Agent: Thunderbird 1.5.0.4 (X11/20060704) MIME-Version: 1.0 To: Matthias Andree References: <200607092136.k69LaNDX055391@www.freebsd.org> <84dead720607092015q7f1701abse143f3855c2aa95a@mail.gmail.com> <1152540567.99616@origin.intron.ac> <44B2AE69.4080703@elischer.org> <44B2D2DF.2000401@sh.cvut.cz> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, delphij@delphij.net, Julian Elischer , mag@intron.ac Subject: Re: kern/99979: Get Ready for Kernel Module in C++ X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Jul 2006 01:40:27 -0000 Matthias Andree wrote: >> Deciding that some features are bad beforehand, before you evaluate them >> is IMO bad idea. Let interested people write a bunch of C++ modules with >> the complete language before deciding on what shouldn't be used. >> > > No, that won't work -- plus you need a bunch of run-time support > (libstdc++ isn't exactly something that belongs into the kernel you know). > libstdc++ would not be used, just as userland libc isn't. There is a spec for embedded C++, and it is certainly appropriate to kernel level development. Many parts of the language that require runtime support can be dropped with impunity; for example most embedded environments don't include for exceptions , rtti, many don't support objects at module scope with constructors/destructors, and so on. C++ itself is quite usable in an embedded environment, but you don't (and should not expect) to get the complete feature list of the mainstream language.