dbus-c++: Rename to_string to make_string to build with libc++.
Source files have an using namespace std;
So the to_string function conflicts with std::to_string function.
Rename it to make_string to avoid compilation errors with libc++.
generate_stubs.cpp:90:17: error: call to 'to_string' is ambiguous
("argin" + to_string(i)) : legalize(arg_name);
^~~~~~~~~
/usr/bin/../include/c++/v1/string:3881:25: note: candidate function
_LIBCPP_FUNC_VIS string to_string(unsigned __val);
^
./generator_utils.h:38:13: note: candidate function
std::string to_string(unsigned int v);
BUG=chromium:747030
TEST=sudo emerge dbus-c++ works with libc++ enabled.
Change-Id: I09a058b9bc83c70b4caab9a57ee2d74ff02ba320
Reviewed-on: https://chromium-review.googlesource.com/580330
Commit-Ready: Manoj Gupta <[email protected]>
Tested-by: Manoj Gupta <[email protected]>
Reviewed-by: Ben Chan <[email protected]>
Reviewed-by: Mike Frysinger <[email protected]>
diff --git a/tools/generate_stubs.cpp b/tools/generate_stubs.cpp
index 229e19a..52d6e4a 100644
--- a/tools/generate_stubs.cpp
+++ b/tools/generate_stubs.cpp
@@ -87,7 +87,7 @@
string arg_decl = "const " + arg_type + "& ";
string arg_name = arg.get("name");
arg_name = arg_name.empty() ?
- ("argin" + to_string(i)) : legalize(arg_name);
+ ("argin" + make_string(i)) : legalize(arg_name);
arg_decl += arg_name;
for (m = 0; m < 2; m++)
{
@@ -161,7 +161,7 @@
Xml::Node &arg = **ao;
string arg_name = arg.get("name");
arg_name = arg_name.empty() ?
- ("__argout" + to_string(i)) : legalize(arg_name);
+ ("__argout" + make_string(i)) : legalize(arg_name);
string arg_sig = signature_to_type(arg.get("type"));
string arg_decl = arg_sig + "& " + arg_name;
for (m = 0; m < 2; m++)
@@ -327,7 +327,7 @@
string const_arg_decl = "const " + arg_decl + "&";
string arg_name = arg.get("name");
arg_name = arg_name.empty() ?
- ("argin" + to_string(i)) : legalize(arg_name);
+ ("argin" + make_string(i)) : legalize(arg_name);
arg_decl += arg_name;
const_arg_decl += arg_name;
arg_dict->SetValue("SIGNAL_ARG_NAME", arg_name);
diff --git a/tools/generator_utils.cpp b/tools/generator_utils.cpp
index 1a7f0cb..c27b3a4 100644
--- a/tools/generator_utils.cpp
+++ b/tools/generator_utils.cpp
@@ -197,7 +197,7 @@
}
// Remove this function when switching to C++11.
-string to_string(unsigned int v) {
+string make_string(unsigned int v) {
char buffer[16];
snprintf(buffer, sizeof(buffer), "%u", v);
return buffer; // Converted to string here.
diff --git a/tools/generator_utils.h b/tools/generator_utils.h
index 5d63b4b..c92a798 100644
--- a/tools/generator_utils.h
+++ b/tools/generator_utils.h
@@ -35,6 +35,6 @@
void _parse_signature(const std::string &signature, std::string &type, unsigned int &i);
void underscorize(std::string &str);
std::string legalize(const std::string &str);
-std::string to_string(unsigned int v);
+std::string make_string(unsigned int v);
#endif//__DBUSXX_TOOLS_GENERATOR_UTILS_H