From patchwork Wed Apr 5 21:09:25 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 9665769 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9F7F360364 for ; Wed, 5 Apr 2017 21:09:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9001028113 for ; Wed, 5 Apr 2017 21:09:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 84F0828159; Wed, 5 Apr 2017 21:09:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, SUBJ_ALL_CAPS, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3498428178 for ; Wed, 5 Apr 2017 21:09:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934280AbdDEVJs (ORCPT ); Wed, 5 Apr 2017 17:09:48 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:32896 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934281AbdDEVJq (ORCPT ); Wed, 5 Apr 2017 17:09:46 -0400 Received: by mail-wr0-f195.google.com with SMTP id g19so6062011wrb.0 for ; Wed, 05 Apr 2017 14:09:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XWrT5Xqe9yl4Yht6MPLmUmtLcCnfgncmsdDCWMPCKo4=; b=oo+QaSTN4x4LHmP9uyAK0YYQP57j7suCQLx8SG/FjFwXZaBAkrXxjsexc2srDswqBg e0l9EExZdKGGXWqmTwqjeWgacBJmdGQ/HW/5ahxse2OJgFwJVwWvAcasQOGY3gVCG/LO ln57hZLiJdV1UD7tcTwNE2Fpt1UV5eHZ1Cmpbzu4mIV5qSN8TYn2+P7Bmn1BJ/xMLLV+ jQIIqIO20PpfUQXo/b3yDf2hJ1XNKkIeDl84XcqItI3+N3IzDMeoTTYydrhIrOd0QGAG 5d4ugijRDbGbxx2akYBWcHNrFl2+bMUcnUU0Zw1sBDTWMbv019UE++NcvID5OOH9xAYr +M1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XWrT5Xqe9yl4Yht6MPLmUmtLcCnfgncmsdDCWMPCKo4=; b=lk7GdTEMOOU2YCJzKozNhH0clkLA44bDll7jWRn0E39CUCoRnJ1onzWfzt4mBRnWr/ 4yP+qZizsqQ642E+EVDcGxbriTk8d8eZyr69s4RBViXoWnHuTIMvFFXWUibHPdptzcTr nFxyH8NzyRe62NGBU8mAbblqcvbVzemOf7WejiU9mugZ+y3QF5sty+qCMAD0xPBU/2Tv 38IZy/M0T9kNls91rG6iBImSLVNxhldTSAMvY9xKOOFonLi1h1wQ3ebgl/Vuezwr0IUl SiNJOvEqeT/rCopO206xiuYiFE9tSB301+4Vggga4Qjr8o8CdFTrce+Bt53Qx7LnaKfl 3w8A== X-Gm-Message-State: AFeK/H0xRYDLp2uRN7NOMC03sMxVcA2c1ujX1Sm3JQklKmxytslZ3DGW 46IozLqaP7buLw== X-Received: by 10.28.45.212 with SMTP id t203mr19740885wmt.37.1491426585113; Wed, 05 Apr 2017 14:09:45 -0700 (PDT) Received: from localhost.localdomain ([2a02:a03f:88d:1900:fc6c:1650:1726:93b6]) by smtp.gmail.com with ESMTPSA id v29sm27592168wrv.66.2017.04.05.14.09.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Apr 2017 14:09:44 -0700 (PDT) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Christopher Li , Luc Van Oostenryck Subject: [PATCH 7/9] MOD_QUALIFIER Date: Wed, 5 Apr 2017 23:09:25 +0200 Message-Id: <20170405210927.27948-8-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20170405210927.27948-1-luc.vanoostenryck@gmail.com> References: <20170405210927.27948-1-luc.vanoostenryck@gmail.com> Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP --- evaluate.c | 2 +- expand.c | 2 +- parse.c | 2 +- symbol.h | 5 +++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/evaluate.c b/evaluate.c index 47eeaef2e..b93982e19 100644 --- a/evaluate.c +++ b/evaluate.c @@ -627,7 +627,7 @@ static struct symbol *evaluate_ptr_add(struct expression *expr, struct symbol *i static void examine_fn_arguments(struct symbol *fn); -#define MOD_IGN (MOD_VOLATILE | MOD_CONST | MOD_PURE) +#define MOD_IGN (MOD_QUALIFIER | MOD_PURE) const char *type_difference(struct ctype *c1, struct ctype *c2, unsigned long mod1, unsigned long mod2) diff --git a/expand.c b/expand.c index 11f7255bf..7af91e8e5 100644 --- a/expand.c +++ b/expand.c @@ -479,7 +479,7 @@ static int expand_comma(struct expression *expr) return cost; } -#define MOD_IGN (MOD_VOLATILE | MOD_CONST) +#define MOD_IGN (MOD_QUALIFIER) static int compare_types(int op, struct symbol *left, struct symbol *right) { diff --git a/parse.c b/parse.c index 7d86ccce3..897d4caa4 100644 --- a/parse.c +++ b/parse.c @@ -2144,7 +2144,7 @@ static struct statement *start_function(struct symbol *sym) start_function_scope(); ret = alloc_symbol(sym->pos, SYM_NODE); ret->ctype = sym->ctype.base_type->ctype; - ret->ctype.modifiers &= ~(MOD_STORAGE | MOD_TLS | MOD_CONST | MOD_VOLATILE | MOD_ADDRESSABLE | MOD_NOCAST | MOD_NODEREF); + ret->ctype.modifiers &= ~(MOD_STORAGE | MOD_TLS | MOD_QUALIFIER | MOD_ADDRESSABLE | MOD_NOCAST | MOD_NODEREF); ret->ctype.modifiers |= (MOD_AUTO | MOD_REGISTER); bind_symbol(ret, &return_ident, NS_ITERATOR); stmt->ret = ret; diff --git a/symbol.h b/symbol.h index a90efc898..16d58594e 100644 --- a/symbol.h +++ b/symbol.h @@ -242,9 +242,10 @@ struct symbol { #define MOD_SIZE (MOD_CHAR | MOD_SHORT | MOD_LONG_ALL) #define MOD_IGNORE (MOD_STORAGE | MOD_ADDRESSABLE | \ MOD_ASSIGNED | MOD_USERTYPE | MOD_EXPLICITLY_SIGNED) -#define MOD_PTRINHERIT (MOD_VOLATILE | MOD_CONST | MOD_NODEREF | MOD_NORETURN | MOD_NOCAST) +#define MOD_QUALIFIER (MOD_CONST | MOD_VOLATILE) +#define MOD_PTRINHERIT (MOD_QUALIFIER | MOD_NODEREF | MOD_NORETURN | MOD_NOCAST) /* modifiers preserved by typeof() operator */ -#define MOD_TYPEOF (MOD_VOLATILE | MOD_CONST | MOD_NOCAST | MOD_SPECIFIER) +#define MOD_TYPEOF (MOD_QUALIFIER | MOD_NOCAST | MOD_SPECIFIER) /* Current parsing/evaluation function */