From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14833 invoked by alias); 29 Jul 2018 02:28:20 -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 14799 invoked by uid 89); 29 Jul 2018 02:28:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-7.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=HTo:D*oracle.com, Hx-spam-relays-external:cmsmtp, H*RU:cmsmtp, H*r:cmsmtp X-HELO: gateway21.websitewelcome.com Received: from gateway21.websitewelcome.com (HELO gateway21.websitewelcome.com) (192.185.45.38) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 29 Jul 2018 02:28:16 +0000 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway21.websitewelcome.com (Postfix) with ESMTP id 105664012ACAA for ; Sat, 28 Jul 2018 21:28:15 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id jbROfzjVwBcCXjbRPfcO5F; Sat, 28 Jul 2018 21:28:15 -0500 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=uXb2CDomRcNpl2v+1/RqvL9mtH7oK2CCZ1/xjroFwgM=; b=CQOC+nUvZX3EYxy48u/e6LbdGv 5fnWsY4TlSpjbLixAGtLRfUgQwZN55oGpqWnE0sm+41NSdIjUvRQfV+kckZmQf0qbUMj8Oz2ceMwb g8lJOoSx3Ci9ynMZPOFLdL4pW; Received: from 75-166-85-72.hlrn.qwest.net ([75.166.85.72]:56986 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1fjbRO-000HjY-Oj; Sat, 28 Jul 2018 21:28:14 -0500 From: Tom Tromey To: Weimin Pan Cc: gdb-patches@sourceware.org Subject: Re: [PATCH PR gdb/16841] virtual inheritance via typedef cannot find base References: <1532128565-75923-1-git-send-email-weimin.pan@oracle.com> Date: Sun, 29 Jul 2018 02:28:00 -0000 In-Reply-To: <1532128565-75923-1-git-send-email-weimin.pan@oracle.com> (Weimin Pan's message of "Fri, 20 Jul 2018 18:16:05 -0500") Message-ID: <87y3duojwj.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-07/txt/msg00753.txt.bz2 Thanks for the patch. There are a few small issues with it. First, git says that most of the lines in the valops.c part have a trailing space. Please remove those. Weimin> + for (index = 0; index < TYPE_NFIELDS (domain); index++) I think the loop limit should be TYPE_N_BASECLASSES. And, is it possible for the desired type to be a base class of a base class? I suspect so, but I didn't try to check; in this case you will need some recursion here, and also I think a new test for this case would be good. Weimin> + if (TYPE_FIELDS (domain)[index].type == curtype) It is more idiomatic to write TYPE_FIELD_TYPE (domain, index) here. Also I think you need check_typedef on the left-hand-side. Otherwise perhaps using a typedef for a base class would confuse gdb (depending on whether the compiler emits typedefs here or not). Weimin> + else Weimin> + mem_offset = value_as_long (ptr); This line is indented too far. thanks, Tom