[Mesa-dev] [PATCH 2/4] clover: remove compat::string
EdB
edb+mesa at sigluy.net
Fri Apr 24 03:59:55 PDT 2015
---
src/gallium/state_trackers/clover/api/program.cpp | 2 +-
.../state_trackers/clover/core/compiler.hpp | 14 +--
src/gallium/state_trackers/clover/core/error.hpp | 4 +-
src/gallium/state_trackers/clover/core/program.cpp | 2 +-
.../state_trackers/clover/llvm/invocation.cpp | 22 ++---
.../state_trackers/clover/tgsi/compiler.cpp | 7 +-
src/gallium/state_trackers/clover/util/compat.hpp | 104 ---------------------
7 files changed, 26 insertions(+), 129 deletions(-)
diff --git a/src/gallium/state_trackers/clover/api/program.cpp b/src/gallium/state_trackers/clover/api/program.cpp
index c985690..b3be2b8 100644
--- a/src/gallium/state_trackers/clover/api/program.cpp
+++ b/src/gallium/state_trackers/clover/api/program.cpp
@@ -216,7 +216,7 @@ clCompileProgram(cl_program d_prog, cl_uint num_devs,
throw error(CL_INVALID_OPERATION);
if (!any_of(key_equals(name), headers))
- headers.push_back(std::pair<compat::string, compat::string>(
+ headers.push_back(std::pair<std::string, std::string>(
name, header.source()));
},
range(header_names, num_headers),
diff --git a/src/gallium/state_trackers/clover/core/compiler.hpp b/src/gallium/state_trackers/clover/core/compiler.hpp
index bec8aac..62c0f47 100644
--- a/src/gallium/state_trackers/clover/core/compiler.hpp
+++ b/src/gallium/state_trackers/clover/core/compiler.hpp
@@ -29,17 +29,17 @@
#include "pipe/p_defines.h"
namespace clover {
- typedef compat::vector<std::pair<compat::string,
- compat::string> > header_map;
+ typedef compat::vector<std::pair<std::string,
+ std::string> > header_map;
- module compile_program_llvm(const compat::string &source,
+ module compile_program_llvm(const std::string &source,
const header_map &headers,
pipe_shader_ir ir,
- const compat::string &target,
- const compat::string &opts,
- compat::string &r_log);
+ const std::string &target,
+ const std::string &opts,
+ std::string &r_log);
- module compile_program_tgsi(const compat::string &source);
+ module compile_program_tgsi(const std::string &source);
}
#endif
diff --git a/src/gallium/state_trackers/clover/core/error.hpp b/src/gallium/state_trackers/clover/core/error.hpp
index 45a38c1..805a0ec 100644
--- a/src/gallium/state_trackers/clover/core/error.hpp
+++ b/src/gallium/state_trackers/clover/core/error.hpp
@@ -54,7 +54,7 @@ namespace clover {
///
class error : public std::runtime_error {
public:
- error(cl_int code, compat::string what = "") :
+ error(cl_int code, std::string what = "") :
std::runtime_error(what), code(code) {
}
@@ -68,7 +68,7 @@ namespace clover {
class build_error : public error {
public:
- build_error(const compat::string &what = "") :
+ build_error(const std::string &what = "") :
error(CL_COMPILE_PROGRAM_FAILURE, what) {
}
};
diff --git a/src/gallium/state_trackers/clover/core/program.cpp b/src/gallium/state_trackers/clover/core/program.cpp
index c07548c..50ac01b 100644
--- a/src/gallium/state_trackers/clover/core/program.cpp
+++ b/src/gallium/state_trackers/clover/core/program.cpp
@@ -52,7 +52,7 @@ program::build(const ref_vector<device> &devs, const char *opts,
_opts.insert({ &dev, opts });
- compat::string log;
+ std::string log;
try {
auto module = (dev.ir_format() == PIPE_SHADER_IR_TGSI ?
diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
index e07d95b..2157909 100644
--- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
+++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
@@ -136,7 +136,7 @@ namespace {
const std::string &name, const std::string &triple,
const std::string &processor, const std::string &opts,
clang::LangAS::Map& address_spaces, unsigned &optimization_level,
- compat::string &r_log) {
+ std::string &r_log) {
clang::CompilerInstance c;
clang::EmitLLVMOnlyAction act(&llvm_ctx);
@@ -470,7 +470,7 @@ namespace {
emit_code(LLVMTargetMachineRef tm, LLVMModuleRef mod,
LLVMCodeGenFileType file_type,
LLVMMemoryBufferRef *out_buffer,
- compat::string &r_log) {
+ std::string &r_log) {
LLVMBool err;
char *err_message = NULL;
@@ -491,7 +491,7 @@ namespace {
std::vector<char>
compile_native(const llvm::Module *mod, const std::string &triple,
const std::string &processor, unsigned dump_asm,
- compat::string &r_log) {
+ std::string &r_log) {
std::string log;
LLVMTargetRef target;
@@ -545,7 +545,7 @@ namespace {
std::map<std::string, unsigned>
get_kernel_offsets(std::vector<char> &code,
const std::vector<llvm::Function *> &kernels,
- compat::string &r_log) {
+ std::string &r_log) {
// One of the libelf implementations
// (http://www.mr511.de/software/english.htm) requires calling
@@ -611,7 +611,7 @@ namespace {
const llvm::Module *mod,
const std::vector<llvm::Function *> &kernels,
const clang::LangAS::Map &address_spaces,
- compat::string &r_log) {
+ std::string &r_log) {
std::map<std::string, unsigned> kernel_offsets =
get_kernel_offsets(code, kernels, r_log);
@@ -641,12 +641,12 @@ namespace {
void
diagnostic_handler(const llvm::DiagnosticInfo &di, void *data) {
if (di.getSeverity() == llvm::DS_Error) {
- std::string message = *(compat::string*)data;
+ std::string message = *(std::string*)data;
llvm::raw_string_ostream stream(message);
llvm::DiagnosticPrinterRawOStream dp(stream);
di.print(dp);
stream.flush();
- *(compat::string*)data = message;
+ *(std::string*)data = message;
throw build_error();
}
@@ -686,12 +686,12 @@ namespace {
} // End anonymous namespace
module
-clover::compile_program_llvm(const compat::string &source,
+clover::compile_program_llvm(const std::string &source,
const header_map &headers,
enum pipe_shader_ir ir,
- const compat::string &target,
- const compat::string &opts,
- compat::string &r_log) {
+ const std::string &target,
+ const std::string &opts,
+ std::string &r_log) {
init_targets();
diff --git a/src/gallium/state_trackers/clover/tgsi/compiler.cpp b/src/gallium/state_trackers/clover/tgsi/compiler.cpp
index 93dfeb5..9e959f7 100644
--- a/src/gallium/state_trackers/clover/tgsi/compiler.cpp
+++ b/src/gallium/state_trackers/clover/tgsi/compiler.cpp
@@ -88,11 +88,12 @@ namespace {
}
module
-clover::compile_program_tgsi(const compat::string &source) {
- const char *body = source.find("COMP\n");
+clover::compile_program_tgsi(const std::string &source) {
+ const size_t body_pos = source.find("COMP\n");
+ const char *body = &source[body_pos];
module m;
- read_header({ source.begin(), body }, m);
+ read_header({ source.begin(), source.begin() + body_pos }, m);
read_body(body, m);
return m;
diff --git a/src/gallium/state_trackers/clover/util/compat.hpp b/src/gallium/state_trackers/clover/util/compat.hpp
index ea7d3a0..dc06334 100644
--- a/src/gallium/state_trackers/clover/util/compat.hpp
+++ b/src/gallium/state_trackers/clover/util/compat.hpp
@@ -307,110 +307,6 @@ namespace clover {
size_t offset;
};
- class string {
- public:
- typedef char *iterator;
- typedef const char *const_iterator;
- typedef char value_type;
- typedef char &reference;
- typedef const char &const_reference;
- typedef std::ptrdiff_t difference_type;
- typedef std::size_t size_type;
-
- string() : v() {
- }
-
- string(const char *p) : v(p, std::strlen(p)) {
- }
-
- template<typename C>
- string(const C &v) : v(v) {
- }
-
- operator std::string() const {
- return std::string(v.begin(), v.end());
- }
-
- bool
- operator==(const string &s) const {
- return this->v == s.v;
- }
-
- void
- reserve(size_type n) {
- v.reserve(n);
- }
-
- void
- resize(size_type n, char x = char()) {
- v.resize(n, x);
- }
-
- void
- push_back(char x) {
- v.push_back(x);
- }
-
- size_type
- size() const {
- return v.size();
- }
-
- size_type
- capacity() const {
- return v.capacity();
- }
-
- iterator
- begin() {
- return v.begin();
- }
-
- const_iterator
- begin() const {
- return v.begin();
- }
-
- iterator
- end() {
- return v.end();
- }
-
- const_iterator
- end() const {
- return v.end();
- }
-
- reference
- operator[](size_type i) {
- return v[i];
- }
-
- const_reference
- operator[](size_type i) const {
- return v[i];
- }
-
- const char *
- c_str() const {
- v.reserve(size() + 1);
- *v.end() = 0;
- return v.begin();
- }
-
- const char *
- find(const string &s) const {
- for (size_t i = 0; i + s.size() < size(); ++i) {
- if (!std::memcmp(begin() + i, s.begin(), s.size()))
- return begin() + i;
- }
-
- return end();
- }
-
- private:
- mutable vector<char> v;
- };
}
}
--
2.3.6
More information about the mesa-dev
mailing list