From patchwork Thu Nov 28 20:42:19 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: 11266573 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 E310915AB for ; Thu, 28 Nov 2019 20:42:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C0DA6208E4 for ; Thu, 28 Nov 2019 20:42:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZacEVF5w" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726610AbfK1Umf (ORCPT ); Thu, 28 Nov 2019 15:42:35 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:39271 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726565AbfK1Umf (ORCPT ); Thu, 28 Nov 2019 15:42:35 -0500 Received: by mail-wm1-f66.google.com with SMTP id s14so6102355wmh.4 for ; Thu, 28 Nov 2019 12:42: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=9cLS7TaGi1EPyQIzjOnM/kM2QHTCkjuHwF/5pvCfGks=; b=ZacEVF5wAKB4HkiwUpHoD5C1XTygAZX2R00OMNrQ9d6iWIxQrAxKE2YE3OlYeYEfZ3 6J4VrUeCjx8Ks/BhVBGReshFyDOqYaZ4Eb0PfrZ7HITcqQSNIGxbZscijNFjP15z3jfb 8B0OMrZg5z5vMetFQ0jHZ2UsPc4EdjvFcMr8Dzv+pv/bRUTVmfcX96vC3KvbxnLNw8lp ykY5VhgJfzB5IjJDJkc+07neXlKJo0pPmThJ1OIdqhmcutEz/voBwvug+gZOpzsSwzzy XYJhIe1fNH6KzVOhLLRV+6pw24Fb+P17pZpY+ytaSX+eACvXG0YZm35C8RRIpK/NdBzC Oorw== 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=9cLS7TaGi1EPyQIzjOnM/kM2QHTCkjuHwF/5pvCfGks=; b=b5cZ8gJqOajbYYhk3KUkHcbdd60fZDNY0Xvr2PAr6zXbFK7JuDvTHmbCNioQawrp5E 4dvIz5ix7+RQGq2KiLfdy53Wf5VathwwCcPIOYhUk/nQZCYYv3obmYXEqHvMbU6k55Is h1im52MAQWE0fUVvwmeYtTn0+CyjrAYaDIiwMCHzba6cbxOUtxvujbkbSt43T0E5RQ8a uiwAApHOYL57m5sL/OqfYUGAMH4pP38NQuwXFgCHTEZs/MP/X4KczfYh7L241VwelAGW 4c75Y8s5NjcFuiaPN9YPhsOStBO4fVoTQ3CL28eWvznoWqxwUWCePcVfwBVtQXw3slU5 TF7w== X-Gm-Message-State: APjAAAV2AqxeiNAmjPIxtRo4ESH6uD8l788dyXO5i2qk70vGqDiBMUwf RfaNLXeAbxnhIKTfJE1crv9fR7y4 X-Google-Smtp-Source: APXvYqzTTyu9KEh7xBEhrfGKhhO6LgI11Wq4QAWwx/LE9TmJO8Hh0QxW2Bg+VtnPyVSK9G503lnjSQ== X-Received: by 2002:a7b:c773:: with SMTP id x19mr11630013wmk.109.1574973751646; Thu, 28 Nov 2019 12:42:31 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:31 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 1/7] simplify initialization of Wdeclarationafterstatement Date: Thu, 28 Nov 2019 21:42:19 +0100 Message-Id: <20191128204225.7002-2-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 In preparation for supporting C17 flags, remove unneeded STANDARD_... cases and remove the impossible default assert(0). Signed-off-by: Luc Van Oostenryck --- lib.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/lib.c b/lib.c index f0b546889..7866800bf 100644 --- a/lib.c +++ b/lib.c @@ -890,27 +890,16 @@ static void handle_switch_W_finalize(void) handle_onoff_switch_finalize(warnings, ARRAY_SIZE(warnings)); /* default Wdeclarationafterstatement based on the C dialect */ - if (-1 == Wdeclarationafterstatement) - { - switch (standard) - { + if (-1 == Wdeclarationafterstatement) { + switch (standard) { case STANDARD_C89: case STANDARD_C94: Wdeclarationafterstatement = 1; break; - - case STANDARD_C99: - case STANDARD_GNU89: - case STANDARD_GNU99: - case STANDARD_C11: - case STANDARD_GNU11: + default: Wdeclarationafterstatement = 0; break; - - default: - assert (0); } - } } From patchwork Thu Nov 28 20:42:20 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: 11266577 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 D4B3F930 for ; Thu, 28 Nov 2019 20:42:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B39B1208E4 for ; Thu, 28 Nov 2019 20:42:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ATdAyhex" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726612AbfK1Umg (ORCPT ); Thu, 28 Nov 2019 15:42:36 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:56264 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726401AbfK1Umg (ORCPT ); Thu, 28 Nov 2019 15:42:36 -0500 Received: by mail-wm1-f66.google.com with SMTP id a131so7814542wme.5 for ; Thu, 28 Nov 2019 12:42: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=/m3Bm97xbmDqG6WfAQuxFu8Ey/SntMc03Un9KkL6GrY=; b=ATdAyhexrVFjhF+etEq8rDy4gRn61m5wRrH+tOWKHb6WocH9cu485JUdA1yoSXxnHF eierQQTIZVdZcN15Hgr/GTXilQI6YUBknNfm+YpMQUYcz1v2Lg3J/vy1P9/YGhUPd17Q D3ywz3fsfwHKKqV3AOcJrWtFMO7ensuPChF3nHLUN+lzxO5Ji4rO1DWHCcbUu5eIWwb5 ewY/3egP6kGYFyfJEzVLp9MyKzvu/8r1PXhj8RpFyaDFYnGxouRA3KpPSVl02Futc4xH E9bm2Y757hid5devsbyifdHpN6bMBLTJlQwI8R0DDoMISOKBl+pGJ+848JzGw6VLfFMR CSfg== 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=/m3Bm97xbmDqG6WfAQuxFu8Ey/SntMc03Un9KkL6GrY=; b=GRIUoMdHcfWdj52Jm2ZjQ/QGIzz6hbqEle8LU0kPeVtMsTPUzoUeFM6rnfRQFY89eJ ebWaMqeMF8Vzf11NqSajuWWCJnT3bPtiEtmrl75l6YZI+kbwk0fLahenuucosuM4MVhe H0keTzEIQGSD/j6ArzbxT5bzaMz9rU9CPhdXdsAEIHb4cOABRq+x2MzvGC8ngfHiJC3i k8+3LZq3yFb5lesj06Oovay2I3LZtbdDvf57KHddtFFfTnEqE5uwvTmfKCyA2A4BKTjp 5taDT/Pp17QEy7l3xDaVbDxLeyvRzN7jE+6o6F2aN8e2tKjvMLOViIGUFynHYTZkgtXu JNTQ== X-Gm-Message-State: APjAAAUMee5wVztasKnEaDfsEiLR4G5DzTNJ8qyUF8/YGHTznrlKg3/W GYsOxVuJ0K0qomq6sZAhmyCC+pDO X-Google-Smtp-Source: APXvYqx+qdZmXU+312J3RXq48YBF64VtlsEM7xrc3EdIDGUIlwZkImmtA9yZAC/FFsXu1+1Di7iCsQ== X-Received: by 2002:a1c:560b:: with SMTP id k11mr12082962wmb.153.1574973752631; Thu, 28 Nov 2019 12:42:32 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:32 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 2/7] allow to test the standard version outside of lib.c Date: Thu, 28 Nov 2019 21:42:20 +0100 Message-Id: <20191128204225.7002-3-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 Since semantics and supported features can differ between standard version we may need the supported version. Allow this by moving the variable 'standard' and the corresponding enum definition to lib.h Signed-off-by: Luc Van Oostenryck --- lib.c | 8 +------- lib.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib.c b/lib.c index 7866800bf..97d8af390 100644 --- a/lib.c +++ b/lib.c @@ -318,13 +318,7 @@ int funsigned_char = -1; int preprocess_only; -static enum { STANDARD_C89, - STANDARD_C94, - STANDARD_C99, - STANDARD_C11, - STANDARD_GNU11, - STANDARD_GNU89, - STANDARD_GNU99, } standard = STANDARD_GNU89; +enum standard standard = STANDARD_GNU89; static int arch_msize_long = 0; int arch_m64 = ARCH_M64_DEFAULT; diff --git a/lib.h b/lib.h index 684a4955d..1eb455618 100644 --- a/lib.h +++ b/lib.h @@ -224,6 +224,17 @@ enum { }; extern int arch_cmodel; +enum standard { + STANDARD_C89, + STANDARD_C94, + STANDARD_C99, + STANDARD_C11, + STANDARD_GNU11, + STANDARD_GNU89, + STANDARD_GNU99, +}; +extern enum standard standard; + extern void dump_macro_definitions(void); extern struct symbol_list *sparse_initialize(int argc, char **argv, struct string_list **files); extern struct symbol_list *__sparse(char *filename); From patchwork Thu Nov 28 20:42:21 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: 11266575 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 2542E930 for ; Thu, 28 Nov 2019 20:42:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 03F89208E4 for ; Thu, 28 Nov 2019 20:42:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T4lBZ370" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726565AbfK1Umf (ORCPT ); Thu, 28 Nov 2019 15:42:35 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:37474 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726593AbfK1Umf (ORCPT ); Thu, 28 Nov 2019 15:42:35 -0500 Received: by mail-wm1-f67.google.com with SMTP id f129so12893659wmf.2 for ; Thu, 28 Nov 2019 12:42:34 -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=PvpCRWLaPWjQBEhuIDU/X9mQh8xkhmKHbH0NFCUoHF4=; b=T4lBZ370GtT1ZJW9zt17X/BjeAnvFVWo+xOR2+Ary+Yb4H8xqIbOzTVXXbkWt8gTof KhJB0oFX/crNWkzVW0ljDYc79lMiC33auIqlH6xEMDuDUeh9M/vdQfd1fw9Sw3c4sj64 MUrSjExPIuw9qSZu4dq5P2sddmlqAH79IlcYZdcRZHJKsgLPNXKGMJ5LQ8O2OrOPKAn4 rL+A+t2MQ0Yxp/fhDQJGbyvPsbVni1ldhJ8JOM1RzPVw3ARGTGv/qw+t+rOV471BDJ28 O92+B2qwDww3tH4oQdYsi2I3kSExpdkTh27JOteyZs+K4IdYH75kngPxkuadCZM4XDu8 O4VA== 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=PvpCRWLaPWjQBEhuIDU/X9mQh8xkhmKHbH0NFCUoHF4=; b=hWNb6Y0hD4wL/UH0WXrjPSWwHJAehMGKzOnid19U4DmBKttUQWv3eFzy9oQ5PZszdJ CoWXLi9ScPUnaJ4I3CJM0chTVsYPjttPeApOAxg2EFWGE74OKFXEVXQy3qF3cv4uwbj2 rQ/uLdkyA6PJAUKul+eZ8YsWgJMqn1wCA/YUrObs+wktuqo5DedBrlBiuMGt34A3sT8W BnUHt29zBlhIPnlVYOKgNKophTshakOJ7EO+xBQItR1XyJir3cVnNGenmnxU1GHal1Qp GNkWt/XXSC5z0SfclpYa4bYm21E9OvEVLs8P17d6YluI6dirAlCNAFJQtqnKOs+U65MG lPbg== X-Gm-Message-State: APjAAAW084uhM0EFhhhf2reO7QC6N5Yk4QJSD4LZrNY0tA04WOsjz0vk flUe284XMAs7PsmSxrPBKv7fvNGl X-Google-Smtp-Source: APXvYqwlWEzLk176s05RxfdDKxikZfz4gbgCaB2Esn3BR7i2JIzYRjmCCnrA2Y0Z5U7i4XlgdDyAcg== X-Received: by 2002:a1c:2e91:: with SMTP id u139mr4933071wmu.154.1574973753364; Thu, 28 Nov 2019 12:42:33 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:32 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 3/7] alt definition for STANDARD_GNU89 & friends Date: Thu, 28 Nov 2019 21:42:21 +0100 Message-Id: <20191128204225.7002-4-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 It may be useful to known the base standard and if we're using the gnu extensions but as these are defined it can only be done on a case-by-case basis. Change these defines so that: * the GNU extensions is the least significant bit * the versions can be easily compared with <, >, <= and >= Signed-off-by: Luc Van Oostenryck --- lib.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib.h b/lib.h index 1eb455618..7958359c1 100644 --- a/lib.h +++ b/lib.h @@ -225,13 +225,16 @@ enum { extern int arch_cmodel; enum standard { + STANDARD_NONE, + STANDARD_GNU, STANDARD_C89, + STANDARD_GNU89 = STANDARD_C89 | STANDARD_GNU, STANDARD_C94, + STANDARD_GNU94 = STANDARD_C94 | STANDARD_GNU, STANDARD_C99, + STANDARD_GNU99 = STANDARD_C99 | STANDARD_GNU, STANDARD_C11, - STANDARD_GNU11, - STANDARD_GNU89, - STANDARD_GNU99, + STANDARD_GNU11 = STANDARD_C11 | STANDARD_GNU, }; extern enum standard standard; From patchwork Thu Nov 28 20:42: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: 11266581 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 0C519930 for ; Thu, 28 Nov 2019 20:42:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DEC7E208E4 for ; Thu, 28 Nov 2019 20:42:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sku/McMu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726634AbfK1Umh (ORCPT ); Thu, 28 Nov 2019 15:42:37 -0500 Received: from mail-wm1-f65.google.com ([209.85.128.65]:53888 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726616AbfK1Umh (ORCPT ); Thu, 28 Nov 2019 15:42:37 -0500 Received: by mail-wm1-f65.google.com with SMTP id u18so12143244wmc.3 for ; Thu, 28 Nov 2019 12:42:34 -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=KpO8rX8yPZpR2lbIJ85UX4H/CKaKpIFF7MBRnXMnWjI=; b=sku/McMuFpFPQi3OLoBjynEV4fWXHY7jLS3lxwvSnuR59wAa4FWubM0yqq6AeTnw7s hWRiS4dcBifa0EHOr6mxG5xjFocXz+MJcKvbiEK6kVxxSvbtwJSr55K3TheR45NJAGz1 8gQXapU8c1TYGhCpNdt+DCw70xctx8o/JZ5oELIYq1V285wIfNJ+JS/TCairLj7uoL5X DITLeQLUf4f6m0vw6awGb7u2SO49qvK3UMTQU16PJTnjJWjlL0Pz/oVeCWkoDo+6hlzj t9XdNouyhIg+Hl0O7qo0ZcJ2DtRckfY9cEaQbIjj6uceRfzy8m4VxKju21M38f6A7EZj ehnw== 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=KpO8rX8yPZpR2lbIJ85UX4H/CKaKpIFF7MBRnXMnWjI=; b=Sn3A+283ceYQGnSRmZeb7X1Kt6pPaSJ7OElapBdVQKR/SdtLmBEOAJtaHT0reShVhw ZEw3MKfTacDC9tessw2mZbv/PhcOz6U0eFdB0G5OZDDokeplXl71+Lg1ElvkLzlWA3Cv WYymq3wSyrAvrmJutSmfrk9oofxI84FejiNAEqqx+i3ECc46kDN3G/A5dskS8OjEnqGA EBT4x3boMxzP9PjAihIbMcc4GPgRk1YpdVQnRhv6NnUT/q1yuyUHntHLXutJsLDSwjUK q65/Lf8rscWZFxoHO4RKF3ktNEwVQ3rUJbXqoyynzYDzucU9bTaZyVZQcbRyavC7DCPb 9tDA== X-Gm-Message-State: APjAAAUCov8v+Alg0fgHNlaOiVhf4y/jGboCHgSfjdXrFiMP8iH/rmF4 vBRCwf/onJdxxoMfpf9TfSTI5SF8 X-Google-Smtp-Source: APXvYqzFX/uD1F7GPZjHvoHO+yb7t2I+M7Y0blqvQuewmzmIoX1QE9QCEFdcBFpj2rAn/7qFKGqaeQ== X-Received: by 2002:a7b:cb86:: with SMTP id m6mr11956608wmi.124.1574973754092; Thu, 28 Nov 2019 12:42:34 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:33 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 4/7] reorganize the __STDC_VERSION__/__STRICT_ANSI__ switch statement Date: Thu, 28 Nov 2019 21:42:22 +0100 Message-Id: <20191128204225.7002-5-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 Move some of the cases so that each STANDARD_GNU* is just under the its corresponding STANDRAD_C*. Signed-off-by: Luc Van Oostenryck --- lib.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib.c b/lib.c index 97d8af390..02f6231e2 100644 --- a/lib.c +++ b/lib.c @@ -1405,24 +1405,21 @@ static void predefined_macros(void) predefine("__STDC__", 1, "1"); switch (standard) { + default: + break; + case STANDARD_C89: predefine("__STRICT_ANSI__", 1, "1"); + case STANDARD_GNU89: break; case STANDARD_C94: - predefine("__STDC_VERSION__", 1, "199409L"); predefine("__STRICT_ANSI__", 1, "1"); + predefine("__STDC_VERSION__", 1, "199409L"); break; case STANDARD_C99: - predefine("__STDC_VERSION__", 1, "199901L"); predefine("__STRICT_ANSI__", 1, "1"); - break; - - case STANDARD_GNU89: - default: - break; - case STANDARD_GNU99: predefine("__STDC_VERSION__", 1, "199901L"); break; From patchwork Thu Nov 28 20:42: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: 11266579 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 75F7815AB for ; Thu, 28 Nov 2019 20:42:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 53ECE208E4 for ; Thu, 28 Nov 2019 20:42:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BvMTaGIu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726633AbfK1Umh (ORCPT ); Thu, 28 Nov 2019 15:42:37 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:42180 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726593AbfK1Umg (ORCPT ); Thu, 28 Nov 2019 15:42:36 -0500 Received: by mail-wr1-f66.google.com with SMTP id a15so32578000wrf.9 for ; Thu, 28 Nov 2019 12:42:35 -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=emsvhtNpLNm0jVmXH7eL5+Wsv9wsZR55Ks5MfmsU/QU=; b=BvMTaGIufc+mwjlzgeFYyYTIRoiszXbdnY+Y9RUVbSVIBCrS4CdcRb7e6a4Shi/cA3 cbfdu7ZbxejNpFj+WSsHltrhdVZ7rTjn3NnXGzoFqRDpczLXuRY+4h75r8m/2QITfQ7w tb7272AeDCGDc4zxYRakULfQzbhnWxgacKGnnEZH6m5+K1Dy7Xpa44J/JZpZabWSqcat cpoeOtQU9ppe2z7ww0Usmbdep/Iz7OklijEVl7Fvqo0owchur/RPfyo4+ybkwx1HzGfh kAfke5DxciHv/ArdxvgPjHhsHtJYZv/uL9QACFOj+547ctI1KeLbyEAsqakgO18a2sty DOXQ== 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=emsvhtNpLNm0jVmXH7eL5+Wsv9wsZR55Ks5MfmsU/QU=; b=Oaqbfuwud8qG9PBYaPlqnYAh1MuTgcI5XZ1zIlptGDCVZD3VPdTFq/jv7+OM++4fuy mVme+tLoR0SAj0+SOY9033NKLPw1vvCJf3hWY0orZdLl7cvOxeLAf3BoAiCjWKRo4IHu nG/QlXH8X6D5PmbJk43FWLkWFi64e69DHfVWE5OU2FP6668DKsj0hs21OAt7RhkkedBm sOhX7FkdI/1QKrySUCk8JRoqiqcExqhSlghsoL8ZkhWQL/AJdJYqKP5Hoy1oexmguEXY olgQ/USWKxRVn6O2EFz5g5C0ZSTu83TKEV4gDzqPPM4bB2y3zvBFOyhYIowv5YluvZig Q3dA== X-Gm-Message-State: APjAAAWtRw3W+wd6BEi2Dg0AH5M49COOWmJYFyjKn2j2KN5HJrtkVpoK EVDF8jjRbzqICw5Gyi3P0iehpMxb X-Google-Smtp-Source: APXvYqwAmBP3K+SQcpH936djv/kbywUV2RndmwocEPKKq+DTLzOUMiYY+bEEYG4yyftbGfNW2akfOg== X-Received: by 2002:a05:6000:1602:: with SMTP id u2mr53205440wrb.249.1574973754966; Thu, 28 Nov 2019 12:42:34 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:34 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 5/7] simplify definition of __STRICT_ANSI__ Date: Thu, 28 Nov 2019 21:42:23 +0100 Message-Id: <20191128204225.7002-6-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 Currently, the definition of __STRICT_ANSI__ is done in the same switch statement used for __STDC_VERSION__. However, this lead to some repetions that can be avoided if moved outside of the switch. Move the definition of __STRICT_ANSI__ out of the switch statement and guard it by testing the absence of STANDARD_GNU. Signed-off-by: Luc Van Oostenryck --- lib.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib.c b/lib.c index 02f6231e2..d232b8cee 100644 --- a/lib.c +++ b/lib.c @@ -1408,24 +1408,16 @@ static void predefined_macros(void) default: break; - case STANDARD_C89: - predefine("__STRICT_ANSI__", 1, "1"); - case STANDARD_GNU89: - break; - case STANDARD_C94: - predefine("__STRICT_ANSI__", 1, "1"); predefine("__STDC_VERSION__", 1, "199409L"); break; case STANDARD_C99: - predefine("__STRICT_ANSI__", 1, "1"); case STANDARD_GNU99: predefine("__STDC_VERSION__", 1, "199901L"); break; case STANDARD_C11: - predefine("__STRICT_ANSI__", 1, "1"); case STANDARD_GNU11: predefine("__STDC_NO_ATOMICS__", 1, "1"); predefine("__STDC_NO_COMPLEX__", 1, "1"); @@ -1433,6 +1425,8 @@ static void predefined_macros(void) predefine("__STDC_VERSION__", 1, "201112L"); break; } + if (!(standard & STANDARD_GNU) & (standard != STANDARD_NONE)) + predefine("__STRICT_ANSI__", 1, "1"); predefine("__CHAR_BIT__", 1, "%d", bits_in_char); if (funsigned_char) From patchwork Thu Nov 28 20:42: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: 11266583 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 C3444930 for ; Thu, 28 Nov 2019 20:42:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A1FED21781 for ; Thu, 28 Nov 2019 20:42:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D/yP734b" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726616AbfK1Umi (ORCPT ); Thu, 28 Nov 2019 15:42:38 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:56272 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726401AbfK1Umi (ORCPT ); Thu, 28 Nov 2019 15:42:38 -0500 Received: by mail-wm1-f67.google.com with SMTP id a131so7814671wme.5 for ; Thu, 28 Nov 2019 12:42:36 -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=LQ8Fu3iWJi2Ax/jy7XJrpTKOVFjjhw9C+WozsZhT3AY=; b=D/yP734bTZmaWoDIF5I3zJ69KsBaBbRRiJIX1Vaj+RMFU0S/1SqnjXu61UAk+klfMk J/GPE/XsEvcBz+JLAXvwBbdALk9TgehYTtex1EFzXBtxTzLyYb0Afpic7t+Kth94Rxh6 uHXIEGyiDUxZPXk3LXCuPEifQlw7h1mb5/vhu0EH1NSBwpngvqQPmjDsgkVNfkbVqOAu MU7DLVqclBzkKkB9XFlEpUWxtr0gFEkhNj8L0Gy7LJM7fHgk9z2/jWdyFp44QLJ+Nnap 6ekieRUufgs0h75HO9vmMYnz3kYeeQeMYDdW8B0HoREyYNlRtMxTA0D2J2S4kZfPVqYy /zNA== 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=LQ8Fu3iWJi2Ax/jy7XJrpTKOVFjjhw9C+WozsZhT3AY=; b=RDF7AhEZ+8j5DCK5ePCovTdMllG6HpjjLCywgEi92L9VgDBiLjnHC+L8B5QUb7GyoL E0dB1e57Bi/xy6WAyTzyL6yiOZS26c76d3QWhxtSaxNq0d8hQs5kEvchBpI0tSY35XDW pVbrjHqwYS7s/yuzTmTG4MtDb8fWTe92ekwRA2YHv14AwmVp7goipNaAxmCKACNisxZD JPwTSZH9U7TzJFCyQGQRuv5GLgPunUH6l/K6N8qenSWNF/OCHE+9giB2QEhagggxi6WJ TnyAfJkTuhFLwPh2BbYPah0RkXPZSSA/WcjCcaUwM6Q8lo3l1wdO0MlXBnozNCsfjw4B vvWA== X-Gm-Message-State: APjAAAXqKL23g4evn5RfvAiXnty31zitOfWWrxomyadO+2kXQ5IGk8/u FZjUdVFdi+wt53AEkN9DfeC7lhR2 X-Google-Smtp-Source: APXvYqwjMpxZcNLmo+1mUdRxo0ayN1SEcYT1Ju7Z6NDpbemdBaKPqH+YvRdGKXyNteq+qztXZq+ImA== X-Received: by 2002:a1c:984f:: with SMTP id a76mr11836032wme.64.1574973755965; Thu, 28 Nov 2019 12:42:35 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:35 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 6/7] separate definition of __STDC_NO_ATOMICS__ and friends from C11 Date: Thu, 28 Nov 2019 21:42:24 +0100 Message-Id: <20191128204225.7002-7-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 The definition of __STDC_NO_ATOMICS__ and friends will also be needed for C17. Move these definitions outside of the switch statement. Signed-off-by: Luc Van Oostenryck --- lib.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib.c b/lib.c index d232b8cee..7f7ca846b 100644 --- a/lib.c +++ b/lib.c @@ -1419,14 +1419,16 @@ static void predefined_macros(void) case STANDARD_C11: case STANDARD_GNU11: - predefine("__STDC_NO_ATOMICS__", 1, "1"); - predefine("__STDC_NO_COMPLEX__", 1, "1"); - predefine("__STDC_NO_THREADS__", 1, "1"); predefine("__STDC_VERSION__", 1, "201112L"); break; } if (!(standard & STANDARD_GNU) & (standard != STANDARD_NONE)) predefine("__STRICT_ANSI__", 1, "1"); + if (standard >= STANDARD_C11) { + predefine("__STDC_NO_ATOMICS__", 1, "1"); + predefine("__STDC_NO_COMPLEX__", 1, "1"); + predefine("__STDC_NO_THREADS__", 1, "1"); + } predefine("__CHAR_BIT__", 1, "%d", bits_in_char); if (funsigned_char) From patchwork Thu Nov 28 20:42: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: 11266585 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 79491109A for ; Thu, 28 Nov 2019 20:42:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 560B5208E4 for ; Thu, 28 Nov 2019 20:42:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pdtS4wZ2" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726401AbfK1Umj (ORCPT ); Thu, 28 Nov 2019 15:42:39 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:38717 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726593AbfK1Umi (ORCPT ); Thu, 28 Nov 2019 15:42:38 -0500 Received: by mail-wr1-f67.google.com with SMTP id i12so32659212wro.5 for ; Thu, 28 Nov 2019 12:42:37 -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=4c6xagDJW9uwJk+80ATx18zIPs7jBRNc9llsfKmunso=; b=pdtS4wZ27Te7zK/74UX8i4zr45k45ThyxuiTqe++wFG6tuZGKgMSw/0qr2STrvkScx lIrcfajv854qvnXD9WJRjYRtIKcZ3Fkm2e7HlauycFOTXmtNiFo06z/2poiA2L6c1sqG Beeu57m7XiXm24gMimtIafbG5UX0zVatVvB6JKOuhYvliT9//G22eQI4UkZCqWkv6FvG g4gpU6YHpyyKTwkMVzMWIGaaZ5iok4mVD65DxOO8Bj04ayF/QID0Lrw7zualUT48dRFv yoJz5E15w0kh5NnxT5+XMcHDkZJLZd+tuTjnpLuQDO0bWDJ8Ls3IxZrVFj/jGwlANSA9 DyQA== 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=4c6xagDJW9uwJk+80ATx18zIPs7jBRNc9llsfKmunso=; b=Hn43TFHBrh9oRLxGfoKAGeXzuApFVPdqnRSAflzIOow+1l3lPhh199leqOh/g++CP0 o9DBaWxZxxPbXgFb7CPph2WFn34Nkbn29ObtXVKo3Qy4Ag62JHZrpsMG65XlZFmuA/Wh pCF7Bni7ahMBTvoDvznCrCPJEqsG3/poc+MzcKP+WbQ0i6orVZi36aMVprwzLANiWjEO EI3aMvJaeioM8SVD20RqTCiErbvRFlcg6ICJvp4RK8dQne7n21EZegVQcDnGmSJxofBu NJI+TGglemWqbBxnodZecdW00iYbY+ozjxkXWJq/bNv/7aHfs4mKco6kECHHgl2/EA74 S0LA== X-Gm-Message-State: APjAAAVgSz7wRFlFughHhMYiDm0zTmWKadtc04cBwjhbICpl45MMwi4e HBND4qAcWNMhWM8Zl90+5r6//GZ+ X-Google-Smtp-Source: APXvYqwK+JwlzFV7xqbYmhnNTnTZh+g1ZQEnHSKc10a0KkfMyGH9B6KHawOQSKjVbD95nO5Hv9wWtA== X-Received: by 2002:adf:dc06:: with SMTP id t6mr51629203wri.378.1574973756763; Thu, 28 Nov 2019 12:42:36 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:404e:f500:d55b:3f3b:6182:682d]) by smtp.gmail.com with ESMTPSA id k16sm12290150wru.0.2019.11.28.12.42.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Nov 2019 12:42:36 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Luc Van Oostenryck Subject: [PATCH 7/7] teach sparse about C17 Date: Thu, 28 Nov 2019 21:42:25 +0100 Message-Id: <20191128204225.7002-8-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191128204225.7002-1-luc.vanoostenryck@gmail.com> References: <20191128204225.7002-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 real support is done here (or is needed) but the __STDC_VERSION__ will return the correct value. Signed-off-by: Luc Van Oostenryck --- lib.c | 13 +++++++++++++ lib.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/lib.c b/lib.c index 7f7ca846b..8fddae450 100644 --- a/lib.c +++ b/lib.c @@ -1079,6 +1079,15 @@ static char **handle_switch_s(const char *arg, char **next) else if (!strcmp(arg, "gnu11")) standard = STANDARD_GNU11; + else if (!strcmp(arg, "c17") || + !strcmp(arg, "c18") || + !strcmp(arg, "iso9899:2017") || + !strcmp(arg, "iso9899:2018")) + standard = STANDARD_C17; + else if (!strcmp(arg, "gnu17") || + !strcmp(arg, "gnu18")) + standard = STANDARD_GNU17; + else die ("Unsupported C dialect"); } @@ -1421,6 +1430,10 @@ static void predefined_macros(void) case STANDARD_GNU11: predefine("__STDC_VERSION__", 1, "201112L"); break; + case STANDARD_C17: + case STANDARD_GNU17: + predefine("__STDC_VERSION__", 1, "201710L"); + break; } if (!(standard & STANDARD_GNU) & (standard != STANDARD_NONE)) predefine("__STRICT_ANSI__", 1, "1"); diff --git a/lib.h b/lib.h index 7958359c1..3e565c6fd 100644 --- a/lib.h +++ b/lib.h @@ -235,6 +235,8 @@ enum standard { STANDARD_GNU99 = STANDARD_C99 | STANDARD_GNU, STANDARD_C11, STANDARD_GNU11 = STANDARD_C11 | STANDARD_GNU, + STANDARD_C17, + STANDARD_GNU17 = STANDARD_C17 | STANDARD_GNU, }; extern enum standard standard;