Index: libcxx/include/__undef_macros =================================================================== --- libcxx/include/__undef_macros +++ libcxx/include/__undef_macros @@ -14,3 +14,21 @@ #ifdef max # undef max #endif + +#ifdef refresh +inline int refresh_impl() { return refresh(); } +# undef refresh +inline int refresh() { return refresh_impl(); } +#endif + +#ifdef move +inline int move_impl(int x, int y) { return move(x, y); } +# undef move +inline int move(int x, int y) { return move_impl(x, y); } +#endif + +#ifdef erase +inline int erase_impl() { return erase(); } +# undef erase +inline int erase() { return erase_impl(); } +#endif Index: libcxx/test/libcxx/vendor/ibm/curses_macro_conflict.compile.pass.cpp =================================================================== --- /dev/null +++ libcxx/test/libcxx/vendor/ibm/curses_macro_conflict.compile.pass.cpp @@ -0,0 +1,14 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +// REQUIRES: target={{powerpc.*-ibm-aix.*}} + +#include "curses.h" +#include + +int main() { return 0; }