From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29096 invoked by alias); 16 Jul 2003 17:12:08 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 29082 invoked from network); 16 Jul 2003 17:12:08 -0000 Received: from unknown (HELO ms-smtp-03.nyroc.rr.com) (24.92.226.153) by sources.redhat.com with SMTP; 16 Jul 2003 17:12:08 -0000 Received: from twcny.rr.com (syr-24-24-19-103.twcny.rr.com [24.24.19.103]) by ms-smtp-03.nyroc.rr.com (8.12.5/8.12.2) with ESMTP id h6GHC3s4018677; Wed, 16 Jul 2003 13:12:04 -0400 (EDT) Message-ID: <3F158757.30507@twcny.rr.com> Date: Wed, 16 Jul 2003 17:12:00 -0000 From: Nathanael Nerode User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3) Gecko/20030312 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alexandre Oliva CC: Gabriel Dos Reis , Andrew Cagney , fche@redhat.com, gdb@sources.redhat.com, binutils@sources.redhat.com, hjl@lucon.org Subject: Re: FYI: A new C++ demangler References: <20030712180228.GA912@doctormoo> <3F142933.1060902@redhat.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2003-07/txt/msg00188.txt.bz2 Alexandre Oliva wrote: > On Jul 15, 2003, Gabriel Dos Reis wrote: >>Yes. Apparently Nathanael doesn't seem to understand that C++ >>can be used productively for system programming. No, I understand that. Why do people keep missing the point? Let me try again. Adding the C++ demangler to libiberty adds a new build requirement, C++, to anything which uses libiberty. DJ, the libiberty maintainer, has said that this is not OK with him because it does not satisfy the goals of libiberty. HJ's plan of having two versions of libiberty, one with the 'new' demangler and one with the 'old' demangler, selected magically at build-time, is a very, very bad idea because it's confusing. I don't care whether they're link-compatible; it still means two versions of libiberty pretending to be the same version. It's designed to cause confusion and untraceable bug reports. Or if the demangler is outside libiberty, it means GDB (and anything else using the new demangler) requires C++ to build, which is again *fine with me*. But apparently it's *not* acceptable to the GDB people. Go talk to them about whether "C++ can be used productively for system programming", if you like. > I don't think the issue is about using C++ for system programming. > The issue is about having to force every user of libiberty to start > linking programs that link with libiberty using $(CXX) instead of just > $(CC). This would be a very incompatible and, IMHO, undesirable > change. It's not just linking, it's building as well. See above. If adding C++ as a build requirement is considered acceptable by all the projects using libiberty (which includes stuff outside gcc/src), then the C++ demangler can be put in libiberty. If adding C++ as a build requirement is considered acceptable by all the projects in gcc/src which want the new demangler, then the C++ demangler can be put in as a separate directory. If adding C++ as a build requirement is *not* considered acceptable by any *one* of them, we can't. It's as simple as that, and it's nothing to do with me. Feel free to convince the projects in GCC and SRC that they want to add C++ as a build requirement. The only thing I am *personally* strongly against is the stupid scheme for silently building different versions of libiberty (or, indeed, GDB or binutils) under the same name depending on the build environment. I even said that multiple versions would be fine by me if they were controlled by an explicit option, rather than implicit characteristics of the build environment. --Nathanael