[{"id":17488,"web_url":"https://patchwork.libcamera.org/comment/17488/","msgid":"<20210609022601.GN156622@pyrite.rasen.tech>","date":"2021-06-09T02:26:01","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Laurent,\n\nOn Wed, Jun 09, 2021 at 12:27:14AM +0300, Laurent Pinchart wrote:\n> The ipu3_agc.h forward-declares the IPACameraSensorInfo structure, but\n> incorrectly declares it as a class. This causes a compilation error with\n> clang:\n> \n> include/libcamera/ipa/core_ipa_interface.h:24:1: error: 'IPACameraSensorInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]\n> struct IPACameraSensorInfo\n> ^\n> ../../src/ipa/ipu3/ipu3_agc.h:21:1: note: did you mean struct here?\n> class IPACameraSensorInfo;\n> ^~~~~\n> struct\n> \n> Fix it.\n> \n> Fixes: 384a53d3cdf7 (\"ipa: ipu3: Calculate line duration from IPACameraSensorInfo\")\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/ipa/ipu3/ipu3_agc.h | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n> \n> diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h\n> index 99a582a9fdcf..f3d4055761e6 100644\n> --- a/src/ipa/ipu3/ipu3_agc.h\n> +++ b/src/ipa/ipu3/ipu3_agc.h\n> @@ -18,7 +18,7 @@\n>  \n>  namespace libcamera {\n>  \n> -class IPACameraSensorInfo;\n> +struct IPACameraSensorInfo;\n>  \n>  namespace ipa::ipu3 {\n>  \n> -- \n> Regards,\n> \n> Laurent Pinchart\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C955ABD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Jun 2021 02:26:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E4EFF6892B;\n\tWed,  9 Jun 2021 04:26:09 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E0DCF6891F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Jun 2021 04:26:07 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A3E2C46E;\n\tWed,  9 Jun 2021 04:26:06 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"j/gCyAAr\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1623205567;\n\tbh=Z5TsjGlLKXPscGJDb1uQAgH8bZ9AgUZsIrrDeoPUlWE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=j/gCyAArFROu1KPSPWHto75a03Q5wqwWHh4spI3v+KZLB/W46yBOlZSQdj1NE/M5Y\n\t5vJmNbM3cVdCy2KTrly7ohb9tReAhROrQCJ3v5UcNm/6qBEFapbyPnP/ql84J8XqfT\n\tNfex0UxySPUwRCcOihFXr+d9e/kJxnmO0F5tfOV0=","Date":"Wed, 9 Jun 2021 11:26:01 +0900","From":"paul.elder@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20210609022601.GN156622@pyrite.rasen.tech>","References":"<20210608212714.9381-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210608212714.9381-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17489,"web_url":"https://patchwork.libcamera.org/comment/17489/","msgid":"<CAO5uPHMYi_1wVtk0Di1GOZcfFtT09h2ZTfMrrESvoYutbMdJ6g@mail.gmail.com>","date":"2021-06-09T03:22:36","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Laurent, thank you for the patch.\n\nOn Wed, Jun 9, 2021 at 11:26 AM <paul.elder@ideasonboard.com> wrote:\n\n> Hi Laurent,\n>\n> On Wed, Jun 09, 2021 at 12:27:14AM +0300, Laurent Pinchart wrote:\n> > The ipu3_agc.h forward-declares the IPACameraSensorInfo structure, but\n> > incorrectly declares it as a class. This causes a compilation error with\n> > clang:\n> >\n> > include/libcamera/ipa/core_ipa_interface.h:24:1: error:\n> 'IPACameraSensorInfo' defined as a struct here but previously declared as a\n> class; this is valid, but may result in linker errors under the Microsoft\n> C++ ABI [-Werror,-Wmismatched-tags]\n> > struct IPACameraSensorInfo\n> > ^\n> > ../../src/ipa/ipu3/ipu3_agc.h:21:1: note: did you mean struct here?\n> > class IPACameraSensorInfo;\n> > ^~~~~\n> > struct\n> >\n> > Fix it.\n> >\n> > Fixes: 384a53d3cdf7 (\"ipa: ipu3: Calculate line duration from\n> IPACameraSensorInfo\")\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n>\n>\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\n\n> > ---\n> >  src/ipa/ipu3/ipu3_agc.h | 2 +-\n> >  1 file changed, 1 insertion(+), 1 deletion(-)\n> >\n> > diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h\n> > index 99a582a9fdcf..f3d4055761e6 100644\n> > --- a/src/ipa/ipu3/ipu3_agc.h\n> > +++ b/src/ipa/ipu3/ipu3_agc.h\n> > @@ -18,7 +18,7 @@\n> >\n> >  namespace libcamera {\n> >\n> > -class IPACameraSensorInfo;\n> > +struct IPACameraSensorInfo;\n> >\n> >  namespace ipa::ipu3 {\n> >\n> > --\n> > Regards,\n> >\n> > Laurent Pinchart\n> >\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6B904C320B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Jun 2021 03:22:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E5B1F602A7;\n\tWed,  9 Jun 2021 05:22:48 +0200 (CEST)","from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com\n\t[IPv6:2a00:1450:4864:20::52c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AA2A5602A7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Jun 2021 05:22:47 +0200 (CEST)","by mail-ed1-x52c.google.com with SMTP id r7so12591019edv.12\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 08 Jun 2021 20:22:47 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"jbPIIY7a\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=adhmp4lUGUUtgyXDB/xWquI+F4LeSv/C+wD9wnmpuJ0=;\n\tb=jbPIIY7aIo9rdkmHozq1v+T5WMpT43O/VIm0q+JrkY74kVK/P0XyVMBz4GBLkjWpgH\n\tX7VaqeSZf0UXwH9/NVTbfa8td0c6+tQgSYf6QZFN/laXbHiZzU3Q8b08SRLiJ8DT5eV+\n\tuAM6Q0IkHgxezpS8dluPquqXXDoJGgGAjh+E4=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=adhmp4lUGUUtgyXDB/xWquI+F4LeSv/C+wD9wnmpuJ0=;\n\tb=BiAZpZPQmBE9+wQLFxfnjJkB7wwglU/SZ8q5PIGxThjb/QZlnUBu953e1elgjAkPQC\n\t5UtO4CVPQRd0babfqCaZk5uF2db8gq6dupKyXTLDz9zBlKCzit5FSeMhMORIOUfmZ4nr\n\tbgwV5BzhunTsLraM0iBaYZVcL76BCSZGTrkRwZr3fmHYRDaGEaF2P8vsve+zlO1CGr5s\n\tJj7GUzKa3VsPiOf45pq+GGGViiOZqikQO6XMpijdjpRVbSUWsHq7YsAzN7Em2puSCksb\n\tzuccBlmMOSk5I/Xp+3fDvDBD1t9+DG0Tu6okQj8wb2HRC4Olf3+6hdwz6h9ntVVh5jXD\n\t8R9Q==","X-Gm-Message-State":"AOAM53199BiCRxjKZGXEzWf8EgvgI4UY9pDb2TZWjhwKERihs97LUoGg\n\tgqaaEVmtvueQAjo3c0pupeO9WmBqeZ3aRH12OsVdy8xE4TyWdQ==","X-Google-Smtp-Source":"ABdhPJzaxFpf2p8GsD/zPhVd8820w8DzVRjttKe7zCVsI+H196J0mnJYlC+ZR0Xp0uvZDf3EBq8qDiJKHWdbXJ+PFsM=","X-Received":"by 2002:a05:6402:524b:: with SMTP id\n\tt11mr28933012edd.327.1623208967307; \n\tTue, 08 Jun 2021 20:22:47 -0700 (PDT)","MIME-Version":"1.0","References":"<20210608212714.9381-1-laurent.pinchart@ideasonboard.com>\n\t<20210609022601.GN156622@pyrite.rasen.tech>","In-Reply-To":"<20210609022601.GN156622@pyrite.rasen.tech>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Wed, 9 Jun 2021 12:22:36 +0900","Message-ID":"<CAO5uPHMYi_1wVtk0Di1GOZcfFtT09h2ZTfMrrESvoYutbMdJ6g@mail.gmail.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000e48b4605c44cc9a1\"","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17490,"web_url":"https://patchwork.libcamera.org/comment/17490/","msgid":"<73ddff85-ec4f-335a-0277-a1e6488b513d@ideasonboard.com>","date":"2021-06-09T03:22:47","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nThank you for the patch.\n\nOn 6/9/21 2:57 AM, Laurent Pinchart wrote:\n> The ipu3_agc.h forward-declares the IPACameraSensorInfo structure, but\n> incorrectly declares it as a class. This causes a compilation error with\n> clang:\n>\n> include/libcamera/ipa/core_ipa_interface.h:24:1: error: 'IPACameraSensorInfo' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]\n> struct IPACameraSensorInfo\n> ^\n> ../../src/ipa/ipu3/ipu3_agc.h:21:1: note: did you mean struct here?\n> class IPACameraSensorInfo;\n> ^~~~~\n> struct\n\n\nI can reproduce this by:\n\n$ CC=clang CXX=clang++ meson --prefix=/usr build-clang\n$ ninja -C build-clang/\n\nI was under the impression that building the patches under cros env \n(that seems to use clang), was good enough for compile test before push. \nI guess not. Apologies for the breakage.\nI'll push this fix soon.\n\n>\n> Fix it.\n>\n> Fixes: 384a53d3cdf7 (\"ipa: ipu3: Calculate line duration from IPACameraSensorInfo\")\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\nTested-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/ipa/ipu3/ipu3_agc.h | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h\n> index 99a582a9fdcf..f3d4055761e6 100644\n> --- a/src/ipa/ipu3/ipu3_agc.h\n> +++ b/src/ipa/ipu3/ipu3_agc.h\n> @@ -18,7 +18,7 @@\n>   \n>   namespace libcamera {\n>   \n> -class IPACameraSensorInfo;\n> +struct IPACameraSensorInfo;\n>   \n>   namespace ipa::ipu3 {\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 8B1A5C320B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Jun 2021 03:22:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4E26D68933;\n\tWed,  9 Jun 2021 05:22:54 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B2EBC6029C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  9 Jun 2021 05:22:53 +0200 (CEST)","from [192.168.0.107] (unknown [103.251.226.98])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 8A33846E;\n\tWed,  9 Jun 2021 05:22:52 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Tj4cO2y0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1623208973;\n\tbh=2SjZF8ps+BRxrCCH2PfzX2URHGE4FsOmp/8sJfbzZzU=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=Tj4cO2y08MNubo2hkwHrGZH/RavSdno/g9CkPfNeiHy6J+HJRhW7S60H9bdY8sQwq\n\tGsR1brIzkor+m673QXR3JEr/K8yzCPKja95mnzC+xySDgg9oPLPkrJHIarpG1c3MuC\n\tesbdso1YtgyWTnPhF6UCnTB0luH2Ox+3BV7qLQFc=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210608212714.9381-1-laurent.pinchart@ideasonboard.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<73ddff85-ec4f-335a-0277-a1e6488b513d@ideasonboard.com>","Date":"Wed, 9 Jun 2021 08:52:47 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20210608212714.9381-1-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Fix struct/class mismatch\n\tin forward declaration","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]