https://bugs.llvm.org/show_bug.cgi?id=47601

            Bug ID: 47601
           Summary: Non-reserved names in pstl/execution_impl.h
           Product: parallel STL
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: New
          Assignee: ldio...@apple.com
          Reporter: zi...@kayari.org
                CC: llvm-bugs@lists.llvm.org

The members of __internal::__policy_traits aren't using reserved names:

template <>
struct __policy_traits<sequenced_policy>
{
    typedef std::false_type allow_parallel;
    typedef std::false_type allow_unsequenced;
    typedef std::false_type allow_vector;
};

This means the alias templates following it are broken:

template <typename _ExecutionPolicy>
using __collector_t =
    typename __internal::__policy_traits<typename
std::decay<_ExecutionPolicy>::type>::__collector_type;


This is invalid, because __collector_type doesn't exist, the member is really
called collector_type (although it shouldn't be).

And later in that file:

template <typename policy, typename... _IteratorTypes>
struct __prefer_unsequenced_tag

and

template <typename policy, typename... _IteratorTypes>
struct __prefer_parallel_tag

These use "policy" which is not a reserved name either.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to