From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82719 invoked by alias); 16 Dec 2018 23:10:28 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 82702 invoked by uid 89); 16 Dec 2018 23:10:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1606, renaming, conclusion X-HELO: gateway21.websitewelcome.com Received: from gateway21.websitewelcome.com (HELO gateway21.websitewelcome.com) (192.185.45.91) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 16 Dec 2018 23:10:24 +0000 Received: from cm16.websitewelcome.com (cm16.websitewelcome.com [100.42.49.19]) by gateway21.websitewelcome.com (Postfix) with ESMTP id AC2A9400C6474 for ; Sun, 16 Dec 2018 17:10:21 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id YfYDgAaQL4FKpYfYDggV6t; Sun, 16 Dec 2018 17:10:21 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=2WUx5itNlcX5z+t6W2yaNwC7k/Zun8CUlWNkq1dPNC4=; b=R9/MYtY4P+wwBB2Eg6bT3ofBcl 2RtImzH83WZI4Lvl8FefNRwCeo11uI5dUBnRNlS4IPOLdrm1hlZSDFrp5osysnsIpLunP+brIUjPp ofLeaRXorcDdf/lV2QbmOTL26; Received: from 75-166-72-210.hlrn.qwest.net ([75.166.72.210]:47786 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1gYfYD-001nBr-Bd; Sun, 16 Dec 2018 17:10:21 -0600 From: Tom Tromey To: Svante Signell Cc: Andreas Schwab , Tom Tromey , Simon Marchi , gdb-patches@sourceware.org Subject: Re: [PATCH] Please define thread_info as struct thread_info (and other stuff) References: <000db1d81a0c415190b6648222ed29db7f927df9.camel@gmail.com> Date: Sun, 16 Dec 2018 23:10:00 -0000 In-Reply-To: <000db1d81a0c415190b6648222ed29db7f927df9.camel@gmail.com> (Svante Signell's message of "Sun, 16 Dec 2018 20:08:30 +0100") Message-ID: <87d0q13w6b.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-12/txt/msg00194.txt.bz2 >>>>> "Svante" == Svante Signell writes: >> Try adding a forward declaration of struct thead_info. Note that >> config/i386/nm-i386gnu.h includes "regcache.h", making it unique among >> the nm.h files. Svante> From what I've leraned forward declarations is bad coding, an should be avoided Svante> as much as possible. Right or wrong? Opinions vary -- I think the Google style has a rule against it? -- but gdb generally does not avoid it. Svante> Furthermore, not defining thread_info as struct everywhere is in my opinion very Svante> lazy coding. I disagree here, C++ provides the typedef, there's nothing really wrong with using it. Svante> Another issue is to compile C-code (and C++-code) in *.c files. Svante> Please rename these to *.cpp (and eventually the header files to *.hpp)! As it Svante> is now it is very confusing. I think this was discussed When we made this switch, and the conclusion was that a mass rename would be worse. Svante> Finally, I've found the problem (but no workaround yet): thread_info is an RPC Svante> on GNU/Hurs, and including mach.h in gdb/config/i386/nm-i386gnu.h:#include Svante> further includes which has the conflicting name Svante> of that RPC: Svante> kern_return_t thread_info Svante> ( Typical answers for this kind of thing are either to segregate the use of the system header somehow, or maybe namespacing or some other kind of renaming. I haven't looked into the details much in this case I'm afraid. Tom