Let Dyninst itself be compiled with Clang on Linux
authorJosh Stone <jistone@redhat.com>
Tue, 19 Nov 2013 22:41:42 +0000 (14:41 -0800)
committerJosh Stone <jistone@redhat.com>
Tue, 19 Nov 2013 22:41:42 +0000 (14:41 -0800)
commit5d85ad5e801d0fc313f81bcf849285cc6c8c61a7
treeffd2f5de6496235064c7c7fc6046347380359890
parente19d1dd93097c8446cd76cf5c46c2dd431189b3b
Let Dyninst itself be compiled with Clang on Linux

With clang-3.3-0.10.rc3.fc19.x86_64 and libstdc++-4.8.2-1.fc19.x86_64,
the fixes required were as follows:

- cmake files looking for CMAKE_COMPILER_IS_GNUCXX need to also
  recognize CMAKE_CXX_COMPILER_ID "Clang".

- The ListHash macro had a pointer->int cast that halted Clang.

- Several templates in rose/*InstructionSemantics.h couldn't be resolved
  implicitly; they're now either made explicit or converted to typename.

- ppc32::cr0.val() is apparently not const enough for Clang as a
  template parameter; changed to ppc32::icr0.
cmake/c++11.cmake
cmake/optimization.cmake
cmake/visibility.cmake
cmake/warnings.cmake
common/src/List.h
common/src/keylist.h
dataflowAPI/rose/powerpcInstructionSemantics.h
dataflowAPI/rose/x86InstructionSemantics.h
instructionAPI/src/InstructionDecoder-power.h