From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12617 invoked by alias); 29 May 2010 08:17:32 -0000 Received: (qmail 12528 invoked by uid 48); 29 May 2010 08:17:08 -0000 Date: Sat, 29 May 2010 08:17:00 -0000 Message-ID: <20100529081708.12527.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/41233] Templated conversion operator produces symbol name that won't demangle In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "gcc at magfr dot user dot lysator dot liu dot se" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-05/txt/msg03197.txt.bz2 ------- Comment #4 from gcc at magfr dot user dot lysator dot liu dot se 2010-05-29 08:17 ------- I have run head-first into this problem as well. I have found that _ZN1tcvT_IiEEv ( t::operator int() ) works but _ZN1tcvKT_IiEEv ( t::operator int const() ) fails so it seems the problem is that the template isn't detected, and looking at the code in libiberty/cp-demangle.c (r159908) we have line 4689 that tries to detect if the cast target is a template type but only handles the case where the type is unadorned by anything and then there is the comment on lines 4696-4699 that explains the problem. -- gcc at magfr dot user dot lysator dot liu dot se changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gcc at magfr dot user dot | |lysator dot liu dot se http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41233