Review Request: kdevplatform: Look for ext/hash_map and unordered_map instead of checking gcc's version.

Raphael Kubo da Costa rakuco at
Mon May 28 17:53:10 UTC 2012

This is an automatically generated e-mail. To reply, visit:

(Updated May 28, 2012, 5:53 p.m.)

Review request for KDevelop and Milian Wolff.


Reordered the ifdef checks in modificationrevision.cpp, similarly to review request 105067


Follow-up to commits 3455de70d45a260607e1a4aa992a507ab979cd48 and
321e7c40bfbe838eb0a8354ff388cd88689166f9. The decision of whether to
include <ext/hash_map> or <unordered_map> for gcc/clang was based on
whether gcc > 4.3 was installed or whether clang was being used. The
latter implicitly assumed a recent enough libstdc++ version (ie. >=
4.3) was being used, which might not be the case on systems such as
FreeBSD and possibly OS X.

Instead of checking for compiler versions, we now look for these
headers: CMake first detects whether <unordered_map> is present and,
in case it is not, it looks for <ext/hash_map>. The checks in
language/editor/modificationrevision.cpp have been updated as
well. This should cover all the cases being previously detected, as
well as fix the checks for FreeBSD and other systems where the build
was failing before with clang.

Diffs (updated)

  CMakeLists.txt 6c29e9f3387bb1d03a346d640713d724372cdf7e 
  config-kdevplatform.h.cmake 6737e06473182df7d7fd21182f2c3cf512fa3788 
  language/editor/modificationrevision.cpp ac8a85213a9fc87c5c83369acf0bf03ffc4ebbea 



kdevplatform built fine with gcc 4.2.1 and clang + libstdc++ from gcc 4.2.1. It'd be good for someone on Linux to give this a try with a more recent libstdc++ (or LLVM's libc++).


Raphael Kubo da Costa

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the KDevelop-devel mailing list