Fixes for broken Debian build - g++ 4.7 support.
authorTodd Fiala <todd.fiala@gmail.com>
Thu, 10 Jul 2014 04:39:13 +0000 (04:39 +0000)
committerTodd Fiala <todd.fiala@gmail.com>
Thu, 10 Jul 2014 04:39:13 +0000 (04:39 +0000)
commit202ecd26da6abd5d1a90ddef26023fc1048859b7
tree6a6d0f1d8e9208dbc8e1e5b48c6d4f2542c83759
parent7d2ffb549285b814da284cfced222c827bffa90f
Fixes for broken Debian build - g++ 4.7 support.

These fix the broken debian lldb build, which is using g++ 4.7.2.

TypeFormat changes:
1. stopped using the C++11 "dtor = default;" construct.
The generated default destructor in the two derived classes wanted
them to have a different throws() semantic that was causing 4.7 to
fail to generate it.  I switched these to empty destructors defined
in the .cpp file.

2. Switched the m_types map from an ordered map to an unordered_map.
g++ 4.7's c++ library supports the C++11 emplace() used by TypeFormat
but the same c++ library's map impl does not.  Since TypeFormat didn't
look like it depended on ordering in the map, I just switched it to
a std::unordered_map.

NativeProcessLinux - g++ 4.7 chokes on lexing the "<::" in
static_cast<::pid_t>(wpid).  g++ 4.8+ and clang are fine with it.
I just put a space in between the "<" and the "::" and that cleared
it up.

llvm-svn: 212681
lldb/include/lldb/DataFormatters/TypeFormat.h
lldb/source/DataFormatters/TypeFormat.cpp
lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp