From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44ED16A01D for ; Tue, 23 Jan 2024 16:46:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706028374; cv=none; b=UScAboE+zsi07MG8tXUJgYmSpZutCm4hZshQzd3GkZRZ+Y06aKW5L3t3WvM2yNdj+3oBG6Ylfytq8fc3HpfuOrJ/POTG9dyRTcddZtkBgmXqZIMOxmBBxIjkm1rR4hLCGx1q835WyRpmku4Np1jl/kOgA6s43cwOsmODhvOtLT8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706028374; c=relaxed/simple; bh=+m3lnXXEj7hvaAlK6GNQdLFu7LSxATOTBxdap3Oe9A0=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=oVieKwEfdXmYhKXrGyOUhXGTDsO38jYh7W8+xToC+dncCDCnj/Leqee/nxk/qTzcJW6IpkAvUlIA3rLsLdWcUSMsIcUSo1Eu81aD08qcMyQZ92TmhgMFKrbdGVY/f55LjNA6XUJp98FCgROA6l4LzB2vMHuZ9NxGqLR09LalRMA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cvw/gBAr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cvw/gBAr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA57EC433C7; Tue, 23 Jan 2024 16:46:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706028373; bh=+m3lnXXEj7hvaAlK6GNQdLFu7LSxATOTBxdap3Oe9A0=; h=Date:From:To:Cc:Subject:Reply-To:From; b=cvw/gBArykmjJE70VxJpmwaAN8OvpxyuGNn+b9YFuc1IuPV3dexOwTOZy611f3ipj 6ji0FhZgkb54MeiMqnofnlfD9v5vs3cvu1HcP/zJQh4XqjJ1FOakCHJnCPmeLRRbSM 6zJv75DkJUeB+/XVT5DWogKhxYlaRUInSF9eg2Cw3zU4zKwgQmc4rK4c9bJ6Gs14jA acCdYgET6BmVE1jOXdjqc/g5V4MOa60VcVuN7YEANak6OeZ1XPVecMrXdaJGbgniIm FCbu94pECNPtamoyiokMSfk4dmjIwjedZRxfbiSWiE0BWiPxxAUTM+YrbbEccfOzF7 KknsjOXOrzBSg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3DEB4CE0964; Tue, 23 Jan 2024 08:46:13 -0800 (PST) Date: Tue, 23 Jan 2024 08:46:13 -0800 From: "Paul E. McKenney" To: linux-toolchains@vger.kernel.org Cc: peterz@infradead.org, hpa@zytor.com, rostedt@goodmis.org, gregkh@linuxfoundation.org, keescook@chromium.org, torvalds@linux-foundation.org Subject: A few proposals from the C standards committee Message-ID: <9162660e-2d6b-47a3-bfa2-77bfc55c817b@paulmck-laptop> Reply-To: paulmck@kernel.org Precedence: bulk X-Mailing-List: linux-toolchains@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello! On the perhaps unlikely off-chance that any of this is of interest. Thanx, Paul ------------------------------------------------------------------------ List of proposals with clickable links: https://www.open-std.org/jtc1/sc22/wg14/www/wg14_document_log N3089 _Optional: a type qualifier to indicate pointer nullability Proposes _Optional to tag pointer parameters such that dereferencing the pointer without first checking for NULL gets a compiler warning. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3089.pdf N3190 Extensions to the preprocessor for C2Y Proposes a number of macros, including things that return a count of their arguments. https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3090.htm N3194 Case range expressions No fewer than 421 files in the Linux kernel use the "..." syntax, as in "case 1 ... 3", but there are other syntaxes... So they are proposing "::" instead. My guess is that "..." won't be going away anytime soon. N3195 Named loops Placing a goto label before a loop allows a break/continue to target that loop in case of nesting. n3203 Strict order of expression evaluation I do like it. The 1980s were over a long time ago. N3199 Improved __attribute__((cleanup)) Through defer N3198 Conditionally Supported Unwinding The Linux kernel is starting to use __attribute__((cleanup)) via guard(), with 40 files making use of this. It is not clear to me whether or not either of these proposals would be useful to the Linux kernel. N3201 Operator Overloading Without Name Mangling v2 I have seen Linux-kernel interest in *function* overloading, but not in operator overloading. Nevertheless... The trick here is to associate a given operator with a function, so that the name-mangling becomes essentially a manual operation.