mldbai / mldb

MLDB is the Machine Learning Database
http://mldb.ai
Apache License 2.0
665 stars 102 forks source link

STL modernization and portability #929

Closed jeremybarnes closed 3 years ago

jeremybarnes commented 3 years ago

Up to now, MLDB has been developed for GCC's standard library (libstdc++) (even when compiling with clang on Linux, it will by default use GCC's standard library to ensure ABI compatibility). This has led to us over-specializing or using GCC-specific features, which stop us from building on systems (eg OSX) where clang's libc++ is the system STL.

This patch series fixes these issues, making MLDB more portable to libc++.

The most complex part by far is runtime type information hooks: exception tracing, backtracing, and typeid-driven conversions.