Browse Source

Add a test for "Improve robustness when handling unexpected FunctionProto type locs.".

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
pull/560/head
Dimitar Dobrev 10 years ago
parent
commit
7de598b7aa
  1. 42
      tests/Common/Common.h

42
tests/Common/Common.h

@ -842,6 +842,48 @@ namespace boost @@ -842,6 +842,48 @@ namespace boost
{
template <class T> struct is_member_pointer_cv { static const bool value = false; };
template <class T, class U>struct is_member_pointer_cv<T U::*> { static const bool value = true; };
// all of this below tests corner cases with type locations
template<class T>
struct make_tuple_traits
{
typedef T type;
// commented away, see below (JJ)
// typedef typename IF<
// boost::is_function<T>::value,
// T&,
// T>::RET type;
};
namespace detail
{
struct swallow_assign;
typedef void (detail::swallow_assign::*ignore_t)();
struct swallow_assign
{
swallow_assign(ignore_t(*)(ignore_t));
template<typename T>
swallow_assign const& operator=(const T&) const;
};
swallow_assign::swallow_assign(ignore_t (*)(ignore_t))
{
}
template<typename T>
swallow_assign const& swallow_assign::operator=(const T&) const
{
return *this;
}
} // namespace detail
template<>
struct make_tuple_traits<detail::ignore_t(detail::ignore_t)>
{
typedef detail::swallow_assign type;
};
}
template <std::size_t N, std::size_t... I>

Loading…
Cancel
Save