From patchwork Fri Apr 21 20:03:06 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Fischofer X-Patchwork-Id: 97925 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp482874qgf; Fri, 21 Apr 2017 13:03:19 -0700 (PDT) X-Received: by 10.200.0.212 with SMTP id d20mr16007810qtg.132.1492804999663; Fri, 21 Apr 2017 13:03:19 -0700 (PDT) Return-Path: Received: from lists.linaro.org (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTP id e19si1329743qka.19.2017.04.21.13.03.19; Fri, 21 Apr 2017 13:03:19 -0700 (PDT) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 2A3FA61058; Fri, 21 Apr 2017 20:03:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, RCVD_IN_SORBS_SPAM, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 416D060C63; Fri, 21 Apr 2017 20:03:14 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id 7B80060EF0; Fri, 21 Apr 2017 20:03:12 +0000 (UTC) Received: from mail-oi0-f49.google.com (mail-oi0-f49.google.com [209.85.218.49]) by lists.linaro.org (Postfix) with ESMTPS id B848060B54 for ; Fri, 21 Apr 2017 20:03:10 +0000 (UTC) Received: by mail-oi0-f49.google.com with SMTP id j201so110333647oih.2 for ; Fri, 21 Apr 2017 13:03:10 -0700 (PDT) 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; bh=p6VZrrhb/OifASp4n8woiU8uolVPphsRAWn1gwA1vww=; b=nm8fKX3NPxgLQlf/r/WB0Hzvrfk+I1WJ19l6PhLgsrGGS2usha/vvcCnjuMlf+gGVm G7Hc/0v8K2FaqmT+n+BTe30K0AHmCPgqlCKdjxU35DMosdwovkY++HaZtSwGjI9GTAC8 IGfBigReV9OKXNO+51a4v1Oab/Zi6lyOx4JtEt1eJCeQ4fQPvp5PWDm31T7OeXOtAslV 7rt4HCriSzUQOf/EN14XI/srt2sBxSQyrhEnpZ44F21IwQOQGjm7Wlw+arxy+EZk2Vtt RW5Co5TcOBNE7LW1z9GTfDefvqY0KbP8F1+Zkkfn12BU0/2BENODe9q3uusa697h70nb hnfA== X-Gm-Message-State: AN3rC/6gM7O5eunkyXg0wnP2RzngpkyVQXSPep3eB/cYbJYyzEwl5nGd k02dXAcOQe4Goe4eahY= X-Received: by 10.157.63.243 with SMTP id i48mr5941215ote.231.1492804990137; Fri, 21 Apr 2017 13:03:10 -0700 (PDT) Received: from localhost.localdomain (cpe-70-121-83-241.austin.res.rr.com. [70.121.83.241]) by smtp.gmail.com with ESMTPSA id s193sm4496642oie.21.2017.04.21.13.03.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 21 Apr 2017 13:03:09 -0700 (PDT) From: Bill Fischofer To: lng-odp@lists.linaro.org Date: Fri, 21 Apr 2017 15:03:06 -0500 Message-Id: <1492804986-29032-1-git-send-email-bill.fischofer@linaro.org> X-Mailer: git-send-email 2.7.4 Subject: [lng-odp] [PATCHv2] bug: linux-generic: add syntax to allow newer clang to compile odp X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2942 by adding casts needed to avoid compilation failures when using clang 4.0.0 included in Ubuntu 17.04, which is stricter than clang 3.8.1 which is in Ubuntu 16.10. Signed-off-by: Bill Fischofer --- helper/chksum.c | 6 +++--- platform/linux-generic/odp_packet_flags.c | 2 +- .../validation/api/classification/odp_classification_common.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) -- 2.11.0 Reviewed-by: Brian Brooks diff --git a/helper/chksum.c b/helper/chksum.c index f740618d..ae70d97e 100644 --- a/helper/chksum.c +++ b/helper/chksum.c @@ -128,7 +128,7 @@ static inline int odph_process_l4_hdr(odp_packet_t odp_pkt, * should come from the udp header, unlike for TCP where is * derived. */ l4_len = odp_be_to_cpu_16(udp_hdr_ptr->length); - pkt_chksum_ptr = &udp_hdr_ptr->chksum; + pkt_chksum_ptr = (uint16_t *)(void *)&udp_hdr_ptr->chksum; pkt_chksum_offset = l4_offset + offsetof(odph_udphdr_t, chksum); } else if (odp_packet_has_tcp(odp_pkt)) { tcp_hdr_ptr = (odph_tcphdr_t *)l4_ptr; @@ -139,7 +139,7 @@ static inline int odph_process_l4_hdr(odp_packet_t odp_pkt, ODPH_TCPHDR_LEN, tcp_hdr_ptr); } - pkt_chksum_ptr = &tcp_hdr_ptr->cksm; + pkt_chksum_ptr = (uint16_t *)(void *)&tcp_hdr_ptr->cksm; pkt_chksum_offset = l4_offset + offsetof(odph_tcphdr_t, cksm); is_tcp = true; } else { @@ -203,7 +203,7 @@ static inline int odph_process_l3_hdr(odp_packet_t odp_pkt, ipv4_hdr_ptr = &ipv4_hdr; } - addrs_ptr = (uint16_t *)&ipv4_hdr_ptr->src_addr; + addrs_ptr = (uint16_t *)(void *)&ipv4_hdr_ptr->src_addr; addrs_len = 2 * ODPH_IPV4ADDR_LEN; protocol = ipv4_hdr_ptr->proto; l3_len = odp_be_to_cpu_16(ipv4_hdr_ptr->tot_len); diff --git a/platform/linux-generic/odp_packet_flags.c b/platform/linux-generic/odp_packet_flags.c index ea9a2271..c2e8b9cf 100644 --- a/platform/linux-generic/odp_packet_flags.c +++ b/platform/linux-generic/odp_packet_flags.c @@ -19,7 +19,7 @@ odp_packet_hdr_t *pkt_hdr = odp_packet_hdr(pkt); \ if (pkt_hdr->p.parsed_layers < layer) \ packet_parse_layer(pkt_hdr, layer); \ - pkt_hdr->p.x = v & 1; \ + pkt_hdr->p.x = (v) & 1; \ } while (0) int odp_packet_has_error(odp_packet_t pkt) diff --git a/test/common_plat/validation/api/classification/odp_classification_common.c b/test/common_plat/validation/api/classification/odp_classification_common.c index 3b379c14..eca30b87 100644 --- a/test/common_plat/validation/api/classification/odp_classification_common.c +++ b/test/common_plat/validation/api/classification/odp_classification_common.c @@ -278,14 +278,14 @@ odp_packet_t create_packet(cls_packet_info_t pkt_info) ethhdr = (odph_ethhdr_t *)odp_packet_l2_ptr(pkt, NULL); memcpy(ethhdr->src.addr, &src_mac, ODPH_ETHADDR_LEN); memcpy(ethhdr->dst.addr, &dst_mac_be, ODPH_ETHADDR_LEN); - vlan_type = (odp_u16be_t *)ðhdr->type; + vlan_type = (odp_u16be_t *)(void *)ðhdr->type; vlan_hdr = (odph_vlanhdr_t *)(ethhdr + 1); if (pkt_info.vlan_qinq) { odp_packet_has_vlan_qinq_set(pkt, 1); *vlan_type = odp_cpu_to_be_16(ODPH_ETHTYPE_VLAN_OUTER); vlan_hdr->tci = odp_cpu_to_be_16(0); - vlan_type = (uint16_t *)&vlan_hdr->type; + vlan_type = (uint16_t *)(void *)&vlan_hdr->type; vlan_hdr++; } if (pkt_info.vlan) {