From patchwork Thu Jul 18 18:37:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Lance Taylor X-Patchwork-Id: 1962201 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=golang-org.20230601.gappssmtp.com header.i=@golang-org.20230601.gappssmtp.com header.a=rsa-sha256 header.s=20230601 header.b=mXiOSSSW; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WQ1lD3xyBz1yY1 for ; Fri, 19 Jul 2024 04:38:00 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B69FA385B508 for ; Thu, 18 Jul 2024 18:37:58 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com [IPv6:2607:f8b0:4864:20::1129]) by sourceware.org (Postfix) with ESMTPS id EFCF73858CDA for ; Thu, 18 Jul 2024 18:37:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EFCF73858CDA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=golang.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=golang.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EFCF73858CDA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1129 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721327861; cv=none; b=hTVs8f6Jcvafl+x4ESafhIEJ9xNbufVWMvz7QJrADwDGXfjF8NnszCuTDHtvPLFhBfyOQ/mvi/EoCmLK2T7Tg0tCzZ/Yl86Dn2Tpijh7oSVZ9cMAIGWxT63ry8goAbHhkD3yMClVTmYCyxmRfbzMp7EHHXqLuoDJMLb9e38vHEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1721327861; c=relaxed/simple; bh=cOiKQN43xCBaJO8O80hsTS4EknVq78jQQ6pSwl+TRY4=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=kXnwhryFPoCLhK2dV22ZkGKe9xDpI2LXUJDlAlVXx+PmbohqVPSVlQqZ8WLp6FdWNqfKbXVOrJ1aJLnJ8uX7DY04VEZujey/pEbskfhr18lcAcnWdfLamQw7F5cqH45MIMiDZzqW3H9lirCMw7BQDwMs66SWqPt2hUDrwGcJRt4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-655fa53c64cso13099337b3.3 for ; Thu, 18 Jul 2024 11:37:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golang-org.20230601.gappssmtp.com; s=20230601; t=1721327859; x=1721932659; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=LVtgqUl5k+l0kNCXQVdU3uY25bC48kp5cnCrDimawMc=; b=mXiOSSSWDEFrVykC00iitAIpdkQl6cjSZigy9dZmAwPwuR7sbdaMP8wrzbFDlsTzGG RTLClwLJrtEpucqQ2jYiTUd6IujIpWmdPYDe2lb6IzTV+qKcQVfSrgEnX+t9uW2k9xvp eK6yIrRN7tjyy/6hQRCoilLPsN9E+t1lqaHzi3rG0p+OagQ5IfdXEVLlRM/20GZSFkI0 WgW9Jr360T6Fa4zuhBfhh0sd0QhFwNyblEQMZHvxh3BFsO4i84rF44/T0qYO2/K9hnNm 3nZVFdZ0xNQN/CATwZ7tnpvrRo1vZaO4w+f/PBAoIH4zgjcVwllDMnzi2qh+8J1G+UUR /t6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721327859; x=1721932659; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=LVtgqUl5k+l0kNCXQVdU3uY25bC48kp5cnCrDimawMc=; b=ISThJj4+cYAACLOr405EvXuytcNgUf8BRX6snjD3wlCAkjCxwj8p4BtTWLW096XIhe li3Pu7sKt9PmX5jf6JBgwGLdMrbZk4D1Oiqg95qqFjL49Xq0MmThxRAAhcIpNCLziUoy s8hsvMGzrY8h4ikocBWLpyvdvqDejdkox0sEIjzzIzt4vsZ1kCG5RDETSFqulDhWBWfO ZBKJIDQCPIKbNTTSuWAeP+4PEovX0r3xNiXXWWGyzSF6qNz56hBFrKrckcz7cYn/LWvc xbEsYca8D1+Ec6/bVlCBUwvk0xWesIv7fHXKirCG+bTs9mGABr5LGQWHZfMfjm3eZ/E4 DU6Q== X-Gm-Message-State: AOJu0Yw4OkqfnwnlAUQq4ez1LA3rCHZBWgmLsjBMFKiUVeeMfn/jxFyR 7VrhysT9V0YlV0Rli4pbqIFKoMTG/5EOTkFReZ86n+JWMqRVBp5w+igLFZzf4UZnVU8TCagc2Mj MFFjOh572QgiFs6sZSCC+ECwplmHbU7DfQez9UavdxgUMOPCuSzI= X-Google-Smtp-Source: AGHT+IHQVKffgn1UMHh9T5+Pbp3Xf1yDF3yN+5l4YM1D/L9IcM3jCZctgcOTn4gXDOwNehcN8hE8Ynkm49Uy1IJk4MI= X-Received: by 2002:a05:690c:4502:b0:64b:9a00:240e with SMTP id 00721157ae682-666038006e4mr44275417b3.31.1721327858908; Thu, 18 Jul 2024 11:37:38 -0700 (PDT) MIME-Version: 1.0 From: Ian Lance Taylor Date: Thu, 18 Jul 2024 11:37:26 -0700 Message-ID: Subject: libbacktrace patch committed: Use __has_attribute for fallthrough To: gcc-patches X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org This libbacktrace patch uses __has_attribute for fallthrough. It also fixes some FALLTHROUGH comments to use ATTRIBUTE_FALLTHROUGH. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian * internal.h: Use __has_attribute to check for fallthrough attribute. * elf.c (elf_zstd_decompress): Use ATTRIBUTE_FALLTHROUGH rather than a FALLTHROUGH comment. 58b219d3cf69a0464d3c74d43e4cc24117e64647 diff --git a/libbacktrace/elf.c b/libbacktrace/elf.c index e8d67feab6d..0040479143d 100644 --- a/libbacktrace/elf.c +++ b/libbacktrace/elf.c @@ -4848,25 +4848,25 @@ elf_zstd_decompress (const unsigned char *pin, size_t sin, { case 8: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 7: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 6: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 5: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 4: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 3: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 2: *pout++ = *plit++; - /* FALLTHROUGH */ + ATTRIBUTE_FALLTHROUGH; case 1: *pout++ = *plit++; break; diff --git a/libbacktrace/internal.h b/libbacktrace/internal.h index a119cda692f..fe2abe50b0f 100644 --- a/libbacktrace/internal.h +++ b/libbacktrace/internal.h @@ -56,6 +56,11 @@ POSSIBILITY OF SUCH DAMAGE. */ # endif #endif +#ifdef __has_attribute +# if __has_attribute(fallthrough) +# define ATTRIBUTE_FALLTHROUGH __attribute__ ((fallthrough)) +# endif +#endif #ifndef ATTRIBUTE_FALLTHROUGH # if (GCC_VERSION >= 7000) # define ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))