[libcxx-commits] [libcxx] [libc++] Add __assertion_handler to the modulemap (PR #131031)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 19 06:46:23 PDT 2025


ldionne wrote:

I had to make the header textual since otherwise I get:

```
In file included from <...>/include/c++/v1/__algorithm/binary_search.h:13:
  # | <...>/include/c++/v1/__algorithm/comp_ref_type.h:47:5: error: use of undeclared identifier '_LIBCPP_VERBOSE_ABORT'
  # |    47 |     _LIBCPP_ASSERT_SEMANTIC_REQUIREMENT(!__comp_(__l, __r), "Comparator does not induce a strict weak ordering");
  # |       |     ^
  # | <...>/include/c++/v1/__assert:93:71: note: expanded from macro '_LIBCPP_ASSERT_SEMANTIC_REQUIREMENT'
  # |    93 | #  define _LIBCPP_ASSERT_SEMANTIC_REQUIREMENT(expression, message)    _LIBCPP_ASSERT(expression, message)
  # |       |                                                                       ^
  # | <...>/include/c++/v1/__assert:23:10: note: expanded from macro '_LIBCPP_ASSERT'
  # |    23 |        : _LIBCPP_ASSERTION_HANDLER(__FILE__ ":" _LIBCPP_TOSTRING(__LINE__) ": assertion " _LIBCPP_TOSTRING(            \
  # |       |          ^
  # | <...>/include/c++/v1/__assertion_handler:27:46: note: expanded from macro '_LIBCPP_ASSERTION_HANDLER'
  # |    27 | #  define _LIBCPP_ASSERTION_HANDLER(message) _LIBCPP_VERBOSE_ABORT("%s", message)
  # |       |                                              ^
  # | While building module 'std' imported from /__w/llvm-project/llvm-project/libcxx/test/support/check_assertion.h:12:
```

That's because I would have to `export std.verbose_abort` from `std.assertion_handler` -- which I can't do since that header may be provided externally (IOW another header might require an export that's different from `std.verbose_abort`).

https://github.com/llvm/llvm-project/pull/131031


More information about the libcxx-commits mailing list