Author: ed
Date: Thu Mar 19 04:17:21 2015
New Revision: 232716

URL: http://llvm.org/viewvc/llvm-project?rev=232716&view=rev
Log:
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

Modified:
    libcxxabi/trunk/src/cxa_demangle.cpp

Modified: libcxxabi/trunk/src/cxa_demangle.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=232716&r1=232715&r2=232716&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp (original)
+++ libcxxabi/trunk/src/cxa_demangle.cpp Thu Mar 19 04:17:21 2015
@@ -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);
 }
 


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to