From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10314 invoked by alias); 30 Nov 2006 17:12:42 -0000 Received: (qmail 10304 invoked by uid 22791); 30 Nov 2006 17:12:41 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.12) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 30 Nov 2006 17:12:35 +0000 Received: from zps77.corp.google.com (zps77.corp.google.com [172.25.146.77]) by smtp-out.google.com with ESMTP id kAUHCFxg001465; Thu, 30 Nov 2006 09:12:18 -0800 Received: from localhost.localdomain.google.com (dhcp-172-18-118-195.corp.google.com [172.18.118.195]) (authenticated bits=0) by zps77.corp.google.com with ESMTP id kAUHC66S013882 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 30 Nov 2006 09:12:06 -0800 To: Fabian Cenedese Cc: gcc-help@gcc.gnu.org Subject: Re: Dwarf in assembler file References: <5.2.0.9.1.20061130170056.0189cb20@NT_SERVER> From: Ian Lance Taylor Date: Thu, 30 Nov 2006 17:12:00 -0000 In-Reply-To: <5.2.0.9.1.20061130170056.0189cb20@NT_SERVER> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2006-11/txt/msg00392.txt.bz2 Fabian Cenedese writes: > Why are there three symbols _ZN17_TASK_CLASS_NAME_D{0,1,2}Ev? They're all > placed on the same source line .loc 3 120 0, contain exactly the same code. So what > is the meaning/difference between these three? I also get two symbols for the constructor, > also only differing in the last number. These are required by the C++ ABI: http://codesourcery.com/cxx-abi/ base object destructor of a class T A function that runs the destructors for non-static data members of T and non-virtual direct base classes of T. complete object destructor of a class T A function that, in addition to the actions required of a base object destructor, runs the destructors for the virtual base classes of T. deleting destructor of a class T A function that, in addition to the actions required of a complete object destructor, calls the appropriate deallocation function (i.e,. operator delete) for T. The compiler should do a better job of combining them, since they are often the same. Ian