From patchwork Sun Dec 15 11:04:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 11292735 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E8A7017F0 for ; Sun, 15 Dec 2019 11:06:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C645820700 for ; Sun, 15 Dec 2019 11:06:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dTlBWyGt" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726103AbfLOLGc (ORCPT ); Sun, 15 Dec 2019 06:06:32 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:54586 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726089AbfLOLGc (ORCPT ); Sun, 15 Dec 2019 06:06:32 -0500 Received: by mail-wm1-f67.google.com with SMTP id b19so3516577wmj.4 for ; Sun, 15 Dec 2019 03:06:30 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=cqruCV/G5asdj7snUjcde3JHJ0rfPbeVRemzLyzm3t8=; b=dTlBWyGtLC1vMhhbISS7bE2QnCCzdDPb64G3tLbQBQ6eXCRqFge3ztoW/3F/y/Lagv QXCM4iEVLjZ8A5DrstHI+KnQDsa+kJhXyXisXa48piVa7Ez3gzc98ogrLn1AnuzudsYI DY9UeD4IRi28WCcYI6kKnQO99NYLOZuI0li8b4VOwr0Tfq06s5hu01P2xaHcmipA8nlt 5unw1hM2q3kpL7jwvYedLRoB13kmft3UhZIXhmerEm9pFZ6Xli9eGhl2Fi4xkG5oLuat B7Ud27boHHT1dcYjZXz1z0f86LLyKXO4T9NFFdZ1ZoNXCxynjQ5uLSNZe1xmFL90iJVV zh3w== 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:mime-version:content-transfer-encoding; bh=cqruCV/G5asdj7snUjcde3JHJ0rfPbeVRemzLyzm3t8=; b=UfKrOum+37exI+TumLtf2Jm8NA3yWJafOfR3Zs8zwbubluuotXEGzDH9j5d+K6on/s NnXEozZaJp7RZwQtU3gVBJMDMFhfj3uGcbEFrt+9k2wxMZugGaAggPqkYS7uozC+9K22 veVHSlGRNZdMhcAnxm4HAypc97GF34iobP8jsXbHJAzI+AvA1pK2TeTgr69jaEqW/+4Q z9GR1lLW3ntXkQLQ44HriKt9j10YfAdHFFD0V/dq/jVQzzp15Xn8E7isfhzo/96OCg3i DPv5jlnmZFS7QaqYax9XlRPHu4uaBnyb/TJRfV0W9Dka2gZZr01MUZwp1NL3Pfb9lLcN pNdQ== X-Gm-Message-State: APjAAAWpvozqYgsWD91XDq+WSWY5Ok2px/+wVO3+LPa8SQVuVnBB9/Oe Sg9cz2jwH9eGZZW1P/K19B6xZbrr X-Google-Smtp-Source: APXvYqyXhmIXX86m4NjCLxZxzQwH9F6JmgtGdHaeA2oh7WIIYpAgeUNtJp0sGu0nD120gP+kEHc9qA== X-Received: by 2002:a05:600c:251:: with SMTP id 17mr3392077wmj.88.1576407990131; Sun, 15 Dec 2019 03:06:30 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:40f6:4600:180:4f0:43c8:9084]) by smtp.gmail.com with ESMTPSA id r5sm16760690wrt.43.2019.12.15.03.06.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 03:06:29 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 1/4] mark strings as examined & evaluated Date: Sun, 15 Dec 2019 12:04:22 +0100 Message-Id: <20191215110425.76533-2-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> References: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> MIME-Version: 1.0 Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org evaluate_string() leaves the strings it creates as unexamined & unevaluated. More exactly, they are examined and evaluated (they have correct size & type) but not marked as such. This doesn't seem to really matter but shows up when auditing if classify_type() is always used on examined symbols. So, mark the strings as examined and evaluated since their size & type are known. Signed-off-by: Luc Van Oostenryck --- evaluate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/evaluate.c b/evaluate.c index 34578be8a3bd..539ef8038587 100644 --- a/evaluate.c +++ b/evaluate.c @@ -110,6 +110,8 @@ static struct symbol *evaluate_string(struct expression *expr) sym->ctype.modifiers = MOD_STATIC; sym->ctype.base_type = array; sym->initializer = initstr; + sym->examined = 1; + sym->evaluated = 1; initstr->ctype = sym; initstr->string = expr->string; @@ -119,6 +121,8 @@ static struct symbol *evaluate_string(struct expression *expr) array->ctype.alignment = 1; array->ctype.modifiers = MOD_STATIC; array->ctype.base_type = &char_ctype; + array->examined = 1; + array->evaluated = 1; addr->symbol = sym; addr->ctype = &lazy_ptr_ctype; From patchwork Sun Dec 15 11:04:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 11292737 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DCE3E138C for ; Sun, 15 Dec 2019 11:06:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BA91120700 for ; Sun, 15 Dec 2019 11:06:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DBEJb0bb" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726118AbfLOLGd (ORCPT ); Sun, 15 Dec 2019 06:06:33 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:55825 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726083AbfLOLGd (ORCPT ); Sun, 15 Dec 2019 06:06:33 -0500 Received: by mail-wm1-f67.google.com with SMTP id q9so3511768wmj.5 for ; Sun, 15 Dec 2019 03:06:31 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=wqokH0Rw7Ml11N7Dg3ko+cTdLX3mZ7jL0f+GYSEsri4=; b=DBEJb0bbMKJu/I0HocusLCQVYX1CU/SUCZ6kNtiCC6tq9mz+IEkRCqk9N7G7mncugi 6zaYx6HDEvFokNSt3LTv34ypqnykew+WuDNOfLyfk73QuGDJVtnOzII2NU4cDP+mwWSF NhDdDHEUdPyYw87eylo5gWnEE74D9xnGilF+jYFvD/jQ2zB9NXIeLr6v/aU5qyXFD/tA IVj3YrfRxxFA/0HoQQs5MBnPvKCEBn7cl5RHSZ76wVlXesXn4iTJ6hWkyuFJjk3b8eX5 9VGr+YfXACHjsNTr93U6tj+iJkLeAoX7UIx4ui5XVl+qXLAOHxhit7YwmtfjvZ+IgQNB +iUw== 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:mime-version:content-transfer-encoding; bh=wqokH0Rw7Ml11N7Dg3ko+cTdLX3mZ7jL0f+GYSEsri4=; b=tw2vqf+h2Q+m3dOGoFtwTg5k5VK83r0YiedqXjoElyUYlMi1jip59W9E2VuKsW5xgg wvBIvjqmGIa6IwGxTapEe+myxqFyArNjUFvEA5nFZtNt6MMT+eOhUnHxg93q+Fj47EzE SXCvTiG2MeIVi9rAApqlj0nkTuTy1+pCdSwZYH3ZNLgf9pZPbz4btRh27AonKInX2iav yYtRKw0+dlp2VEjV0Qll3NBYd5F1Qs3Du+YvSuRP34O3dteHp34YEZo/Vg5pL8hHIsub fUpmwjY+13gBAuuvG00fVHWwBimNt/XUwUshGf9VkuTIXfetL/E3fI3Iwl6OyzsV0fgB BRvA== X-Gm-Message-State: APjAAAUaJvtjK4JOBuRKPygx2yzZWEAp8fYb7EylKRl1WAsqvThszSaO phnNCCngafVvxW1LoFoyjup2qiZh X-Google-Smtp-Source: APXvYqxUep0vEClp6Ptm5Am+sYwF8DLBdDBR5gYnFobv4FhbOtg5MgISMD8uLBTwG5UnINxh/FM6rQ== X-Received: by 2002:a1c:f416:: with SMTP id z22mr23579199wma.72.1576407990944; Sun, 15 Dec 2019 03:06:30 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:40f6:4600:180:4f0:43c8:9084]) by smtp.gmail.com with ESMTPSA id r5sm16760690wrt.43.2019.12.15.03.06.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 03:06:30 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 2/4] typeof: do not let classify_type() do its own SYM_TYPEOF expansion Date: Sun, 15 Dec 2019 12:04:23 +0100 Message-Id: <20191215110425.76533-3-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> References: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> MIME-Version: 1.0 Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org SYM_TYPEOFs are expanded at examination type. However, classify_type() does its own expansion of SYM_TYPEOFs. Worse, it does this differently (address space & noderef are not removed).. So, to enforce the same expansion, also use examine_symbol_type() to do the expansion in classify_type(). Note: it's not sure that it's currently possible to have SYM_TYPEOFs to expand in classify_type(). Signed-off-by: Luc Van Oostenryck --- evaluate.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/evaluate.c b/evaluate.c index 539ef8038587..038fd64ace9e 100644 --- a/evaluate.c +++ b/evaluate.c @@ -383,10 +383,8 @@ static inline int classify_type(struct symbol *type, struct symbol **base) if (type->type == SYM_NODE) type = type->ctype.base_type; if (type->type == SYM_TYPEOF) { - type = evaluate_expression(type->initializer); - if (!type) - type = &bad_ctype; - else if (type->type == SYM_NODE) + type = examine_symbol_type(type); + if (type->type == SYM_NODE) type = type->ctype.base_type; } if (type->type == SYM_ENUM) From patchwork Sun Dec 15 11:04:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 11292739 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AFABE138C for ; Sun, 15 Dec 2019 11:06:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8D90C20700 for ; Sun, 15 Dec 2019 11:06:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LCfQTSVL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726083AbfLOLGe (ORCPT ); Sun, 15 Dec 2019 06:06:34 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:39682 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726089AbfLOLGe (ORCPT ); Sun, 15 Dec 2019 06:06:34 -0500 Received: by mail-wm1-f68.google.com with SMTP id b72so1457053wme.4 for ; Sun, 15 Dec 2019 03:06:32 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=Fal4b/Cty1m/2qylGZASR8UP6fUeskmiHIE63Fubb5g=; b=LCfQTSVLtmhf5gY0auqYCKC6K8sBr5sxAZaPFx+restHuqA9DMvPTw+1pT91RiGKOy 5W7EPykWMRsPiyO8r16za1TE9qseUZaqjZlCDat5thmqJzkfXZUC1Eqi1N0PqjojY5QQ jQ51B3oxqRh63f9G5jHV/YK2qWlnypv+PZpEOOdiutH1WHaW1SFtso6JA57i0J8eDVBl LihXJ8Gj9sTdfnB7oQ6fw1P/Uvc2m2PRYTbgal1Mq9qKQgFPcP1t/H05fsMEwAEoFZ7H jAPvAFMj+4vot2xRYhCJy/VaLe+FlrqVpdW5V45Kip4XF/ym1YPSWZAScfG5GRP4CpwM DKFA== 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:mime-version:content-transfer-encoding; bh=Fal4b/Cty1m/2qylGZASR8UP6fUeskmiHIE63Fubb5g=; b=KquoUpEciVNPvQJsG42IApMO3H8hFnO/ZGzdIqcRLA0Rq8+DpkSzDFJrhbKOJcaF9M DW1qVGlYHva4aHiHHdBMmxnt49y0NBmTW+bS36HhUwpsg2+MbVGTwuSU1mV6MLXE4KUc 4FuSlHH6w4q+tYCsEtGNNwCf29FCgS8iARmTL2e1sE0NQIk0iUTo/yIJZCsVn1bOmluy X1QKZ7dfAAhBwGYiGhZ6ScY1m7VZJ2WZkDRWKxtkjA6ikkuC2kecWvpqJeOcyW9Aa26G 78ZZ2qyLLVACZd7w9k8Q5Fmbom8Cy+TaswyAEyo2ey1DtH2Ok4PA0JmLmSJkgyEiLHvD TFzA== X-Gm-Message-State: APjAAAWO/++Ufy+D6T8AaQC6nmcGEtw+67ENLN0Ev9apNifs2H+ZmqpQ +OojRhZQsgaCcjmqzjWDBePxqzNI X-Google-Smtp-Source: APXvYqxMhgkd3svyNs1DMYX9ukIhpWs83xJcVXQ/w6l31KI+pCbnXIJnRkLqXkeEAF5Ee8LCAJpYbw== X-Received: by 2002:a7b:cd83:: with SMTP id y3mr23488319wmj.168.1576407991724; Sun, 15 Dec 2019 03:06:31 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:40f6:4600:180:4f0:43c8:9084]) by smtp.gmail.com with ESMTPSA id r5sm16760690wrt.43.2019.12.15.03.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 03:06:31 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 3/4] typeof: extract examine_typeof() from examine_symbol_type() Date: Sun, 15 Dec 2019 12:04:24 +0100 Message-Id: <20191215110425.76533-4-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> References: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> MIME-Version: 1.0 Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org No functional changes here, just moving the code for the conversion of SYM_TYPEOFs in its own function, in preparation for some further changes. Signed-off-by: Luc Van Oostenryck --- symbol.c | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/symbol.c b/symbol.c index 3655cbb78913..46fe740b4cc1 100644 --- a/symbol.c +++ b/symbol.c @@ -453,6 +453,25 @@ static struct symbol *examine_pointer_type(struct symbol *sym) return sym; } +static struct symbol *examine_typeof(struct symbol *sym) +{ + struct symbol *base = evaluate_expression(sym->initializer); + unsigned long mod = 0; + + if (!base) + base = &bad_ctype; + if (is_bitfield_type(base)) + warning(base->pos, "typeof applied to bitfield type"); + if (base->type == SYM_NODE) { + mod |= base->ctype.modifiers & MOD_TYPEOF; + base = base->ctype.base_type; + } + sym->type = SYM_NODE; + sym->ctype.modifiers = mod; + sym->ctype.base_type = base; + return examine_node_type(sym); +} + /* * Fill in type size and alignment information for * regular SYM_TYPE things. @@ -486,26 +505,8 @@ struct symbol *examine_symbol_type(struct symbol * sym) case SYM_BASETYPE: /* Size and alignment had better already be set up */ return sym; - case SYM_TYPEOF: { - struct symbol *base = evaluate_expression(sym->initializer); - if (base) { - unsigned long mod = 0; - - if (is_bitfield_type(base)) - warning(base->pos, "typeof applied to bitfield type"); - if (base->type == SYM_NODE) { - mod |= base->ctype.modifiers & MOD_TYPEOF; - base = base->ctype.base_type; - } - sym->type = SYM_NODE; - sym->ctype.modifiers = mod; - sym->ctype.base_type = base; - return examine_node_type(sym); - } - sym->type = SYM_NODE; - sym->ctype.base_type = &bad_ctype; - return sym; - } + case SYM_TYPEOF: + return examine_typeof(sym); case SYM_PREPROCESSOR: sparse_error(sym->pos, "ctype on preprocessor command? (%s)", show_ident(sym->ident)); return NULL; From patchwork Sun Dec 15 11:04:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 11292741 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5B453184C for ; Sun, 15 Dec 2019 11:06:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 393A8206D3 for ; Sun, 15 Dec 2019 11:06:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ds6UMCR4" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726121AbfLOLGf (ORCPT ); Sun, 15 Dec 2019 06:06:35 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:46999 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726112AbfLOLGe (ORCPT ); Sun, 15 Dec 2019 06:06:34 -0500 Received: by mail-wr1-f67.google.com with SMTP id z7so3648006wrl.13 for ; Sun, 15 Dec 2019 03:06:33 -0800 (PST) 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 :mime-version:content-transfer-encoding; bh=Z0txDWXz8JOEkDKUOwgJZJqGR65GrXQosTkilaTkXXM=; b=ds6UMCR423x7F5TdWTqgzvmdInf/8d0ISp5tIHw7zN6E9fdCGqJRc+hlAigJSgWSxT zml5ybHeiIaAlVbmScIfoZvv/x6/01SdQSL8NKIhPTed/u0yNu04Bie1JzP39gsfpp9H 1Ul1+uwmMD0UenjhSq0rDmEmWqJTHxZ57G0u4aE9WhHfPOyT6Oy0daiPjGFGD6VMDwDd +KynBgJMpSuyz5Qr+GBC8wldELTO21PlqJPyL5oXQvMA/9Z9XJFfttdh0A8/NRZpJ1uX ZeNZwYPkoqBEG5C1RZgBsD4vErxjYiumTnfcaSAj5Eq2h9gzq8ucwJUQIdBksqMDCYuj p9FA== 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:mime-version:content-transfer-encoding; bh=Z0txDWXz8JOEkDKUOwgJZJqGR65GrXQosTkilaTkXXM=; b=hrovqavNkZuSNbfciiF4JYhui/mYHuBQ3SHYGhkZap2eo3iLthvdAgsswqum2DBxI8 BzddHjXFlPusf/PRFO8SD8/R+UQdlULi3pYfCapaRvKmfbrh+f1W5bpVpSsPQNBCB9n5 EsjEndNrrcntaI7U3JujswrhUa7cBtuFRlppcaDnSXB8NWvQWRlBm8OPr15iOuwsz5MJ BfGSPJuJy7ZykbFXQ5dISx91gFZEA++B4Hfp9vCUYiNFIrcmdsqXsg80TzvlPMzAXCFz lioT3va04uiL3fSPyn3iDeobnW107B4seDeGeUoLKDKjj0CecnCqSBSScT2ZudmFGzQu qJYA== X-Gm-Message-State: APjAAAWY3t9hukO61RR6E023RwxdipFZ35paFyLcCsJgypxMms39Ct1R lEdnVEfHGJg6vSVO6Z4fiXUb28CO X-Google-Smtp-Source: APXvYqz1es6VFwgdAECPS4CpHxDddz++H9KUUZjAtck7eD7qJCmo4mj5YoxqPoPiNcCaPOo0paiYig== X-Received: by 2002:a5d:4e90:: with SMTP id e16mr25288082wru.318.1576407992476; Sun, 15 Dec 2019 03:06:32 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:40f6:4600:180:4f0:43c8:9084]) by smtp.gmail.com with ESMTPSA id r5sm16760690wrt.43.2019.12.15.03.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Dec 2019 03:06:32 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 4/4] typeof: avoid using is_bitfield_type() Date: Sun, 15 Dec 2019 12:04:25 +0100 Message-Id: <20191215110425.76533-5-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> References: <20191215110425.76533-1-luc.vanoostenryck@gmail.com> MIME-Version: 1.0 Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org is_bitfield_type() is one of the few type-testing helper based on get_sym_type(). But get_sym_type() test for SYM_NODE and SYM_ENUM, which is not needed here. So, simply test for SYM_BITFIELD. Signed-off-by: Luc Van Oostenryck --- symbol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/symbol.c b/symbol.c index 46fe740b4cc1..ab6e9841696f 100644 --- a/symbol.c +++ b/symbol.c @@ -460,12 +460,12 @@ static struct symbol *examine_typeof(struct symbol *sym) if (!base) base = &bad_ctype; - if (is_bitfield_type(base)) - warning(base->pos, "typeof applied to bitfield type"); if (base->type == SYM_NODE) { mod |= base->ctype.modifiers & MOD_TYPEOF; base = base->ctype.base_type; } + if (base->type == SYM_BITFIELD) + warning(base->pos, "typeof applied to bitfield type"); sym->type = SYM_NODE; sym->ctype.modifiers = mod; sym->ctype.base_type = base;