This avoids -Wmacro-redefined when turning warnings on with GCC.
//===----------------------------------------------------------------------===//
// <algorithm>
-// REQUIRES: c++03 || c++11 || c++14
// template<RandomAccessIterator Iter>
// requires ShuffleIterator<Iter>
// void
// random_shuffle(Iter first, Iter last);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <algorithm>
#include <cassert>
//===----------------------------------------------------------------------===//
// <algorithm>
-// REQUIRES: c++03 || c++11 || c++14
// template<RandomAccessIterator Iter, Callable<auto, Iter::difference_type> Rand>
// requires ShuffleIterator<Iter>
// void
// random_shuffle(Iter first, Iter last, Rand&& rand);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <algorithm>
#include <cassert>
// auto_ptr& operator=(auto_ptr& a) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// auto_ptr(auto_ptr& a) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// template<class Y> auto_ptr& operator=(auto_ptr<Y>& a) throw();
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// template<class Y> auto_ptr& operator=(auto_ptr<Y>& a) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// auto_ptr(auto_ptr& a) throw();
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// auto_ptr(auto_ptr& a) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// explicit auto_ptr(X* p =0) throw();
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// explicit auto_ptr(X* p =0) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// auto_ptr& operator=(auto_ptr_ref<X> r) throw()
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// auto_ptr(auto_ptr_ref<X> r) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// template<class Y> operator auto_ptr<Y>() throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// template<class Y> operator auto_ptr_ref<Y>() throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// X& operator*() const throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// X& operator*() const throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// X* release() throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// void reset(X* p=0) throw();
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <cassert>
// };
// REQUIRES: c++03 || c++11 || c++14
-
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <type_traits>
// <functional>
// pointer_to_binary_function
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// pointer_to_binary_function
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// <functional>
// pointer_to_unary_function
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// pointer_to_unary_function
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// template <CopyConstructible Arg, Returnable Result>
// pointer_to_unary_function<Arg, Result>
// ptr_fun(Result (*f)(Arg));
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <CopyConstructible Arg, Returnable Result>
// pointer_to_unary_function<Arg, Result>
// ptr_fun(Result (*f)(Arg));
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// template <CopyConstructible Arg1, CopyConstructible Arg2, Returnable Result>
// pointer_to_binary_function<Arg1,Arg2,Result>
// ptr_fun(Result (*f)(Arg1, Arg2));
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <CopyConstructible Arg1, CopyConstructible Arg2, Returnable Result>
// pointer_to_binary_function<Arg1,Arg2,Result>
// ptr_fun(Result (*f)(Arg1, Arg2));
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// const_mem_fun_t<S,T>
// mem_fun(S (T::*f)() const);
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<cReturnable S, ClassType T>
// const_mem_fun_t<S,T>
// mem_fun(S (T::*f)() const);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// const_mem_fun1_t<S,T,A>
// mem_fun(S (T::*f)(A) const);
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T, CopyConstructible A>
// const_mem_fun1_t<S,T,A>
// mem_fun(S (T::*f)(A) const);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// const_mem_fun1_ref_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// const_mem_fun1_ref_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// const_mem_fun1_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// const_mem_fun1_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// const_mem_fun_ref_t<S,T>
// mem_fun_ref(S (T::*f)() const);
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T>
// const_mem_fun_ref_t<S,T>
// mem_fun_ref(S (T::*f)() const);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// const_mem_fun1_ref_t<S,T,A>
// mem_fun_ref(S (T::*f)(A) const);
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T, CopyConstructible A>
// const_mem_fun1_ref_t<S,T,A>
// mem_fun_ref(S (T::*f)(A) const);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// const_mem_fun_ref_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// const_mem_fun_ref_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// const_mem_fun_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// const_mem_fun_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// mem_fun_t<S,T>
// mem_fun(S (T::*f)());
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T>
// mem_fun_t<S,T>
// mem_fun(S (T::*f)());
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// mem_fun1_t<S,T,A>
// mem_fun(S (T::*f)(A));
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T, CopyConstructible A>
// mem_fun1_t<S,T,A>
// mem_fun(S (T::*f)(A));
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// mem_fun1_ref_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// mem_fun1_ref_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// mem_fun1_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// mem_fun1_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// mem_fun_ref_t<S,T>
// mem_fun_ref(S (T::*f)());
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T>
// mem_fun_ref_t<S,T>
// mem_fun_ref(S (T::*f)());
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// mem_fun1_ref_t<S,T,A>
// mem_fun_ref(S (T::*f)(A));
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template<Returnable S, ClassType T, CopyConstructible A>
// mem_fun1_ref_t<S,T,A>
// mem_fun_ref(S (T::*f)(A));
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
// mem_fun_ref_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// mem_fun_ref_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// mem_fun_t
// Removed in c++17
-// UNSUPPORTED: c++03, c++11, c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// UNSUPPORTED: c++03, c++11, c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// mem_fun_t
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <class Fn, class T>
// binder1st<Fn>
// bind1st(const Fn& fn, const T& x);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <class Fn, class T>
// binder2nd<Fn>
// bind2nd(const Fn& op, const T& x);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <cassert>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <class Fn>
// class binder1st
// typename Fn::result_type operator()(typename Fn::first_argument_type& x) const;
// };
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
//===----------------------------------------------------------------------===//
// <functional>
-// REQUIRES: c++03 || c++11 || c++14
// template <class Fn>
// class binder2nd
// typename Fn::result_type operator()(typename Fn::first_argument_type& x) const;
// };
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <functional>
#include <type_traits>
// <memory>
// shared_ptr
-// REQUIRES: c++03 || c++11 || c++14
// template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <type_traits>
// shared_ptr& operator=(const shared_ptr& r);
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <type_traits>
// <memory>
// template<class Y> explicit shared_ptr(auto_ptr<Y>&& r);
-// REQUIRES: c++03 || c++11 || c++14
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
+// REQUIRES: c++03 || c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
#include <memory>
#include <new>
// libc++ cannot safely provide the auto_ptr constructor without rvalue
// references.
// REQUIRES: c++11 || c++14
+// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
// <memory>
// template <class U> unique_ptr(auto_ptr<U>&&) noexcept
-#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS
-
#include <memory>
#include <utility>
#include <cassert>