From 851149fcc6bce5dcd8ca04d97f1ae1f64290f0e1 Mon Sep 17 00:00:00 2001 From: James Brodman Date: Fri, 28 Feb 2020 12:48:27 -0500 Subject: [PATCH] Make context constructors explicit to avoid unintended conversions Signed-off-by: James Brodman --- sycl/include/CL/sycl/context.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sycl/include/CL/sycl/context.hpp b/sycl/include/CL/sycl/context.hpp index 926bb22aebfdd..f640bd2f53e23 100644 --- a/sycl/include/CL/sycl/context.hpp +++ b/sycl/include/CL/sycl/context.hpp @@ -49,8 +49,8 @@ class context { /// @param AsyncHandler is an instance of async_handler. /// @param UseCUDAPrimaryContext is a bool determining whether to use the /// primary context in the CUDA backend. - context(const device &Device, async_handler AsyncHandler = {}, - bool UseCUDAPrimaryContext = false); + explicit context(const device &Device, async_handler AsyncHandler = {}, + bool UseCUDAPrimaryContext = false); /// Constructs a SYCL context instance using the provided platform. /// @@ -63,8 +63,8 @@ class context { /// @param AsyncHandler is an instance of async_handler. /// @param UseCUDAPrimaryContext is a bool determining whether to use the /// primary context in the CUDA backend. - context(const platform &Platform, async_handler AsyncHandler = {}, - bool UseCUDAPrimaryContext = false); + explicit context(const platform &Platform, async_handler AsyncHandler = {}, + bool UseCUDAPrimaryContext = false); /// Constructs a SYCL context instance using list of devices. /// @@ -78,8 +78,9 @@ class context { /// @param AsyncHandler is an instance of async_handler. /// @param UseCUDAPrimaryContext is a bool determining whether to use the /// primary context in the CUDA backend. - context(const vector_class &DeviceList, - async_handler AsyncHandler = {}, bool UseCUDAPrimaryContext = false); + explicit context(const vector_class &DeviceList, + async_handler AsyncHandler = {}, + bool UseCUDAPrimaryContext = false); /// Constructs a SYCL context instance from OpenCL cl_context. ///