On Mon, Dec 7, 2009 at 2:50 PM, SOFIA TAHSEEN <dnk...@motorola.com> wrote:

> Hi Antoine/Joel,
>
> When I try to build using the following make command I get the error as
> below...Have you seen this earlier :
>
> make -r -j3 BUILDTYPE=Release chrome
> (I have a dual core so used -j3)
>
>   CXX(target)
> out/Release/obj.target/common/chrome/common/histogram_synchronizer.o
>   CXX(target)
> out/Release/obj.target/common/chrome/common/important_file_writer.o
>   CXX(target)
> out/Release/obj.target/common/chrome/common/jstemplate_builder.o
>   CXX(target) out/Release/obj.target/common/chrome/common/libxml_utils.o
>   CXX(target) out/Release/obj.target/common/chrome/common/logging_chrome.o
> cc1plus: warnings being treated as errors
> chrome/common/libxml_utils.cc: In static member function 'static void
> XmlReader::GenericErrorCallback(void*, const char*, ...)':
> chrome/common/libxml_utils.cc:38: error: cannot pass objects of non-POD
> type 'struct va_list' through '...'; call will abort at runtime
> make: *** [out/Release/obj.target/common/chrome/common/libxml_utils.o]
> Error 1
> make: *** Waiting for unfinished jobs....
>
>
+chromium-dev

Sofia, I haven't seen that error. Which compiler did you end up using ?
However the code does look suspicious, passing va_list through "...":

void XmlReader::GenericErrorCallback(void* context, const char* msg, ...) {
  va_list args;
  va_start(args, msg);

  XmlReader* reader = static_cast<XmlReader*>(context);
  reader->errors_.append(StringPrintf(msg, args));
}

Chromium C++ experts: Is that supposed to be legal, or even portable ? It
sounds like StringAppendV would be preferable here.

Antoine

-- 
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to