get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/136846/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 136846,
    "url": "http://patches.dpdk.org/api/patches/136846/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20240216102454.4156609-4-david.marchand@redhat.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20240216102454.4156609-4-david.marchand@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240216102454.4156609-4-david.marchand@redhat.com",
    "date": "2024-02-16T10:24:54",
    "name": "[v2,3/3] add extension keyword to GCC statement expressions",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "528d180e1525fa06ad0f7a48edc6c4987db5e68f",
    "submitter": {
        "id": 1173,
        "url": "http://patches.dpdk.org/api/people/1173/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@redhat.com"
    },
    "delegate": {
        "id": 24651,
        "url": "http://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20240216102454.4156609-4-david.marchand@redhat.com/mbox/",
    "series": [
        {
            "id": 31127,
            "url": "http://patches.dpdk.org/api/series/31127/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=31127",
            "date": "2024-02-16T10:24:51",
            "name": "add __extension__ keyword to statement expressions",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/31127/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/136846/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/136846/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id C6A5943B30;\n\tFri, 16 Feb 2024 11:25:25 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A06DF43260;\n\tFri, 16 Feb 2024 11:25:25 +0100 (CET)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n by mails.dpdk.org (Postfix) with ESMTP id 42DF142FCD\n for <dev@dpdk.org>; Fri, 16 Feb 2024 11:25:24 +0100 (CET)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-463-EbVaMy5LOGye0lx53ySMvQ-1; Fri, 16 Feb 2024 05:25:17 -0500",
            "from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com\n [10.11.54.3])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 821E3185A785;\n Fri, 16 Feb 2024 10:25:16 +0000 (UTC)",
            "from dmarchan.redhat.com (unknown [10.45.225.53])\n by smtp.corp.redhat.com (Postfix) with ESMTP id 1A4BD112132A;\n Fri, 16 Feb 2024 10:25:09 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1708079123;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=Plh5Yalhnx69fXj2f8B/HRwRSc4+n1mjvuIo0q1QJ7A=;\n b=eBneLv4LsJCDOx9hH22WEJOqnHVxqA0DW9PtcwSXA3Vvmbg+5eXNuP5Gqx+yYChyYyAQ+R\n tUuD7Tj9b9Ew7mbdmFMTKbLvLqUo1Sr28dnzuYPipnQMAC+E8H5ULwkzpi3CtHLiSoxBH9\n BDJMxql1a/ONwuFLgtx/yEW9WvYRRMs=",
        "X-MC-Unique": "EbVaMy5LOGye0lx53ySMvQ-1",
        "From": "David Marchand <david.marchand@redhat.com>",
        "To": "dev@dpdk.org",
        "Cc": "Tyler Retzlaff <roretzla@linux.microsoft.com>,\n Ruifeng Wang <ruifeng.wang@arm.com>,\n Hemant Agrawal <hemant.agrawal@nxp.com>,\n Sachin Saxena <sachin.saxena@nxp.com>,\n Nithin Dabilpuram <ndabilpuram@marvell.com>,\n Kiran Kumar K <kirankumark@marvell.com>,\n Sunil Kumar Kori <skori@marvell.com>, Satha Rao <skoteshwar@marvell.com>,\n Kai Ji <kai.ji@intel.com>, Gagandeep Singh <g.singh@nxp.com>,\n Chengwen Feng <fengchengwen@huawei.com>, Jerin Jacob <jerinj@marvell.com>,\n Harman Kalra <hkalra@marvell.com>,\n Srikanth Yalavarthi <syalavarthi@marvell.com>,\n Shai Brandes <shaibran@amazon.com>, Evgeny Schemeilin <evgenys@amazon.com>,\n Ron Beider <rbeider@amazon.com>, Amit Bernstein <amitbern@amazon.com>,\n Wajeeh Atrash <atrwajee@amazon.com>, Apeksha Gupta <apeksha.gupta@nxp.com>,\n Maciej Czekaj <mczekaj@marvell.com>, Jiawen Wu <jiawenwu@trustnetic.com>,\n Jian Wang <jianwang@trustnetic.com>, Rosen Xu <rosen.xu@intel.com>,\n Cristian Dumitrescu <cristian.dumitrescu@intel.com>,\n Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@amd.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "Subject": "[PATCH v2 3/3] add extension keyword to GCC statement expressions",
        "Date": "Fri, 16 Feb 2024 11:24:54 +0100",
        "Message-ID": "<20240216102454.4156609-4-david.marchand@redhat.com>",
        "In-Reply-To": "<20240216102454.4156609-1-david.marchand@redhat.com>",
        "References": "<1700089378-26197-1-git-send-email-roretzla@linux.microsoft.com>\n <20240216102454.4156609-1-david.marchand@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.4.1 on 10.11.54.3",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "From: Tyler Retzlaff <roretzla@linux.microsoft.com>\n\nAdd __extension__ keyword to gcc statement expression extensions.\n\nSigned-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>\nReviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n---\n drivers/bus/fslmc/mc/fsl_mc_sys.h             |  6 ++--\n drivers/common/cnxk/roc_io.h                  |  6 ++--\n drivers/common/cnxk/roc_platform.h            |  2 +-\n drivers/common/dpaax/dpaa_list.h              |  2 +-\n drivers/common/qat/qat_adf/icp_qat_hw.h       |  2 +-\n drivers/crypto/armv8/rte_armv8_pmd.c          |  4 +--\n drivers/crypto/caam_jr/caam_jr_desc.h         |  2 +-\n drivers/dma/hisilicon/hisi_dmadev.c           |  2 +-\n drivers/event/octeontx/ssovf_evdev.h          |  4 +--\n drivers/mempool/octeontx/octeontx_fpavf.h     |  4 +--\n drivers/ml/cnxk/cn10k_ml_dev.h                |  4 +--\n drivers/net/ena/base/ena_plat_dpdk.h          | 14 ++++-----\n drivers/net/ena/ena_ethdev.c                  | 30 +++++++++----------\n drivers/net/enetfec/enet_ethdev.h             |  2 +-\n drivers/net/fm10k/base/fm10k_osdep.h          |  2 +-\n drivers/net/octeontx/base/octeontx_io.h       |  6 ++--\n drivers/net/pfe/base/cbus.h                   |  2 +-\n drivers/net/pfe/base/pfe.h                    | 12 ++++----\n drivers/net/tap/bpf/bpf_api.h                 |  2 +-\n drivers/net/thunderx/base/nicvf_plat.h        |  4 +--\n drivers/net/txgbe/base/txgbe_osdep.h          |  2 +-\n drivers/raw/ifpga/afu_pmd_core.h              |  2 +-\n drivers/raw/ifpga/base/ifpga_compat.h         |  2 +-\n drivers/raw/ifpga/base/opae_osdep.h           |  4 +--\n drivers/raw/ifpga/base/opae_spi_transaction.c |  2 +-\n examples/qos_meter/main.h                     |  2 +-\n lib/ethdev/rte_mtr.c                          | 10 +++----\n lib/ethdev/rte_tm.c                           |  6 ++--\n lib/pipeline/rte_pipeline.c                   |  8 ++---\n lib/pipeline/rte_swx_pipeline_internal.h      |  2 +-\n lib/port/rte_port_source_sink.c               |  4 +--\n 31 files changed, 78 insertions(+), 78 deletions(-)",
    "diff": "diff --git a/drivers/bus/fslmc/mc/fsl_mc_sys.h b/drivers/bus/fslmc/mc/fsl_mc_sys.h\nindex a310c5697e..c91f14ade8 100644\n--- a/drivers/bus/fslmc/mc/fsl_mc_sys.h\n+++ b/drivers/bus/fslmc/mc/fsl_mc_sys.h\n@@ -40,11 +40,11 @@ struct fsl_mc_io {\n #define __arch_putq(v, a)\t(*(volatile uint64_t *)(a) = (v))\n #define __arch_putq32(v, a)\t(*(volatile uint32_t *)(a) = (v))\n #define readq(c) \\\n-\t({ uint64_t __v = __arch_getq(c); __iormb(); __v; })\n+\t__extension__ ({ uint64_t __v = __arch_getq(c); __iormb(); __v; })\n #define writeq(v, c) \\\n-\t({ uint64_t __v = v; __iowmb(); __arch_putq(__v, c); __v; })\n+\t__extension__ ({ uint64_t __v = v; __iowmb(); __arch_putq(__v, c); __v; })\n #define writeq32(v, c) \\\n-\t({ uint32_t __v = v; __iowmb(); __arch_putq32(__v, c); __v; })\n+\t__extension__ ({ uint32_t __v = v; __iowmb(); __arch_putq32(__v, c); __v; })\n #define ioread64(_p)\t\treadq(_p)\n #define iowrite64(_v, _p)\twriteq(_v, _p)\n #define iowrite32(_v, _p)\twriteq32(_v, _p)\ndiff --git a/drivers/common/cnxk/roc_io.h b/drivers/common/cnxk/roc_io.h\nindex af1a10cd66..131578e625 100644\n--- a/drivers/common/cnxk/roc_io.h\n+++ b/drivers/common/cnxk/roc_io.h\n@@ -30,21 +30,21 @@\n #endif\n \n #define roc_load_pair(val0, val1, addr)                                        \\\n-\t({                                                                     \\\n+\t__extension__ ({                                                                     \\\n \t\tasm volatile(\"ldp %x[x0], %x[x1], [%x[p1]]\"                    \\\n \t\t\t     : [x0] \"=r\"(val0), [x1] \"=r\"(val1)                \\\n \t\t\t     : [p1] \"r\"(addr));                                \\\n \t})\n \n #define roc_store_pair(val0, val1, addr)                                       \\\n-\t({                                                                     \\\n+\t__extension__ ({                                                                     \\\n \t\tasm volatile(                                                  \\\n \t\t\t\"stp %x[x0], %x[x1], [%x[p1], #0]!\" ::[x0] \"r\"(val0),  \\\n \t\t\t[x1] \"r\"(val1), [p1] \"r\"(addr));                       \\\n \t})\n \n #define roc_prefetch_store_keep(ptr)                                           \\\n-\t({ asm volatile(\"prfm pstl1keep, [%x0]\\n\" : : \"r\"(ptr)); })\n+\t__extension__ ({ asm volatile(\"prfm pstl1keep, [%x0]\\n\" : : \"r\"(ptr)); })\n \n #if defined(__clang__)\n static __plt_always_inline void\ndiff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h\nindex 9d2ea8f009..b7fe132093 100644\n--- a/drivers/common/cnxk/roc_platform.h\n+++ b/drivers/common/cnxk/roc_platform.h\n@@ -82,7 +82,7 @@\n \n /** Divide ceil */\n #define PLT_DIV_CEIL(x, y)\t\t\t\\\n-\t({\t\t\t\t\t\\\n+\t__extension__ ({\t\t\t\\\n \t\t__typeof(x) __x = x;\t\t\\\n \t\t__typeof(y) __y = y;\t\t\\\n \t\t(__x + __y - 1) / __y;\t\t\\\ndiff --git a/drivers/common/dpaax/dpaa_list.h b/drivers/common/dpaax/dpaa_list.h\nindex 319a3562ab..2bf013a186 100644\n--- a/drivers/common/dpaax/dpaa_list.h\n+++ b/drivers/common/dpaax/dpaa_list.h\n@@ -31,7 +31,7 @@ do { \\\n #define list_entry(node, type, member) \\\n \t(type *)((void *)node - offsetof(type, member))\n #define list_empty(p) \\\n-({ \\\n+__extension__ ({ \\\n \tconst struct list_head *__p298 = (p); \\\n \t((__p298->next == __p298) && (__p298->prev == __p298)); \\\n })\ndiff --git a/drivers/common/qat/qat_adf/icp_qat_hw.h b/drivers/common/qat/qat_adf/icp_qat_hw.h\nindex 8b864e1630..33756d512d 100644\n--- a/drivers/common/qat/qat_adf/icp_qat_hw.h\n+++ b/drivers/common/qat/qat_adf/icp_qat_hw.h\n@@ -292,7 +292,7 @@ enum icp_qat_hw_cipher_convert {\n #define QAT_CIPHER_AEAD_AAD_SIZE_BITPOS 16\n #define QAT_CIPHER_AEAD_AAD_SIZE_LE_BITPOS 0\n #define ICP_QAT_HW_CIPHER_CONFIG_BUILD_UPPER(aad_size) \\\n-\t({ \\\n+\t__extension__ ({ \\\n \ttypeof(aad_size) aad_size1 = aad_size; \\\n \t(((((aad_size1) >> QAT_CIPHER_AEAD_AAD_UPPER_SHIFT) & \\\n \tQAT_CIPHER_AEAD_AAD_SIZE_UPPER_MASK) << \\\ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c\nindex 524c959ee0..320e2d4b3b 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd.c\n+++ b/drivers/crypto/armv8/rte_armv8_pmd.c\n@@ -139,7 +139,7 @@ crypto_chain_order[] = {\n  * Extract particular combined mode crypto function from the 3D array.\n  */\n #define CRYPTO_GET_ALGO(order, cop, calg, aalg, keyl)\t\t\t\\\n-({\t\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\t\\\n \tcrypto_func_tbl_t *func_tbl =\t\t\t\t\t\\\n \t\t\t\t(crypto_chain_order[(order)])[(cop)];\t\\\n \t\t\t\t\t\t\t\t\t\\\n@@ -186,7 +186,7 @@ crypto_key_sched_dir[] = {\n  * Extract particular combined mode crypto function from the 3D array.\n  */\n #define CRYPTO_GET_KEY_SCHED(cop, calg, keyl)\t\t\t\t\\\n-({\t\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\t\\\n \tcrypto_key_sched_tbl_t *ks_tbl = crypto_key_sched_dir[(cop)];\t\\\n \t\t\t\t\t\t\t\t\t\\\n \t(calg >= CRYPTO_CIPHER_MAX) ?\t\t\t\t\t\\\ndiff --git a/drivers/crypto/caam_jr/caam_jr_desc.h b/drivers/crypto/caam_jr/caam_jr_desc.h\nindex 135d51c392..6fe6184b18 100644\n--- a/drivers/crypto/caam_jr/caam_jr_desc.h\n+++ b/drivers/crypto/caam_jr/caam_jr_desc.h\n@@ -32,7 +32,7 @@\n /* Macro for setting up a JD. The structure of the JD is common across all\n  * supported protocols, thus its structure is identical.\n  */\n-#define SEC_JD_INIT(descriptor)\t      ({ \\\n+#define SEC_JD_INIT(descriptor)\t      __extension__ ({ \\\n \t/* CTYPE = job descriptor\t\t\t       \\\n \t * RSMS, DNR = 0\n \t * ONE = 1\ndiff --git a/drivers/dma/hisilicon/hisi_dmadev.c b/drivers/dma/hisilicon/hisi_dmadev.c\nindex 0e11ca14cc..22303e7bef 100644\n--- a/drivers/dma/hisilicon/hisi_dmadev.c\n+++ b/drivers/dma/hisilicon/hisi_dmadev.c\n@@ -124,7 +124,7 @@ hisi_dma_update_queue_mbit(struct hisi_dma_dev *hw, uint32_t qoff,\n \thisi_dma_write_queue(hw, qoff, tmp);\n }\n \n-#define hisi_dma_poll_hw_state(hw, val, cond, sleep_us, timeout_us) ({ \\\n+#define hisi_dma_poll_hw_state(hw, val, cond, sleep_us, timeout_us) __extension__ ({ \\\n \tuint32_t timeout = 0; \\\n \twhile (timeout++ <= (timeout_us)) { \\\n \t\t(val) = hisi_dma_read_queue(hw, HISI_DMA_QUEUE_FSM_REG); \\\ndiff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h\nindex e46dc055eb..8a4cb201d1 100644\n--- a/drivers/event/octeontx/ssovf_evdev.h\n+++ b/drivers/event/octeontx/ssovf_evdev.h\n@@ -96,14 +96,14 @@\n \n /* ARM64 specific functions */\n #if defined(RTE_ARCH_ARM64)\n-#define ssovf_load_pair(val0, val1, addr) ({\t\t\\\n+#define ssovf_load_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"ldp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t:[x0]\"=r\"(val0), [x1]\"=r\"(val1) \\\n \t\t\t:[p1]\"r\"(addr)\t\t\t\\\n \t\t\t); })\n \n-#define ssovf_store_pair(val0, val1, addr) ({\t\t\\\n+#define ssovf_store_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"stp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t::[x0]\"r\"(val0), [x1]\"r\"(val1), [p1]\"r\"(addr) \\\ndiff --git a/drivers/mempool/octeontx/octeontx_fpavf.h b/drivers/mempool/octeontx/octeontx_fpavf.h\nindex e27c4377e2..b9519f1801 100644\n--- a/drivers/mempool/octeontx/octeontx_fpavf.h\n+++ b/drivers/mempool/octeontx/octeontx_fpavf.h\n@@ -59,14 +59,14 @@\n \n /* ARM64 specific functions */\n #if defined(RTE_ARCH_ARM64)\n-#define fpavf_load_pair(val0, val1, addr) ({\t\t\\\n+#define fpavf_load_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"ldp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t:[x0]\"=r\"(val0), [x1]\"=r\"(val1) \\\n \t\t\t:[p1]\"r\"(addr)\t\t\t\\\n \t\t\t); })\n \n-#define fpavf_store_pair(val0, val1, addr) ({\t\t\\\n+#define fpavf_store_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"stp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t::[x0]\"r\"(val0), [x1]\"r\"(val1), [p1]\"r\"(addr) \\\ndiff --git a/drivers/ml/cnxk/cn10k_ml_dev.h b/drivers/ml/cnxk/cn10k_ml_dev.h\nindex cee405f3f5..2101f69b7e 100644\n--- a/drivers/ml/cnxk/cn10k_ml_dev.h\n+++ b/drivers/ml/cnxk/cn10k_ml_dev.h\n@@ -44,8 +44,8 @@ extern struct rte_ml_dev_ops ml_dev_dummy_ops;\n \n /* Memory barrier macros */\n #if defined(RTE_ARCH_ARM)\n-#define dmb_st ({ asm volatile(\"dmb st\" : : : \"memory\"); })\n-#define dsb_st ({ asm volatile(\"dsb st\" : : : \"memory\"); })\n+#define dmb_st __extension__ ({ asm volatile(\"dmb st\" : : : \"memory\"); })\n+#define dsb_st __extension__ ({ asm volatile(\"dsb st\" : : : \"memory\"); })\n #else\n #define dmb_st\n #define dsb_st\ndiff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h\nindex 665ac2f0cc..14bf582a45 100644\n--- a/drivers/net/ena/base/ena_plat_dpdk.h\n+++ b/drivers/net/ena/base/ena_plat_dpdk.h\n@@ -141,9 +141,9 @@ extern int ena_logtype_com;\n #define ena_spinlock_t rte_spinlock_t\n #define ENA_SPINLOCK_INIT(spinlock) rte_spinlock_init(&(spinlock))\n #define ENA_SPINLOCK_LOCK(spinlock, flags)\t\t\t\t       \\\n-\t({(void)(flags); rte_spinlock_lock(&(spinlock)); })\n+\t__extension__ ({(void)(flags); rte_spinlock_lock(&(spinlock)); })\n #define ENA_SPINLOCK_UNLOCK(spinlock, flags)\t\t\t\t       \\\n-\t({(void)(flags); rte_spinlock_unlock(&(spinlock)); })\n+\t__extension__ ({(void)(flags); rte_spinlock_unlock(&(spinlock)); })\n #define ENA_SPINLOCK_DESTROY(spinlock) ((void)(spinlock))\n \n typedef struct {\n@@ -237,7 +237,7 @@ ena_mem_alloc_coherent(struct rte_eth_dev_data *data, size_t size,\n \t\tENA_MEM_ALLOC_COHERENT_ALIGNED(dmadev, size, virt, phys,       \\\n \t\t\tmem_handle, RTE_CACHE_LINE_SIZE)\n #define ENA_MEM_FREE_COHERENT(dmadev, size, virt, phys, mem_handle)\t       \\\n-\t\t({ ENA_TOUCH(size); ENA_TOUCH(phys); ENA_TOUCH(dmadev);\t       \\\n+\t\t__extension__ ({ ENA_TOUCH(size); ENA_TOUCH(phys); ENA_TOUCH(dmadev);\t       \\\n \t\t   rte_memzone_free(mem_handle); })\n \n #define ENA_MEM_ALLOC_COHERENT_NODE_ALIGNED(\t\t\t\t       \\\n@@ -263,16 +263,16 @@ ena_mem_alloc_coherent(struct rte_eth_dev_data *data, size_t size,\n \n #define ENA_MEM_ALLOC(dmadev, size) rte_zmalloc(NULL, size, 1)\n #define ENA_MEM_FREE(dmadev, ptr, size)\t\t\t\t\t       \\\n-\t({ ENA_TOUCH(dmadev); ENA_TOUCH(size); rte_free(ptr); })\n+\t__extension__ ({ ENA_TOUCH(dmadev); ENA_TOUCH(size); rte_free(ptr); })\n \n #define ENA_DB_SYNC(mem_handle) ((void)mem_handle)\n \n #define ENA_REG_WRITE32(bus, value, reg)\t\t\t\t       \\\n-\t({ (void)(bus); rte_write32((value), (reg)); })\n+\t__extension__ ({ (void)(bus); rte_write32((value), (reg)); })\n #define ENA_REG_WRITE32_RELAXED(bus, value, reg)\t\t\t       \\\n-\t({ (void)(bus); rte_write32_relaxed((value), (reg)); })\n+\t__extension__ ({ (void)(bus); rte_write32_relaxed((value), (reg)); })\n #define ENA_REG_READ32(bus, reg)\t\t\t\t\t       \\\n-\t({ (void)(bus); rte_read32_relaxed((reg)); })\n+\t__extension__ ({ (void)(bus); rte_read32_relaxed((reg)); })\n \n #define ATOMIC32_INC(i32_ptr) rte_atomic32_inc(i32_ptr)\n #define ATOMIC32_DEC(i32_ptr) rte_atomic32_dec(i32_ptr)\ndiff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c\nindex dc846d2e84..beb17c4125 100644\n--- a/drivers/net/ena/ena_ethdev.c\n+++ b/drivers/net/ena/ena_ethdev.c\n@@ -459,7 +459,7 @@ mp_msg_init(struct rte_mp_msg *msg, enum ena_mp_req type, int port_id)\n  *       calls to the same proxied function under the same lock.\n  */\n #define ENA_PROXY(a, f, ...)\t\t\t\t\t\t\\\n-({\t\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\t\\\n \tstruct ena_adapter *_a = (a);\t\t\t\t\t\\\n \tstruct timespec ts = { .tv_sec = ENA_MP_REQ_TMO };\t\t\\\n \tstruct ena_mp_body *req, *rsp;\t\t\t\t\t\\\n@@ -507,13 +507,13 @@ mp_msg_init(struct rte_mp_msg *msg, enum ena_mp_req type, int port_id)\n  *********************************************************************/\n \n ENA_PROXY_DESC(ena_com_get_dev_basic_stats, ENA_MP_DEV_STATS_GET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(stats);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n \tif (stats != &adapter->basic_stats)\n@@ -522,13 +522,13 @@ ENA_PROXY_DESC(ena_com_get_dev_basic_stats, ENA_MP_DEV_STATS_GET,\n \tstruct ena_com_dev *ena_dev, struct ena_admin_basic_stats *stats);\n \n ENA_PROXY_DESC(ena_com_get_eni_stats, ENA_MP_ENI_STATS_GET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(stats);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n \tif (stats != (struct ena_admin_eni_stats *)&adapter->metrics_stats)\n@@ -537,12 +537,12 @@ ENA_PROXY_DESC(ena_com_get_eni_stats, ENA_MP_ENI_STATS_GET,\n \tstruct ena_com_dev *ena_dev, struct ena_admin_eni_stats *stats);\n \n ENA_PROXY_DESC(ena_com_set_dev_mtu, ENA_MP_MTU_SET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(ena_dev);\n \treq->args.mtu = mtu;\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n@@ -551,12 +551,12 @@ ENA_PROXY_DESC(ena_com_set_dev_mtu, ENA_MP_MTU_SET,\n \tstruct ena_com_dev *ena_dev, int mtu);\n \n ENA_PROXY_DESC(ena_com_indirect_table_set, ENA_MP_IND_TBL_SET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n@@ -564,13 +564,13 @@ ENA_PROXY_DESC(ena_com_indirect_table_set, ENA_MP_IND_TBL_SET,\n \tstruct ena_com_dev *ena_dev);\n \n ENA_PROXY_DESC(ena_com_indirect_table_get, ENA_MP_IND_TBL_GET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(ind_tbl);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n \tif (ind_tbl != adapter->indirect_table)\n@@ -580,14 +580,14 @@ ENA_PROXY_DESC(ena_com_indirect_table_get, ENA_MP_IND_TBL_GET,\n \tstruct ena_com_dev *ena_dev, u32 *ind_tbl);\n \n ENA_PROXY_DESC(ena_com_get_customer_metrics, ENA_MP_CUSTOMER_METRICS_GET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(buf);\n \tENA_TOUCH(buf_size);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(buf_size);\n@@ -597,13 +597,13 @@ ENA_PROXY_DESC(ena_com_get_customer_metrics, ENA_MP_CUSTOMER_METRICS_GET,\n \tstruct ena_com_dev *ena_dev, char *buf, size_t buf_size);\n \n ENA_PROXY_DESC(ena_com_get_ena_srd_info, ENA_MP_SRD_STATS_GET,\n-({\n+__extension__ ({\n \tENA_TOUCH(adapter);\n \tENA_TOUCH(req);\n \tENA_TOUCH(ena_dev);\n \tENA_TOUCH(info);\n }),\n-({\n+__extension__ ({\n \tENA_TOUCH(rsp);\n \tENA_TOUCH(ena_dev);\n \tif ((struct ena_stats_srd *)info != &adapter->srd_stats)\ndiff --git a/drivers/net/enetfec/enet_ethdev.h b/drivers/net/enetfec/enet_ethdev.h\nindex 573b0672cd..02a3397890 100644\n--- a/drivers/net/enetfec/enet_ethdev.h\n+++ b/drivers/net/enetfec/enet_ethdev.h\n@@ -42,7 +42,7 @@\n \n #define ENETFEC_MAX_Q\t\t1\n \n-#define writel(v, p) ({*(volatile unsigned int *)(p) = (v); })\n+#define writel(v, p) __extension__ ({*(volatile unsigned int *)(p) = (v); })\n #define readl(p) rte_read32(p)\n \n struct bufdesc {\ndiff --git a/drivers/net/fm10k/base/fm10k_osdep.h b/drivers/net/fm10k/base/fm10k_osdep.h\nindex 019fba5e25..25f46c3908 100644\n--- a/drivers/net/fm10k/base/fm10k_osdep.h\n+++ b/drivers/net/fm10k/base/fm10k_osdep.h\n@@ -102,7 +102,7 @@ typedef uint64_t   u64;\n #endif\n \n #ifndef do_div\n-#define do_div(n, base) ({\\\n+#define do_div(n, base) __extension__ ({\\\n \t(n) = (n) / (base);\\\n })\n #endif /* do_div */\ndiff --git a/drivers/net/octeontx/base/octeontx_io.h b/drivers/net/octeontx/base/octeontx_io.h\nindex d0b9cfbc67..323e34b634 100644\n--- a/drivers/net/octeontx/base/octeontx_io.h\n+++ b/drivers/net/octeontx/base/octeontx_io.h\n@@ -19,17 +19,17 @@\n \n /* ARM64 specific functions */\n #if defined(RTE_ARCH_ARM64)\n-#define octeontx_prefetch_store_keep(_ptr) ({\\\n+#define octeontx_prefetch_store_keep(_ptr) __extension__ ({\\\n \tasm volatile(\"prfm pstl1keep, %a0\\n\" : : \"p\" (_ptr)); })\n \n-#define octeontx_load_pair(val0, val1, addr) ({\t\t\\\n+#define octeontx_load_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"ldp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t:[x0]\"=r\"(val0), [x1]\"=r\"(val1) \\\n \t\t\t:[p1]\"r\"(addr)\t\t\t\\\n \t\t\t); })\n \n-#define octeontx_store_pair(val0, val1, addr) ({\t\t\\\n+#define octeontx_store_pair(val0, val1, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"stp %x[x0], %x[x1], [%x[p1]]\"\t\\\n \t\t\t::[x0]\"r\"(val0), [x1]\"r\"(val1), [p1]\"r\"(addr) \\\ndiff --git a/drivers/net/pfe/base/cbus.h b/drivers/net/pfe/base/cbus.h\nindex fe7ea60067..7b30588c6a 100644\n--- a/drivers/net/pfe/base/cbus.h\n+++ b/drivers/net/pfe/base/cbus.h\n@@ -36,7 +36,7 @@\n \n /* Byte Enables of the Internal memory access. These are interpred in BE */\n #define PE_MEM_ACCESS_BYTE_ENABLE(offset, size)\t\\\n-\t({ typeof(size) size_ = (size);\t\t\\\n+\t__extension__ ({ typeof(size) size_ = (size);\t\t\\\n \t(((BIT(size_) - 1) << (4 - (offset) - (size_))) & 0xf) << 24; })\n \n #include \"cbus/emac_mtip.h\"\ndiff --git a/drivers/net/pfe/base/pfe.h b/drivers/net/pfe/base/pfe.h\nindex 0a88e98c1b..b9cf6827f1 100644\n--- a/drivers/net/pfe/base/pfe.h\n+++ b/drivers/net/pfe/base/pfe.h\n@@ -95,36 +95,36 @@ test_and_set_bit(unsigned long nr, void *addr)\n #define PMEM_SIZE\t0x8000\t/* TMU has less... */\n #define PMEM_END\t(PMEM_BASE_ADDR + PMEM_SIZE)\n \n-#define writel(v, p) ({*(volatile unsigned int *)(p) = (v); })\n+#define writel(v, p) __extension__ ({*(volatile unsigned int *)(p) = (v); })\n #define readl(p) (*(const volatile unsigned int *)(p))\n \n /* These check memory ranges from PE point of view/memory map */\n #define IS_DMEM(addr, len)\t\t\t\t\\\n-\t({ typeof(addr) addr_ = (addr);\t\t\t\\\n+\t__extension__ ({ typeof(addr) addr_ = (addr);\t\\\n \t((unsigned long)(addr_) >= DMEM_BASE_ADDR) &&\t\\\n \t(((unsigned long)(addr_) + (len)) <= DMEM_END); })\n \n #define IS_PMEM(addr, len)\t\t\t\t\\\n-\t({ typeof(addr) addr_ = (addr);\t\t\t\\\n+\t__extension__ ({ typeof(addr) addr_ = (addr);\t\\\n \t((unsigned long)(addr_) >= PMEM_BASE_ADDR) &&\t\\\n \t(((unsigned long)(addr_) + (len)) <= PMEM_END); })\n \n #define IS_PE_LMEM(addr, len)\t\t\t\t\\\n-\t({ typeof(addr) addr_ = (addr);\t\t\t\\\n+\t__extension__ ({ typeof(addr) addr_ = (addr);\t\\\n \t((unsigned long)(addr_) >=\t\t\t\\\n \tPE_LMEM_BASE_ADDR) &&\t\t\t\t\\\n \t(((unsigned long)(addr_) +\t\t\t\\\n \t(len)) <= PE_LMEM_END); })\n \n #define IS_PFE_LMEM(addr, len)\t\t\t\t\\\n-\t({ typeof(addr) addr_ = (addr);\t\t\t\\\n+\t__extension__ ({ typeof(addr) addr_ = (addr);\t\\\n \t((unsigned long)(addr_) >=\t\t\t\\\n \tCBUS_VIRT_TO_PFE(LMEM_BASE_ADDR)) &&\t\t\\\n \t(((unsigned long)(addr_) + (len)) <=\t\t\\\n \tCBUS_VIRT_TO_PFE(LMEM_END)); })\n \n #define __IS_PHYS_DDR(addr, len)\t\t\t\\\n-\t({ typeof(addr) addr_ = (addr);\t\t\t\\\n+\t__extension__ ({ typeof(addr) addr_ = (addr);\t\\\n \t((unsigned long)(addr_) >=\t\t\t\\\n \tDDR_PHYS_BASE_ADDR) &&\t\t\t\t\\\n \t(((unsigned long)(addr_) + (len)) <=\t\t\\\ndiff --git a/drivers/net/tap/bpf/bpf_api.h b/drivers/net/tap/bpf/bpf_api.h\nindex 2638a8a4ac..4cd25fa593 100644\n--- a/drivers/net/tap/bpf/bpf_api.h\n+++ b/drivers/net/tap/bpf/bpf_api.h\n@@ -162,7 +162,7 @@ static void BPF_FUNC(trace_printk, const char *fmt, int fmt_size, ...);\n \n #ifndef printt\n # define printt(fmt, ...)\t\t\t\t\t\t\\\n-\t({\t\t\t\t\t\t\t\t\\\n+\t__extension__ ({\t\t\t\t\t\t\\\n \t\tchar ____fmt[] = fmt;\t\t\t\t\t\\\n \t\ttrace_printk(____fmt, sizeof(____fmt), ##__VA_ARGS__);\t\\\n \t})\ndiff --git a/drivers/net/thunderx/base/nicvf_plat.h b/drivers/net/thunderx/base/nicvf_plat.h\nindex dd054627e9..8421f57040 100644\n--- a/drivers/net/thunderx/base/nicvf_plat.h\n+++ b/drivers/net/thunderx/base/nicvf_plat.h\n@@ -55,11 +55,11 @@\n \n /* ARM64 specific functions */\n #if defined(RTE_ARCH_ARM64)\n-#define nicvf_prefetch_store_keep(_ptr) ({\\\n+#define nicvf_prefetch_store_keep(_ptr) __extension__ ({\\\n \tasm volatile(\"prfm pstl1keep, [%x0]\\n\" : : \"r\" (_ptr)); })\n \n \n-#define NICVF_LOAD_PAIR(reg1, reg2, addr) ({\t\t\\\n+#define NICVF_LOAD_PAIR(reg1, reg2, addr) __extension__ ({\t\t\\\n \t\t\tasm volatile(\t\t\t\\\n \t\t\t\"ldp %x[x1], %x[x0], [%x[p1]]\"\t\\\n \t\t\t: [x1]\"=r\"(reg1), [x0]\"=r\"(reg2)\\\ndiff --git a/drivers/net/txgbe/base/txgbe_osdep.h b/drivers/net/txgbe/base/txgbe_osdep.h\nindex b62c0b0824..4fce355000 100644\n--- a/drivers/net/txgbe/base/txgbe_osdep.h\n+++ b/drivers/net/txgbe/base/txgbe_osdep.h\n@@ -172,7 +172,7 @@ static inline u64 REVERT_BIT_MASK64(u64 mask)\n \n /* Check whether an address is broadcast. */\n #define TXGBE_IS_BROADCAST(address) \\\n-\t\t({typeof(address)addr = (address); \\\n+\t\t__extension__ ({typeof(address)addr = (address); \\\n \t\t(((u8 *)(addr))[0] == ((u8)0xff)) && \\\n \t\t(((u8 *)(addr))[1] == ((u8)0xff)); })\n \ndiff --git a/drivers/raw/ifpga/afu_pmd_core.h b/drivers/raw/ifpga/afu_pmd_core.h\nindex ab5a228147..a8f1afe343 100644\n--- a/drivers/raw/ifpga/afu_pmd_core.h\n+++ b/drivers/raw/ifpga/afu_pmd_core.h\n@@ -66,7 +66,7 @@ afu_rawdev_get_priv(const struct rte_rawdev *rawdev)\n #define MHZ(f)  ((f) * 1000000)\n \n #define dsm_poll_timeout(addr, val, cond, invl, timeout) \\\n-({                                                       \\\n+__extension__ ({                                             \\\n \tuint64_t __wait = 0;                                 \\\n \tuint64_t __invl = (invl);                            \\\n \tuint64_t __timeout = (timeout);                      \\\ndiff --git a/drivers/raw/ifpga/base/ifpga_compat.h b/drivers/raw/ifpga/base/ifpga_compat.h\nindex 8a624d174f..95fba6c28e 100644\n--- a/drivers/raw/ifpga/base/ifpga_compat.h\n+++ b/drivers/raw/ifpga/base/ifpga_compat.h\n@@ -31,7 +31,7 @@\n  * by polling with given interval and timeout.\n  */\n #define fpga_wait_register_field(_field, _expect, _reg_addr, _timeout, _invl)\\\n-({\t\t\t\t\t\t\t\t\t     \\\n+__extension__ ({\t\t\t\t\t\t\t     \\\n \tint wait = 0;\t\t\t\t\t\t\t     \\\n \tint ret = -ETIMEDOUT;\t\t\t\t\t\t     \\\n \ttypeof(_expect) value;\t\t\t\t\t\t     \\\ndiff --git a/drivers/raw/ifpga/base/opae_osdep.h b/drivers/raw/ifpga/base/opae_osdep.h\nindex e91205f536..cb780b1fed 100644\n--- a/drivers/raw/ifpga/base/opae_osdep.h\n+++ b/drivers/raw/ifpga/base/opae_osdep.h\n@@ -81,7 +81,7 @@ struct uuid {\n #define opae_memset(a, b, c)    memset((a), (b), (c))\n \n #define readx_poll_timeout(op, val, cond, invl, timeout, args...) \\\n-({                                                                \\\n+__extension__ ({                                                      \\\n \tunsigned long __wait = 0;                                     \\\n \tunsigned long __invl = (invl);                                \\\n \tunsigned long __timeout = (timeout);                          \\\n@@ -107,7 +107,7 @@ struct uuid {\n \treadx_poll_timeout(opae_readb, val, cond, invl, timeout, addr)\n \n #define opae_max10_read_poll_timeout(dev, addr, value, cond, invl, timeout) \\\n-({ \\\n+__extension__ ({ \\\n \tint __ret, __tmp; \\\n \t__tmp = readx_poll_timeout(max10_sys_read, __ret, __ret || (cond), \\\n \t\t\tinvl, timeout, (dev), (addr), &(value)); \\\ndiff --git a/drivers/raw/ifpga/base/opae_spi_transaction.c b/drivers/raw/ifpga/base/opae_spi_transaction.c\nindex cd50d40629..21015eb95e 100644\n--- a/drivers/raw/ifpga/base/opae_spi_transaction.c\n+++ b/drivers/raw/ifpga/base/opae_spi_transaction.c\n@@ -24,7 +24,7 @@\n #define SPI_REG_BYTES 4\n \n #define INIT_SPI_TRAN_HEADER(trans_type, size, address) \\\n-({ \\\n+__extension__ ({ \\\n \theader.trans_type = trans_type; \\\n \theader.reserve = 0; \\\n \theader.size = cpu_to_be16(size); \\\ndiff --git a/examples/qos_meter/main.h b/examples/qos_meter/main.h\nindex 864f019f69..59e5e0bce7 100644\n--- a/examples/qos_meter/main.h\n+++ b/examples/qos_meter/main.h\n@@ -24,7 +24,7 @@ enum policer_action policer_table[RTE_COLORS][RTE_COLORS] =\n #if APP_MODE == APP_MODE_FWD\n \n #define FUNC_METER(m, p, time, pkt_len, pkt_color)\t\\\n-({\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\\\n \tvoid *mp = m;\t\t\t\t\t\\\n \tvoid *pp = p;\t\t\t\t\t\\\n \tmp = mp;\t\t\t\t\t\\\ndiff --git a/lib/ethdev/rte_mtr.c b/lib/ethdev/rte_mtr.c\nindex 4e94af9d9f..900837bc09 100644\n--- a/lib/ethdev/rte_mtr.c\n+++ b/lib/ethdev/rte_mtr.c\n@@ -41,14 +41,14 @@ rte_mtr_ops_get(uint16_t port_id, struct rte_mtr_error *error)\n }\n \n #define RTE_MTR_FUNC(port_id, func)\t\t\t\\\n-({\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\\\n \tconst struct rte_mtr_ops *ops =\t\t\t\\\n-\t\trte_mtr_ops_get(port_id, error);\t\t\\\n-\tif (ops == NULL)\t\t\t\t\t\\\n+\t\trte_mtr_ops_get(port_id, error);\t\\\n+\tif (ops == NULL)\t\t\t\t\\\n \t\treturn -rte_errno;\t\t\t\\\n \t\t\t\t\t\t\t\\\n \tif (ops->func == NULL)\t\t\t\t\\\n-\t\treturn -rte_mtr_error_set(error,\t\t\\\n+\t\treturn -rte_mtr_error_set(error,\t\\\n \t\t\tENOSYS,\t\t\t\t\\\n \t\t\tRTE_MTR_ERROR_TYPE_UNSPECIFIED,\t\\\n \t\t\tNULL,\t\t\t\t\\\n@@ -58,7 +58,7 @@ rte_mtr_ops_get(uint16_t port_id, struct rte_mtr_error *error)\n })\n \n #define RTE_MTR_HNDL_FUNC(port_id, func)\t\t\\\n-({\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\\\n \tconst struct rte_mtr_ops *ops =\t\t\t\\\n \t\trte_mtr_ops_get(port_id, error);\t\\\n \tif (ops == NULL)\t\t\t\t\\\ndiff --git a/lib/ethdev/rte_tm.c b/lib/ethdev/rte_tm.c\nindex 2d08141133..d594fe0049 100644\n--- a/lib/ethdev/rte_tm.c\n+++ b/lib/ethdev/rte_tm.c\n@@ -40,11 +40,11 @@ rte_tm_ops_get(uint16_t port_id, struct rte_tm_error *error)\n \treturn ops;\n }\n \n-#define RTE_TM_FUNC(port_id, func)\t\t\t\t\\\n-({\t\t\t\t\t\t\t\\\n+#define RTE_TM_FUNC(port_id, func)\t\t\t\\\n+__extension__ ({\t\t\t\t\t\\\n \tconst struct rte_tm_ops *ops =\t\t\t\\\n \t\trte_tm_ops_get(port_id, error);\t\t\\\n-\tif (ops == NULL)\t\t\t\t\t\\\n+\tif (ops == NULL)\t\t\t\t\\\n \t\treturn -rte_errno;\t\t\t\\\n \t\t\t\t\t\t\t\\\n \tif (ops->func == NULL)\t\t\t\t\\\ndiff --git a/lib/pipeline/rte_pipeline.c b/lib/pipeline/rte_pipeline.c\nindex c9ed903d71..945bb025a1 100644\n--- a/lib/pipeline/rte_pipeline.c\n+++ b/lib/pipeline/rte_pipeline.c\n@@ -23,16 +23,16 @@ RTE_LOG_REGISTER_DEFAULT(pipeline_logtype, INFO);\n #ifdef RTE_PIPELINE_STATS_COLLECT\n \n #define RTE_PIPELINE_STATS_AH_DROP_WRITE(p, mask)\t\t\t\\\n-\t({ (p)->n_pkts_ah_drop = rte_popcount64(mask); })\n+\t__extension__ ({ (p)->n_pkts_ah_drop = rte_popcount64(mask); })\n \n #define RTE_PIPELINE_STATS_AH_DROP_READ(p, counter)\t\t\t\\\n-\t({ (counter) += (p)->n_pkts_ah_drop; (p)->n_pkts_ah_drop = 0; })\n+\t__extension__ ({ (counter) += (p)->n_pkts_ah_drop; (p)->n_pkts_ah_drop = 0; })\n \n #define RTE_PIPELINE_STATS_TABLE_DROP0(p)\t\t\t\t\\\n-\t({ (p)->pkts_drop_mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP]; })\n+\t__extension__ ({ (p)->pkts_drop_mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP]; })\n \n #define RTE_PIPELINE_STATS_TABLE_DROP1(p, counter)\t\t\t\\\n-({\t\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\t\\\n \tuint64_t mask = (p)->action_mask0[RTE_PIPELINE_ACTION_DROP];\t\\\n \tmask ^= (p)->pkts_drop_mask;\t\t\t\t\t\\\n \t(counter) += rte_popcount64(mask);\t\t\t\\\ndiff --git a/lib/pipeline/rte_swx_pipeline_internal.h b/lib/pipeline/rte_swx_pipeline_internal.h\nindex 8ec12263b9..92eb933376 100644\n--- a/lib/pipeline/rte_swx_pipeline_internal.h\n+++ b/lib/pipeline/rte_swx_pipeline_internal.h\n@@ -1485,7 +1485,7 @@ instr_operand_nbo(struct thread *t, const struct instr_operand *x)\n #endif\n \n #define METADATA_READ(thread, offset, n_bits)                                  \\\n-({                                                                             \\\n+__extension__ ({                                                               \\\n \tuint64_t *m64_ptr = (uint64_t *)&(thread)->metadata[offset];           \\\n \tuint64_t m64 = *m64_ptr;                                               \\\n \tuint64_t m64_mask = UINT64_MAX >> (64 - (n_bits));                     \\\ndiff --git a/lib/port/rte_port_source_sink.c b/lib/port/rte_port_source_sink.c\nindex 4426f13499..a4486a7199 100644\n--- a/lib/port/rte_port_source_sink.c\n+++ b/lib/port/rte_port_source_sink.c\n@@ -178,7 +178,7 @@ pcap_source_load(struct rte_port_source *port,\n #else /* RTE_PORT_PCAP */\n \n #define PCAP_SOURCE_LOAD(port, file_name, n_bytes, socket_id)\t\\\n-({\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\\\n \tint _ret = 0;\t\t\t\t\t\t\\\n \t\t\t\t\t\t\t\t\\\n \tif (file_name) {\t\t\t\t\t\\\n@@ -431,7 +431,7 @@ do {\t\t\t\t\t\t\t\t\\\n #else\n \n #define PCAP_SINK_OPEN(port, file_name, max_n_pkts)\t\t\\\n-({\t\t\t\t\t\t\t\t\\\n+__extension__ ({\t\t\t\t\t\t\\\n \tint _ret = 0;\t\t\t\t\t\t\\\n \t\t\t\t\t\t\t\t\\\n \tif (file_name) {\t\t\t\t\t\\\n",
    "prefixes": [
        "v2",
        "3/3"
    ]
}