From: Francisco Jerez Date: Sat, 21 Jun 2014 16:06:07 +0000 (+0200) Subject: clover: Have compat::string allocate its own memory. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d2504ead2f7eb02b6a33545de2cf1b5957306fd6;p=mesa.git clover: Have compat::string allocate its own memory. --- diff --git a/src/gallium/state_trackers/clover/api/kernel.cpp b/src/gallium/state_trackers/clover/api/kernel.cpp index 96cf302b161..05cc392a914 100644 --- a/src/gallium/state_trackers/clover/api/kernel.cpp +++ b/src/gallium/state_trackers/clover/api/kernel.cpp @@ -58,7 +58,9 @@ clCreateKernelsInProgram(cl_program d_prog, cl_uint count, if (rd_kerns) copy(map([&](const module::symbol &sym) { - return desc(new kernel(prog, compat::string(sym.name), + return desc(new kernel(prog, + std::string(sym.name.begin(), + sym.name.end()), range(sym.args))); }, syms), rd_kerns); diff --git a/src/gallium/state_trackers/clover/util/compat.hpp b/src/gallium/state_trackers/clover/util/compat.hpp index e68d9df2969..28601e878e8 100644 --- a/src/gallium/state_trackers/clover/util/compat.hpp +++ b/src/gallium/state_trackers/clover/util/compat.hpp @@ -72,7 +72,7 @@ namespace clover { vector(const vector &v) : p(alloc(v.n, v.p, v.n)), n(v.n) { } - vector(iterator p, size_type n) : p(alloc(n, p, n)), n(n) { + vector(const_iterator p, size_type n) : p(alloc(n, p, n)), n(n) { } template @@ -263,13 +263,13 @@ namespace clover { size_t offset; }; - class string : public vector_ref { + class string : public vector { public: - string(const char *p) : vector_ref(p, std::strlen(p)) { + string(const char *p) : vector(p, std::strlen(p)) { } template - string(const C &v) : vector_ref(v) { + string(const C &v) : vector(v) { } operator std::string() const {