clover: Have compat::string allocate its own memory.

This commit is contained in:
Francisco Jerez
2014-06-21 18:06:07 +02:00
committed by Tom Stellard
parent 9e5beac236
commit d2504ead2f
2 changed files with 7 additions and 5 deletions
@@ -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);
@@ -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 {