[libcxxabi] r331150 - Move _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS macro to build system

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Thu May 3 05:48:40 PDT 2018


r331450 should hopefully fix this.

On Tue, May 1, 2018 at 8:55 AM, Nico Weber <thakis at chromium.org> wrote:

> tzik, can you take a look what's up on those bots?
>
> On Tue, May 1, 2018, 5:48 AM Maxim Kuvyrkov <maxim.kuvyrkov at linaro.org>
> wrote:
>
>> Hi Nico,
>>
>> This broke armv7 and aarch64 bots:
>> - http://lab.llvm.org:8011/builders/libcxx-libcxxabi-
>> libunwind-armv7-linux/builds/87
>> - http://lab.llvm.org:8011/builders/libcxx-libcxxabi-
>> libunwind-aarch64-linux/builds/1304
>>
>> Would you please investigate?
>>
>> --
>> Maxim Kuvyrkov
>> www.linaro.org
>>
>>
>>
>> > On Apr 30, 2018, at 2:10 AM, Nico Weber via cfe-commits <
>> cfe-commits at lists.llvm.org> wrote:
>> >
>> > This should have said "Patch from Taiju Tsuiki <tzik at chromium.org>",
>> apologies.
>> >
>> > On Sun, Apr 29, 2018 at 7:05 PM, Nico Weber via cfe-commits <
>> cfe-commits at lists.llvm.org> wrote:
>> > Author: nico
>> > Date: Sun Apr 29 16:05:11 2018
>> > New Revision: 331150
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=331150&view=rev
>> > Log:
>> > Move _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS macro to build
>> system
>> >
>> > _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS is currently used to
>> > bring back std::unexpected, which is removed in C++17, but still needed
>> > for libc++abi for backward compatibility.
>> >
>> > This macro used to define in cxa_exception.cpp only, but actually
>> > needed for all sources that touches exceptions.
>> > So, a build-system-level macro is better fit to define this macro.
>> >
>> > https://reviews.llvm.org/D46056
>> > Patch from Taiju Tsuiku <tzik at chromium.org>!
>> >
>> > Modified:
>> >     libcxxabi/trunk/CMakeLists.txt
>> >     libcxxabi/trunk/src/cxa_exception.cpp
>> >     libcxxabi/trunk/test/test_exception_storage.pass.cpp
>> >
>> > Modified: libcxxabi/trunk/CMakeLists.txt
>> > URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/
>> CMakeLists.txt?rev=331150&r1=331149&r2=331150&view=diff
>> > ============================================================
>> ==================
>> > --- libcxxabi/trunk/CMakeLists.txt (original)
>> > +++ libcxxabi/trunk/CMakeLists.txt Sun Apr 29 16:05:11 2018
>> > @@ -387,6 +387,10 @@ endif()
>> >  # Prevent libc++abi from having library dependencies on libc++
>> >  add_definitions(-D_LIBCPP_DISABLE_EXTERN_TEMPLATE)
>> >
>> > +# Bring back `std::unexpected`, which is removed in C++17, to support
>> > +# pre-C++17.
>> > +add_definitions(-D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS)
>> > +
>> >  if (MSVC)
>> >    add_definitions(-D_CRT_SECURE_NO_WARNINGS)
>> >  endif()
>> >
>> > Modified: libcxxabi/trunk/src/cxa_exception.cpp
>> > URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/
>> cxa_exception.cpp?rev=331150&r1=331149&r2=331150&view=diff
>> > ============================================================
>> ==================
>> > --- libcxxabi/trunk/src/cxa_exception.cpp (original)
>> > +++ libcxxabi/trunk/src/cxa_exception.cpp Sun Apr 29 16:05:11 2018
>> > @@ -11,8 +11,6 @@
>> >  //
>> >  //===-------------------------------------------------------
>> ---------------===//
>> >
>> > -#define _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS
>> > -
>> >  #include "cxxabi.h"
>> >
>> >  #include <exception>        // for std::terminate
>> >
>> > Modified: libcxxabi/trunk/test/test_exception_storage.pass.cpp
>> > URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/
>> test_exception_storage.pass.cpp?rev=331150&r1=331149&r2=331150&view=diff
>> > ============================================================
>> ==================
>> > --- libcxxabi/trunk/test/test_exception_storage.pass.cpp (original)
>> > +++ libcxxabi/trunk/test/test_exception_storage.pass.cpp Sun Apr 29
>> 16:05:11 2018
>> > @@ -7,11 +7,6 @@
>> >  //
>> >  //===-------------------------------------------------------
>> ---------------===//
>> >
>> > -// FIXME: cxa_exception.hpp directly references `std::unexpected` and
>> friends.
>> > -// This breaks this test when compiled in C++17. For now fix this by
>> manually
>> > -// re-enabling the STL functions.
>> > -#define _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS
>> > -
>> >  #include <cstdlib>
>> >  #include <algorithm>
>> >  #include <iostream>
>> >
>> >
>> > _______________________________________________
>> > cfe-commits mailing list
>> > cfe-commits at lists.llvm.org
>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>> >
>> > _______________________________________________
>> > cfe-commits mailing list
>> > cfe-commits at lists.llvm.org
>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180503/504ffc71/attachment.html>


More information about the cfe-commits mailing list