Fixed pointer vs. va_list overloading problem occuring in gcc 3.3 (used for ARM build).
authormikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 15 Jun 2009 15:49:03 +0000 (15:49 +0000)
committermikhail.naganov@gmail.com <mikhail.naganov@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 15 Jun 2009 15:49:03 +0000 (15:49 +0000)
It seems that when calling a method that has two overloaded versions like this:
  f(char* format, ...)
  f(char* format, va_list args)
with a second pointer argument: f("format", pointer), the second version is picked up.

I've found a description of a similar issue here: http://bugs.gentoo.org/63112

So, to resolve this ambiguity, I've named such LogMessageBuilder's Append functions differently.

Review URL: http://codereview.chromium.org/125125

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/log-utils.cc
src/log-utils.h
src/log.cc

index b3b3192b2fb26ed5d82d13b0714ba04e58e773d3..028eb3a015b1ce782304442df652839156e68ee5 100644 (file)
@@ -215,13 +215,13 @@ void LogMessageBuilder::Append(const char* format, ...) {
                    Log::kMessageBufferSize - pos_);
   va_list args;
   va_start(args, format);
-  Append(format, args);
+  AppendVA(format, args);
   va_end(args);
   ASSERT(pos_ <= Log::kMessageBufferSize);
 }
 
 
-void LogMessageBuilder::Append(const char* format, va_list args) {
+void LogMessageBuilder::AppendVA(const char* format, va_list args) {
   Vector<char> buf(Log::message_buffer_ + pos_,
                    Log::kMessageBufferSize - pos_);
   int result = v8::internal::OS::VSNPrintF(buf, format, args);
index fe6f01cac65d194310583cf03327c7c5b77f6823..ad669d53d76360bbf63874334734fb8149bf5d97 100644 (file)
@@ -230,7 +230,7 @@ class LogMessageBuilder BASE_EMBEDDED {
   void Append(const char* format, ...);
 
   // Append string data to the log message.
-  void Append(const char* format, va_list args);
+  void AppendVA(const char* format, va_list args);
 
   // Append a character to the log message.
   void Append(const char c);
index aae030a3aa31287806826224af25441e5dddc7fa..af49128eaa1c6eeb905ba33e0231ee88649d7fc8 100644 (file)
@@ -402,7 +402,7 @@ void Logger::ApiEvent(const char* format, ...) {
   LogMessageBuilder msg;
   va_list ap;
   va_start(ap, format);
-  msg.Append(format, ap);
+  msg.AppendVA(format, ap);
   va_end(ap);
   msg.WriteToLogFile();
 }