summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2014-06-21 18:06:07 +0200
committerTom Stellard <[email protected]>2014-07-02 15:15:13 -0400
commitd2504ead2f7eb02b6a33545de2cf1b5957306fd6 (patch)
treebc85eb515dd9bb48f3d81878ce2bd5160e1859a0
parent9e5beac236a3c12b4868f61da719726680975570 (diff)
clover: Have compat::string allocate its own memory.
-rw-r--r--src/gallium/state_trackers/clover/api/kernel.cpp4
-rw-r--r--src/gallium/state_trackers/clover/util/compat.hpp8
2 files changed, 7 insertions, 5 deletions
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<typename C>
@@ -263,13 +263,13 @@ namespace clover {
size_t offset;
};
- class string : public vector_ref<const char> {
+ class string : public vector<char> {
public:
- string(const char *p) : vector_ref(p, std::strlen(p)) {
+ string(const char *p) : vector(p, std::strlen(p)) {
}
template<typename C>
- string(const C &v) : vector_ref(v) {
+ string(const C &v) : vector(v) {
}
operator std::string() const {