)]}' { "commit": "41455566ac633e55f222bce7c4d2cb4cc33d5c72", "tree": "b2a6e88cb99912575a5a2f0820c460a2d54b2a99", "parents": [ "89c40005bfceadb4163bd16b7464b3c2ce740daf" ], "author": { "name": "Alex Stewart", "email": "alexs.mac@gmail.com", "time": "Mon Sep 28 22:43:42 2015 +0100" }, "committer": { "name": "Alex Stewart", "email": "alexs.mac@gmail.com", "time": "Mon Oct 05 18:54:11 2015 +0100" }, "message": "Remove link-time optimisation (LTO).\n\n- On GCC 4.9+ although GCC supports LTO, it requires use of the\n non-default gcc-ar \u0026 gcc-ranlib. Whilst we can ensure Ceres is\n compiled with these, doing so with GCC 4.9 causes multiple definition\n linker errors of static ints inside Eigen when compiling the tests\n and examples when they are not also built with LTO.\n- On OS X (Xcode 6 \u0026 7) after the latest update to gtest, if LTO\n is used when compiling the tests (\u0026 examples), two tests fail\n due to typeinfo::operator\u003d\u003d (things are fine if only Ceres itself is\n compiled with LTO).\n- This patch disables LTO for all compilers. It should be revisited when\n the performance is more stable across our supported compilers.\n\nChange-Id: I17b52957faefbdeff0aa40846dc9b342db1b02e3\n", "tree_diff": [ { "type": "modify", "old_id": "d1a19901d51a09899fa498973f572b750193f240", "old_mode": 33188, "old_path": "docs/source/version_history.rst", "new_id": "ee082c45330e8b57affc469f4b146cb24d523ca9", "new_mode": 33188, "new_path": "docs/source/version_history.rst" }, { "type": "modify", "old_id": "cc2cb897033e9ae72860616fc18e6916fe3d22cf", "old_mode": 33188, "old_path": "internal/ceres/CMakeLists.txt", "new_id": "3a51309d994996611951bf17a338550878b750ab", "new_mode": 33188, "new_path": "internal/ceres/CMakeLists.txt" } ] }