Clang still pretends as GCC 4.2.1 even with libc++ or newer libstdc++.
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:197:28: error:
reference to 'adopt_lock_t' is ambiguous
lock_guard(mutex_type& m, adopt_lock_t)
^
Common/StdMutex.h:183:6: note:
candidate found by name lookup is 'std::adopt_lock_t'
enum adopt_lock_t { adopt_lock };
^
/usr/include/c++/v1/__mutex_base:55:25: note: candidate found by name lookup is
'std::__1::adopt_lock_t'
struct _LIBCPP_TYPE_VIS adopt_lock_t {};
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:230:29: error:
reference to 'defer_lock_t' is ambiguous
unique_lock(mutex_type& m, defer_lock_t)
^
Common/StdMutex.h:181:6: note:
candidate found by name lookup is 'std::defer_lock_t'
enum defer_lock_t { defer_lock };
^
/usr/include/c++/v1/__mutex_base:53:25: note: candidate found by name lookup is
'std::__1::defer_lock_t'
struct _LIBCPP_TYPE_VIS defer_lock_t {};
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:234:29: error:
reference to 'try_to_lock_t' is ambiguous
unique_lock(mutex_type& m, try_to_lock_t)
^
Common/StdMutex.h:182:6: note:
candidate found by name lookup is 'std::try_to_lock_t'
enum try_to_lock_t { try_to_lock };
^
/usr/include/c++/v1/__mutex_base:54:25: note: candidate found by name lookup is
'std::__1::try_to_lock_t'
struct _LIBCPP_TYPE_VIS try_to_lock_t {};
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:238:29: error:
reference to 'adopt_lock_t' is ambiguous
unique_lock(mutex_type& m, adopt_lock_t)
^
Common/StdMutex.h:183:6: note:
candidate found by name lookup is 'std::adopt_lock_t'
enum adopt_lock_t { adopt_lock };
^
/usr/include/c++/v1/__mutex_base:55:25: note: candidate found by name lookup is
'std::__1::adopt_lock_t'
struct _LIBCPP_TYPE_VIS adopt_lock_t {};
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:6: warning:
variable templates are a C++14 extension [-Wc++14-extensions]
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:345:6: error:
variable has incomplete type 'void'
Common/StdMutex.h:345:11: error:
reference to 'unique_lock' is ambiguous
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:215:7: note:
candidate found by name lookup is 'std::unique_lock'
class unique_lock
^
/usr/include/c++/v1/__mutex_base:96:29: note: candidate found by name lookup is
'std::__1::unique_lock'
class _LIBCPP_TYPE_VIS_ONLY unique_lock
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:23: error:
'Mutex' does not refer to a value
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:344:17: note:
declared here
template <class Mutex>
^
Common/StdMutex.h:345:31: error:
use of undeclared identifier 'x'
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:345:34: error:
reference to 'unique_lock' is ambiguous
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:215:7: note:
candidate found by name lookup is 'std::unique_lock'
class unique_lock
^
/usr/include/c++/v1/__mutex_base:96:29: note: candidate found by name lookup is
'std::__1::unique_lock'
class _LIBCPP_TYPE_VIS_ONLY unique_lock
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
In file included from Common/LogManager.h:26:
Common/StdMutex.h:345:46: error:
'Mutex' does not refer to a value
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:344:17: note:
declared here
template <class Mutex>
^
Common/StdMutex.h:345:54: error:
use of undeclared identifier 'y'
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
Common/StdMutex.h:345:56: error:
expected ';' at end of declaration
void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y)
^
;
Common/StdMutex.h:346:1: error:
expected unqualified-id
{
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:54:7: error:
reference to 'mutex' is ambiguous
std::mutex m_log_lock;
^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
^
Common/StdMutex.h:107:7: note:
candidate found by name lookup is 'std::mutex'
class mutex
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:116:7: error:
reference to 'mutex' is ambiguous
std::mutex m_listeners_lock;
^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
^
Common/StdMutex.h:107:7: note:
candidate found by name lookup is 'std::mutex'
class mutex
^
In file included from Common/ConsoleListener.cpp:33:
In file included from Common/ConsoleListener.h:20:
Common/LogManager.h:131:7: error:
reference to 'mutex' is ambiguous
std::mutex log_lock_;
^
/usr/include/c++/v1/__mutex_base:27:24: note: candidate found by name lookup is
'std::__1::mutex'
class _LIBCPP_TYPE_VIS mutex
^
Common/StdMutex.h:107:7: note:
candidate found by name lookup is 'std::mutex'
class mutex
^
1 warning and 16 errors generated.
New UNUSABLE_MMAP code path for platforms that cannot use the required flags (Xbox 360, Symbian). Falls back to malloc() instead.
N1 define for compilers (GCCE) that don't like to assume (int)-1 will safely cast to (char)-1.
Miscellaneous space->tab fixes.