Build ORCA with C++14: Take Two (#10068)
This patch makes the minimal changes to build ORCA with C++14. This should address the grievance that ORCA cannot build with the default Xerces C++ (3.2 or newer, which is built with GCC 8.3 in the default C++14 mode) headers from Debian. I've kept the CMake build system in sync with the main Makefile. I've also made sure that all ORCA tests pass. This patch set also enables ORCA in Travis so the community gets compilation coverage. === FIXME / near-term TODOs: What's _not_ included in this patch, but would be nice to have soon (in descending order of importance): 1. -std=gnu++14 ought to be done in "configure", not in a Makefile. This is not a pendantic aesthetic issue, sooner or later we'll run into this problem, especially if we're mixing multiple things built in C++. 2. Clean up the Makefiles and move most CXXFLAGS override into autoconf. 3. Those noexept(false) seem excessive, we should benefit from conditionally marking more code "noexcept" at least in production. 4. Detecting whether Xerces was generated (either by autoconf or CMake) with a compiler that's effectively running post-C++11 5. Work around a GCC 9.2 bug that crashes the loading of minidumps (I've tested with GCC 6 to 10). Last I checked, the bug has been fixed in GCC releases 10.1 and 9.3. [resolves #9923] [resolves #10047] Co-authored-by: NMelanie Plageman <mplageman@pivotal.io> Reviewed-by: NHans Zeller <hzeller@pivotal.io> Reviewed-by: NAshuka Xue <axue@pivotal.io> Reviewed-by: NDavid Kimura <dkimura@pivotal.io>
Showing
想要评论请 注册 或 登录