[all-commits] [llvm/llvm-project] 92e4d6: Fixing conflicting macro definitions between curse...

nicolerabjohn via All-commits all-commits at lists.llvm.org
Thu Jul 6 10:21:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 92e4d6791f714d1d90a3341c539ee3ac24e44ab0
      https://github.com/llvm/llvm-project/commit/92e4d6791f714d1d90a3341c539ee3ac24e44ab0
  Author: Nicole Rabjohn <Nicole.Rabjohn at ibm.com>
  Date:   2023-07-06 (Thu, 06 Jul 2023)

  Changed paths:
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/in_out_result.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/iterator_operations.h
    M libcxx/include/__algorithm/make_heap.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/pop_heap.h
    M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
    M libcxx/include/__algorithm/push_heap.h
    M libcxx/include/__algorithm/sift_down.h
    M libcxx/include/__algorithm/unwrap_iter.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__concepts/swappable.h
    M libcxx/include/__config
    M libcxx/include/__expected/bad_expected_access.h
    M libcxx/include/__expected/expected.h
    M libcxx/include/__expected/unexpected.h
    M libcxx/include/__functional/perfect_forward.h
    M libcxx/include/__iterator/advance.h
    M libcxx/include/__iterator/back_insert_iterator.h
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/common_iterator.h
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__iterator/erase_if_container.h
    M libcxx/include/__iterator/front_insert_iterator.h
    M libcxx/include/__iterator/insert_iterator.h
    M libcxx/include/__iterator/iter_move.h
    M libcxx/include/__iterator/iter_swap.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__iterator/move_sentinel.h
    M libcxx/include/__memory/allocation_guard.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__memory/construct_at.h
    M libcxx/include/__memory/ranges_construct_at.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__memory/uses_allocator_construction.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/accumulate.h
    M libcxx/include/__numeric/adjacent_difference.h
    M libcxx/include/__numeric/exclusive_scan.h
    M libcxx/include/__numeric/inner_product.h
    M libcxx/include/__numeric/partial_sum.h
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/common_view.h
    M libcxx/include/__ranges/owning_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__stop_token/intrusive_shared_ptr.h
    M libcxx/include/__undef_macros
    M libcxx/include/__utility/exception_guard.h
    M libcxx/include/__utility/exchange.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/__utility/swap.h
    M libcxx/include/any
    M libcxx/include/experimental/propagate_const
    M libcxx/include/optional
    M libcxx/include/scoped_allocator
    M libcxx/include/tuple
    M libcxx/test/libcxx/nasty_macros.gen.py

  Log Message:
  -----------
  Fixing conflicting macro definitions between curses.h and the standard library.

POSIX allows certain macros to exist with generic names (i.e. refresh(), move(), and erase()) to exist in `curses.h` which conflict with functions found in std::filesystem, among others. This patch undefs the macros in question and adds them to LIBCPP_PUSH_MACROS and LIBCPP_POP_MACROS.

Reviewed By: #libc, philnik, ldionne

Differential Revision: https://reviews.llvm.org/D147356




More information about the All-commits mailing list