summaryrefslogtreecommitdiff
path: root/src/cxa_demangle.cpp
diff options
context:
space:
mode:
authorEd Schouten <ed@nuxi.nl>2015-03-19 09:17:21 +0000
committerEd Schouten <ed@nuxi.nl>2015-03-19 09:17:21 +0000
commit196cbd71b3ecb7e32149e1495f871be55bb02e24 (patch)
tree0ba9e8a98b38456da529100e1fd56b9895a14362 /src/cxa_demangle.cpp
parent28ca89d06667ab559852b438b2db98e29e475ce6 (diff)
Don't print debugging messages to stdout.
There is some debugging code in cxa_demangle.cpp that prints messages on stdout. In general this is not safe, as the program itself may use stdout to write its output. Change this code to write to stderr. Differential Revision: http://reviews.llvm.org/D8167 git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@232716 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'src/cxa_demangle.cpp')
-rw-r--r--src/cxa_demangle.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/cxa_demangle.cpp b/src/cxa_demangle.cpp
index 1344f43..789d577 100644
--- a/src/cxa_demangle.cpp
+++ b/src/cxa_demangle.cpp
@@ -55,51 +55,51 @@ template <class C>
void
print_stack(const C& db)
{
- printf("---------\n");
- printf("names:\n");
+ fprintf(stderr, "---------\n");
+ fprintf(stderr, "names:\n");
for (auto& s : db.names)
- printf("{%s#%s}\n", s.first.c_str(), s.second.c_str());
+ fprintf(stderr, "{%s#%s}\n", s.first.c_str(), s.second.c_str());
int i = -1;
- printf("subs:\n");
+ fprintf(stderr, "subs:\n");
for (auto& v : db.subs)
{
if (i >= 0)
- printf("S%i_ = {", i);
+ fprintf(stderr, "S%i_ = {", i);
else
- printf("S_ = {");
+ fprintf(stderr, "S_ = {");
for (auto& s : v)
- printf("{%s#%s}", s.first.c_str(), s.second.c_str());
- printf("}\n");
+ fprintf(stderr, "{%s#%s}", s.first.c_str(), s.second.c_str());
+ fprintf(stderr, "}\n");
++i;
}
- printf("template_param:\n");
+ fprintf(stderr, "template_param:\n");
for (auto& t : db.template_param)
{
- printf("--\n");
+ fprintf(stderr, "--\n");
i = -1;
for (auto& v : t)
{
if (i >= 0)
- printf("T%i_ = {", i);
+ fprintf(stderr, "T%i_ = {", i);
else
- printf("T_ = {");
+ fprintf(stderr, "T_ = {");
for (auto& s : v)
- printf("{%s#%s}", s.first.c_str(), s.second.c_str());
- printf("}\n");
+ fprintf(stderr, "{%s#%s}", s.first.c_str(), s.second.c_str());
+ fprintf(stderr, "}\n");
++i;
}
}
- printf("---------\n\n");
+ fprintf(stderr, "---------\n\n");
}
template <class C>
void
print_state(const char* msg, const char* first, const char* last, const C& db)
{
- printf("%s: ", msg);
+ fprintf(stderr, "%s: ", msg);
for (; first != last; ++first)
- printf("%c", *first);
- printf("\n");
+ fprintf(stderr, "%c", *first);
+ fprintf(stderr, "\n");
print_stack(db);
}