From patchwork Mon Oct 21 18:30:17 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 285266 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 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B69412C00CB for ; Tue, 22 Oct 2013 05:30:54 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id; q=dns; s=default; b=ybDbYugjzhZ4 y82jrgRThIEzC3spHrT/WklSMMD441/AmuIZd2fgwAMl7JFM+B/Zd8p3SVL4RJfC EYo+clXCKQWJfKCDZ9Ak66pafSKFXRz7tymwA9ttFKQF8LRpMe+5M0arNoq48p87 hjrMf1ysknHQe59NfkAxfmVFKWXaajs= 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:from :to:cc:subject:date:message-id; s=default; bh=fCfKa4Q7zZCOgFIysq uKqeJZDIY=; b=OU8n2vRpopYclWmsf74QKcLGxZVJDPL7EsH9ejBpCtHBatDYmT d6YgqjMw2h5XUF5oDxPCoN6hjrW4PZoBjhog13so9bYN2teFfN8qeh8jBvHT82uN 6LGATy+SlWJqZ4XXEyGYdDWMWlUBnL3RqXvGK5X9kUTGfcQE8kJI0B0oc= Received: (qmail 27610 invoked by alias); 21 Oct 2013 18:30:41 -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 27552 invoked by uid 89); 21 Oct 2013 18:30:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 21 Oct 2013 18:30:40 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r9LIUdYA026624 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 21 Oct 2013 14:30:39 -0400 Received: from surprise.bos.redhat.com ([10.18.25.13]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r9LIUct4012531; Mon, 21 Oct 2013 14:30:38 -0400 From: David Malcolm To: gcc-patches@gcc.gnu.org, jit@gcc.gnu.org Cc: David Malcolm Subject: [jit] Improve error message in gcc_jit_function_new_local Date: Mon, 21 Oct 2013 14:30:17 -0400 Message-Id: <1382380217-22404-1-git-send-email-dmalcolm@redhat.com> X-IsSubscribed: yes Committed to dmalcolm/jit: gcc/jit/ * libgccjit.c (gcc_jit_function_new_local): Use a more clear error message for the case where someone tries to add a local to a function imported from elsewhere. --- gcc/jit/ChangeLog.jit | 6 ++++++ gcc/jit/libgccjit.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/jit/ChangeLog.jit b/gcc/jit/ChangeLog.jit index e16902d..df08834 100644 --- a/gcc/jit/ChangeLog.jit +++ b/gcc/jit/ChangeLog.jit @@ -1,5 +1,11 @@ 2013-10-21 David Malcolm + * libgccjit.c (gcc_jit_function_new_local): Use a more clear + error message for the case where someone tries to add a local + to a function imported from elsewhere. + +2013-10-21 David Malcolm + * TODO.rst ("the C unary prefix "&" operator"): Remove completed item. * internal-api.c (gcc::jit::lvalue::get_address): New. * internal-api.h (gcc::jit::lvalue::get_address): New. diff --git a/gcc/jit/libgccjit.c b/gcc/jit/libgccjit.c index 8d77761..40ac98d 100644 --- a/gcc/jit/libgccjit.c +++ b/gcc/jit/libgccjit.c @@ -544,7 +544,10 @@ gcc_jit_function_new_local (gcc_jit_function *func, gcc_jit_type *type, const char *name) { - RETURN_NULL_IF_NOT_FUNC_DEFINITION (func); + RETURN_NULL_IF_FAIL (func, NULL, "NULL function"); + RETURN_NULL_IF_FAIL (func->get_kind () != GCC_JIT_FUNCTION_IMPORTED, + NULL, + "Cannot add locals to an imported function"); RETURN_NULL_IF_FAIL (type, NULL, "NULL type"); RETURN_NULL_IF_FAIL (name, NULL, "NULL name");