From c19393c758e0e7d24fa39ef00c8a6a7beeb731ad Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Tue, 10 Mar 2015 07:57:43 +0000 Subject: [PATCH] Print log/error messages on stderr, not stdout There are a couple of places where libc++ prints log/error messages to stdout on its own. This may of course interfere with the output generated with applications. Log/error messages should be directed to stderr instead. Differential Revision: http://reviews.llvm.org/D8135 Reviewed by: marshall llvm-svn: 231767 --- libcxx/include/__debug | 2 +- libcxx/src/exception.cpp | 16 ++++++++-------- libcxx/src/string.cpp | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libcxx/include/__debug b/libcxx/include/__debug index c151224..a21f9a8 100644 --- a/libcxx/include/__debug +++ b/libcxx/include/__debug @@ -22,7 +22,7 @@ # include # include # ifndef _LIBCPP_ASSERT -# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort())) +# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::fprintf(stderr, "%s\n", m), _VSTD::abort())) # endif #endif diff --git a/libcxx/src/exception.cpp b/libcxx/src/exception.cpp index b5c46c0..07983ce 100644 --- a/libcxx/src/exception.cpp +++ b/libcxx/src/exception.cpp @@ -90,14 +90,14 @@ terminate() _NOEXCEPT #endif // _LIBCPP_NO_EXCEPTIONS (*get_terminate())(); // handler should not return - printf("terminate_handler unexpectedly returned\n"); + fprintf(stderr, "terminate_handler unexpectedly returned\n"); ::abort(); #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) { // handler should not throw exception - printf("terminate_handler unexpectedly threw an exception\n"); + fprintf(stderr, "terminate_handler unexpectedly threw an exception\n"); ::abort(); } #endif // _LIBCPP_NO_EXCEPTIONS @@ -117,7 +117,7 @@ bool uncaught_exception() _NOEXCEPT # else # warning uncaught_exception not yet implemented # endif - printf("uncaught_exception not yet implemented\n"); + fprintf(stderr, "uncaught_exception not yet implemented\n"); ::abort(); #endif // __APPLE__ } @@ -190,7 +190,7 @@ exception_ptr::~exception_ptr() _NOEXCEPT # else # warning exception_ptr not yet implemented # endif - printf("exception_ptr not yet implemented\n"); + fprintf(stderr, "exception_ptr not yet implemented\n"); ::abort(); #endif } @@ -209,7 +209,7 @@ exception_ptr::exception_ptr(const exception_ptr& other) _NOEXCEPT # else # warning exception_ptr not yet implemented # endif - printf("exception_ptr not yet implemented\n"); + fprintf(stderr, "exception_ptr not yet implemented\n"); ::abort(); #endif } @@ -234,7 +234,7 @@ exception_ptr& exception_ptr::operator=(const exception_ptr& other) _NOEXCEPT # else # warning exception_ptr not yet implemented # endif - printf("exception_ptr not yet implemented\n"); + fprintf(stderr, "exception_ptr not yet implemented\n"); ::abort(); #endif } @@ -278,7 +278,7 @@ exception_ptr current_exception() _NOEXCEPT # else # warning exception_ptr not yet implemented # endif - printf("exception_ptr not yet implemented\n"); + fprintf(stderr, "exception_ptr not yet implemented\n"); ::abort(); #endif } @@ -300,7 +300,7 @@ void rethrow_exception(exception_ptr p) # else # warning exception_ptr not yet implemented # endif - printf("exception_ptr not yet implemented\n"); + fprintf(stderr, "exception_ptr not yet implemented\n"); ::abort(); #endif } diff --git a/libcxx/src/string.cpp b/libcxx/src/string.cpp index febc532..d3f29df 100644 --- a/libcxx/src/string.cpp +++ b/libcxx/src/string.cpp @@ -39,7 +39,7 @@ void throw_helper( const string& msg ) #ifndef _LIBCPP_NO_EXCEPTIONS throw T( msg ); #else - printf("%s\n", msg.c_str()); + fprintf(stderr, "%s\n", msg.c_str()); abort(); #endif } -- 2.7.4