1 // RUN: %clang_cc1 -verify -fopenmp --std=c++20 -ast-print %s -Wsign-conversion | FileCheck %s
2 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++20 -emit-pch -o %t %s
3 // RUN: %clang_cc1 -fopenmp -std=c++20 -include-pch %t -fsyntax-only -verify %s -ast-print | FileCheck %s
5 // RUN: %clang_cc1 -verify -fopenmp-simd --std=c++20 -ast-print %s -Wsign-conversion | FileCheck %s
6 // RUN: %clang_cc1 -fopenmp-simd -x c++ -std=c++20 -emit-pch -o %t %s
7 // RUN: %clang_cc1 -fopenmp-simd -std=c++20 -include-pch %t -fsyntax-only -verify %s -ast-print | FileCheck %s
8 // expected-no-diagnostics
13 template <typename T
> class iterator
{
16 iterator
&operator++();
19 bool operator==(const iterator
<T
> &, const iterator
<T
> &);
21 unsigned long operator-(const iterator
<T
> &, const iterator
<T
> &);
23 iterator
<T
> operator+(const iterator
<T
> &, unsigned long);
27 iterator
<int> begin();
30 // CHECK: void foo() {
32 // CHECK-NEXT: vector vec;
34 // CHECK-NEXT: #pragma omp for
36 // CHECK-NEXT: for (int i : vec)