-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18307/
-----------------------------------------------------------

(Updated Feb. 21, 2014, 1:03 a.m.)


Review request for mesos.


Changes
-------

Fixed typo.


Repository: mesos-git


Description
-------

Fix for MESOS-1009 plus fixes for all subsequent compile errors that were 
masked by the first one reported in MESOS-1009. Result: Mesos compiles on 
Ubuntu 13.10 with Clang 3.5. Original problem was a coding mistake in the glog 
library from Google. Appended diff to the glog lib patch file already in Mesos.

The additional errors found and fixed are:

../../3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp:730:18: error: 
'va_start' has undefined behavior with
      reference types [-Werror,-Wvarargs]
  va_start(args, fmt);
                 ^
/root/clang/build/Release/bin/../lib/clang/3.5/include/stdarg.h:33:52: note: 
expanded from macro 'va_start'
#define va_start(ap, param) __builtin_va_start(ap, param)
                                                   ^
../../3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp:727:60: note: 
parameter of type 'const std::string &'
      (aka 'const basic_string<char> &') is declared here
inline Try<int> shell(std::ostream* os, const std::string& fmt, ...)


——

../../3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp:402:18: 
error: 'va_start' has undefined behavior with
      reference types [-Werror,-Wvarargs]
  va_start(args, fmt);
                 ^
/root/clang/build/Release/bin/../lib/clang/3.5/include/stdarg.h:33:52: note: 
expanded from macro 'va_start'
#define va_start(ap, param) __builtin_va_start(ap, param)
                                                   ^
../../3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp:399:51: note: 
parameter of type 'const std::string &'
      (aka 'const basic_string<char> &') is declared here
inline Try<std::string> format(const std::string& fmt, ...)


——

../../src/messages/state.hpp:19:9: error: '__MESSAGE_STATE_HPP__' is used as a 
header guard here, followed by #define
      of a different macro [-Werror,-Wheader-guard]
#ifndef __MESSAGE_STATE_HPP__
        ^~~~~~~~~~~~~~~~~~~~~
../../src/messages/state.hpp:20:9: note: '__MESSAGES_STATE_HPP__' is defined 
here; did you mean
      '__MESSAGE_STATE_HPP__'?
#define __MESSAGES_STATE_HPP__
        ^~~~~~~~~~~~~~~~~~~~~~
        __MESSAGE_STATE_HPP__


——


In file included from ../../src/java/jni/convert.cpp:32:
../../src/jvm/jvm.hpp:473:18: error: 'va_start' has undefined behavior with 
reference types [-Werror,-Wvarargs]
  va_start(args, method);
                 ^
/root/clang/build/Release/bin/../lib/clang/3.5/include/stdarg.h:33:52: note: 
expanded from macro 'va_start'
#define va_start(ap, param) __builtin_va_start(ap, param)
                                                   ^
../../src/jvm/jvm.hpp:470:53: note: parameter of type 'const Jvm::Method &' is 
declared here
T Jvm::invoke(const jobject receiver, const Method& method, ...)
                                                    ^
../../src/jvm/jvm.hpp:488:18: error: 'va_start' has undefined behavior with 
reference types [-Werror,-Wvarargs]
  va_start(args, method);
                 ^
/root/clang/build/Release/bin/../lib/clang/3.5/include/stdarg.h:33:52: note: 
expanded from macro 'va_start'
#define va_start(ap, param) __builtin_va_start(ap, param)
                                                   ^
../../src/jvm/jvm.hpp:485:35: note: parameter of type 'const Jvm::Method &' is 
declared here
T Jvm::invokeStatic(const Method& method, ...)
                                  ^


Diffs (updated)
-----

  3rdparty/libprocess/3rdparty/glog-0.3.3.patch 974f9f5 
  3rdparty/libprocess/3rdparty/stout/include/stout/format.hpp 3eadaef 
  3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp bba6f43 
  src/jvm/jvm.hpp b4dff78 
  src/jvm/jvm.cpp 6eb3a34 
  src/messages/state.hpp 6245499 

Diff: https://reviews.apache.org/r/18307/diff/


Testing
-------

make succeeded on Ubuntu 13.10 with Clang 3.5 and on Mac OS X 10.9 with Clang 
3.2. "make check" OK on Mac, small problem may remain on Ubuntu, suspect 
unrelated issue. C test framework OK on Mac, but not on Ubuntu: all tasks end 
up in state 5. Suspect an unrelated issue here. Java test framework runs on 
both platforms.


Thanks,

Bernd Mathiske

Reply via email to