From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28014 invoked by alias); 20 Apr 2010 19:00:42 -0000 Received: (qmail 28001 invoked by uid 22791); 20 Apr 2010 19:00:40 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 20 Apr 2010 19:00:30 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o3KJ0Reh032690 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 20 Apr 2010 15:00:28 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o3KIkSnr025050; Tue, 20 Apr 2010 14:46:28 -0400 Received: from opsy.redhat.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id o3KIkRuj029913; Tue, 20 Apr 2010 14:46:27 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 26E6937979C; Tue, 20 Apr 2010 12:46:27 -0600 (MDT) From: Tom Tromey To: Chris Moller Cc: gdb-patches@sourceware.org Subject: Re: PR9167 Derived class static member CRTP infinite recursion on print References: <4BC7DDFC.3050506@redhat.com> Reply-To: tromey@redhat.com Date: Tue, 20 Apr 2010 19:00:00 -0000 In-Reply-To: <4BC7DDFC.3050506@redhat.com> (Chris Moller's message of "Thu, 15 Apr 2010 23:48:12 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 X-SW-Source: 2010-04/txt/msg00626.txt.bz2 >>>>> "Chris" == Chris Moller writes: Chris> You can't do that. obstack_base() returns a pointer to the current Chris> allocation, which may change depending on what's stuffed into the Chris> obstack--by the time the obstack_free is hit, the base may have Chris> changed. Why do we need to pop the stack at all? It seems to me that if we printed something once, during a given call into val_print, then we should never try to print it again. Am I missing something? Chris> + void * free_to_ptr = No space after the "*". Chris> obstack_grow (&dont_print_statmem_obstack, (char *) &addr, Chris> sizeof (CORE_ADDR)); Chris> - Chris> CHECK_TYPEDEF (type); Gratuitious whitespace change. This is ok with those changes. Thanks. Tom