From patchwork Fri Mar 27 19:34:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 3358 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id EA02D6040E for ; Fri, 27 Mar 2020 20:34:31 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="oy0JxLnV"; dkim-atps=neutral Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 6214D2DC for ; Fri, 27 Mar 2020 20:34:31 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1585337671; bh=gqlHX4f4jN3DTsXairSGdky7P+yMX5cQtZSHWy6IaVs=; h=From:To:Subject:Date:From; b=oy0JxLnVGKW5l/o9T2JeMVL9YpKg3i02OVvvuBoNlVzJpgp0i2gH5RIVv+Fk/YjyD QCdF+9ieCJxQyH3TiZomVar7LBB4OKFFiIQqx+90stsEpXxZlWNQhkiDFdK/Opyw/V Q4D5tdT6NKigtaR2CaJ/Skwqv8EnXv/lH7jvrLN8= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Date: Fri, 27 Mar 2020 21:34:24 +0200 Message-Id: <20200327193424.13221-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH] libcamera: pipeline: ipu3: Fix compilation on gcc 5 and 6 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Mar 2020 19:34:32 -0000 Commit 5e7c5d64a67f ("libcamera: ipu3: Do not unconditionally queue buffers to CIO2") introduced usage of the std::queue default constructor by using copy-list-initialization from {}. The default constructor was explicit in C++11, which was fixed retroactively with a defect report (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0935r0.html). gcc 5 and 6 are unfortunately affected, requiring explicit usage of the constructor. Fixes: 5e7c5d64a67f ("libcamera: ipu3: Do not unconditionally queue buffers to CIO2") Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/pipeline/ipu3/ipu3.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index b490a801a9c4..1e114ca7ed10 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -1532,7 +1532,8 @@ int CIO2Device::allocateBuffers() void CIO2Device::freeBuffers() { - availableBuffers_ = {}; + /* The default std::queue constructor is explicit with gcc 5 and 6. */ + availableBuffers_ = std::queue{}; buffers_.clear();