136b8d02cSMikhail Dvorskiy // -*- C++ -*-
236b8d02cSMikhail Dvorskiy //===-- scan.fail.cpp -----------------------------------------------------===//
336b8d02cSMikhail Dvorskiy //
436b8d02cSMikhail Dvorskiy // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
536b8d02cSMikhail Dvorskiy // See https://llvm.org/LICENSE.txt for license information.
636b8d02cSMikhail Dvorskiy // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
736b8d02cSMikhail Dvorskiy //
836b8d02cSMikhail Dvorskiy //===----------------------------------------------------------------------===//
936b8d02cSMikhail Dvorskiy 
10*b5e896c0SLouis Dionne // UNSUPPORTED: c++03, c++11, c++14
1136b8d02cSMikhail Dvorskiy 
1236b8d02cSMikhail Dvorskiy #include <execution>
1336b8d02cSMikhail Dvorskiy #include <numeric>
1436b8d02cSMikhail Dvorskiy 
1536b8d02cSMikhail Dvorskiy struct CustomPolicy
1636b8d02cSMikhail Dvorskiy {
1736b8d02cSMikhail Dvorskiy     constexpr std::false_type
1836b8d02cSMikhail Dvorskiy     __allow_vector()
1936b8d02cSMikhail Dvorskiy     {
2036b8d02cSMikhail Dvorskiy         return std::false_type{};
2136b8d02cSMikhail Dvorskiy     }
2236b8d02cSMikhail Dvorskiy     constexpr std::false_type
2336b8d02cSMikhail Dvorskiy     __allow_parallel()
2436b8d02cSMikhail Dvorskiy     {
2536b8d02cSMikhail Dvorskiy         return std::false_type{};
2636b8d02cSMikhail Dvorskiy     }
2736b8d02cSMikhail Dvorskiy } policy;
2836b8d02cSMikhail Dvorskiy 
2936b8d02cSMikhail Dvorskiy int32_t
3036b8d02cSMikhail Dvorskiy main()
3136b8d02cSMikhail Dvorskiy {
3236b8d02cSMikhail Dvorskiy     int *first = nullptr, *last = nullptr, *result = nullptr;
3336b8d02cSMikhail Dvorskiy 
3436b8d02cSMikhail Dvorskiy     std::exclusive_scan(policy, first, last, result, 0); // expected-error {{no matching function for call to 'exclusive_scan'}}
3536b8d02cSMikhail Dvorskiy     std::exclusive_scan(policy, first, last, result, 0, std::plus<int>()); // expected-error {{no matching function for call to 'exclusive_scan'}}
3636b8d02cSMikhail Dvorskiy 
3736b8d02cSMikhail Dvorskiy     return 0;
3836b8d02cSMikhail Dvorskiy }
39