Fix the build with libstdc++ v4.6 on Linux by supplying an explicit move
assignment operator. There is an issue where classes with deleted copy
constructors and user defined move constructors end up with an
implicitly deleted copy constructor that is selected instead of the
implicit move constructor. This is a bit of a hack, but it allows me to
build LLD in a bootstrap with libstdc++ which is my primary goal.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@172896 91177308-0d34-0410-b5e6-96231b3b80d8
Allow the LLD CMake build to work with -std=gnu++0x and -std=gnu++11 as
well as c++0x and c++11. This can be especially useful when building
with GCC in C++11 mode.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@172897 91177308-0d34-0410-b5e6-96231b3b80d8
Replace the 'final' keyword with 'LLVM_FINAL' as GCC 4.6 doesn't support
the keyword.

If anyone cares deeply about the final optimizations with GCC, we might
want to add a version test to the LLVM definition, but I'm perfectly
happy with this just only firing under Clang and modern MSVC builds.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@172898 91177308-0d34-0410-b5e6-96231b3b80d8
[docs] Document lld's usage of C++11 features.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@172972 91177308-0d34-0410-b5e6-96231b3b80d8
[Core] Use LLVM's ErrorOr<T>.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@172993 91177308-0d34-0410-b5e6-96231b3b80d8
no functionality changes(split WriterELF into multiple files)

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@173082 91177308-0d34-0410-b5e6-96231b3b80d8
Add {,ELF,MachO}TargetInfo.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@173117 91177308-0d34-0410-b5e6-96231b3b80d8
it looks like g++ 4.7.2 doesnot like bit fields when the type is a enumeration (Throws an error as bit-field with non integral type)

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@173125 91177308-0d34-0410-b5e6-96231b3b80d8
Use TargetInfo...