[all-commits] [llvm/llvm-project] 7e8d5a: Avoid use of std::make_unique in compiler-rt/lib/s...

Hans via All-commits all-commits at lists.llvm.org
Tue Jul 28 03:34:20 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7e8d5a90f2c101388d3b0bbce8555e871c670232
      https://github.com/llvm/llvm-project/commit/7e8d5a90f2c101388d3b0bbce8555e871c670232
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2020-07-28 (Tue, 28 Jul 2020)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp

  Log Message:
  -----------
  Avoid use of std::make_unique in compiler-rt/lib/scudo/standalone/tests/combined_test.cpp

make_unique is a C++14 feature, and this prevents us from building on
Ubuntu Trusty. While we do use a C++14 compatible toolchain for building
in general, we fall back to the system toolchain for building the
compiler-rt tests.

The reason is that those tests get cross-compiled for e.g. 32-bit and
64-bit x86, and while the toolchain provides libstdc++ in those
flavours, the resulting compiler-rt test binaries don't get RPATH set
and so won't start if they're linked with that toolchain.

We've tried linking the test binaries against libstdc++ statically, by
passing COMPILER_RT_TEST_COMPILER_CFLAGS=-static-libstdc++. That mostly
works, but some test targets append -lstdc++ to the compiler invocation.

So, after spending way too much time on this, let's just avoid C++14
here for now.




More information about the All-commits mailing list