[llvm-dev] Clang and LLVM are now using C++14 🥳

Finkel, Hal J. via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 14 16:12:59 PDT 2019


Thanks, JF, and everyone else who contributed to this!

 -Hal

On 8/14/19 5:55 PM, JF Bastien via llvm-dev wrote:
Hi C++ lovers,

Clang and LLVM are now using C++14, and it looks like all the bots are as happy as they ever get. We can therefore start removing workarounds for older toolchains, using C++14 constructs which ADT / Support used to provide, and using new C++14 constructs such as generic lambdas.

I’ve already committed a few modernizations (and have one more pending review<https://reviews.llvm.org/D66244>), but would appreciate it if others jumped in. I see Jonas is already removing llvm::make_unique! There’s some FIXMEs too if anyone wants to FIXTHEM:

lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp:    // FIXME: Use C++14 std::equal(it, it, it, it) variant once it's available.
lldb/source/Symbol/ClangASTContext.cpp:  // FIXME: In C++14 and later, we can just pass m2Type->param_type_end()
llvm/include/llvm/ADT/PointerUnion.h:  // FIXME: In C++14, replace this with
llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h:          // FIXME: Use capture-init when we move to C++14.
llvm/include/llvm/ExecutionEngine/Orc/RPCSerialization.h:      // FIXME: Move capture Serialize once we have C++14.
llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h:    // FIXME: Move handler into wrapped handler once we have C++14.
compiler-rt/include/fuzzer/FuzzedDataProvider.h:    // TODO(Dor1s): switch to static_assert once C++14 is allowed.
llvm/include/llvm/Object/ObjectFile.h:  // TODO: constructors could be removed when C++14 would be adopted.

Thanks and happy 14’ing,

JF



_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190814/64f80141/attachment.html>


More information about the llvm-dev mailing list