From patchwork Fri Nov 27 14:41:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Li=C5=A1ka?= X-Patchwork-Id: 549478 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 5B5641402DD for ; Sat, 28 Nov 2015 01:41:54 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=mgH10Sjo; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=fcoWDtPXJ7O5CDrcgR68Zq58lVfcYwojtjSuoegDQu032LHXTS zGh014+Q46zjWiDd3Ng0GTr6Ky5IFFMtUXdKIxIpTjmG+gkoYEXAhFoAyFsnG1qV NRhZoJcz1Wzx/6BbL4M2W2ui5xoctVVxaMrrEdvph7tqnENySoWXxS/kM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=/qEZ0mNFtyLYcf4D/2L8opvgq5c=; b=mgH10SjoiJjN3+79/baU 7b2elwrRFK33uh91zgeiAIoyKJbE55ZOWFX6xweF9CjIt0Z7mUls/nhOIpDDgJON yq3v2983ALv7NmYsmkCe+YqKZK0e+eEh8l5n3j0dbN5laZQhkzRuBY/c6osOdJl+ esTgoX87A/mp/mjOAWn2bmg= Received: (qmail 44119 invoked by alias); 27 Nov 2015 14:41:46 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 44107 invoked by uid 89); 27 Nov 2015 14:41:46 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Fri, 27 Nov 2015 14:41:45 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 7B3F4ABE5 for ; Fri, 27 Nov 2015 14:40:02 +0000 (UTC) To: GCC Patches From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Subject: [HSA] fix emission of function names with user-defined assembly names Message-ID: <56586BA5.2060609@suse.cz> Date: Fri, 27 Nov 2015 15:41:41 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 X-IsSubscribed: yes Hello. The patch has just been applied to the HSA branch. Martin From 9f791cd1715b65599a4b022a56a7eac7e0816e72 Mon Sep 17 00:00:00 2001 From: marxin Date: Fri, 27 Nov 2015 09:06:58 +0100 Subject: [PATCH 3/5] HSA: fix emission of function names with user-defined names gcc/ChangeLog: 2015-11-27 Martin Liska * hsa.c (hsa_get_declaration_name): Skip leading asterisk symbol is assembly name. --- gcc/hsa.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gcc/hsa.c b/gcc/hsa.c index 7c4e404..c728608 100644 --- a/gcc/hsa.c +++ b/gcc/hsa.c @@ -710,14 +710,20 @@ hsa_get_declaration_name (tree decl) free (b); return ggc_str; } - else if (TREE_CODE (decl) == FUNCTION_DECL) - return cgraph_node::get_create (decl)->asm_name (); - else if (TREE_CODE (decl) == VAR_DECL && is_global_var (decl)) - return IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); + + tree name_tree; + if (TREE_CODE (decl) == FUNCTION_DECL + || (TREE_CODE (decl) == VAR_DECL && is_global_var (decl))) + name_tree = DECL_ASSEMBLER_NAME (decl); else - return IDENTIFIER_POINTER (DECL_NAME (decl)); + name_tree = DECL_NAME (decl); + + const char *name = IDENTIFIER_POINTER (name_tree); + /* User-defined assembly names have prepended asterisk symbol. */ + if (name[0] == '*') + name++; - return NULL; + return name; } void -- 2.6.3