1 // RUN: %clang_cc1 -verify -fopenmp -ast-print -std=c++20 %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 4 5 // RUN: %clang_cc1 -verify -fopenmp-simd -ast-print -std=c++20 %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 9 10 #ifndef HEADER 11 #define HEADER 12 13 // CHECK: template <> void do_loop(const auto &v) { 14 // CHECK-NEXT: #pragma omp parallel for 15 // CHECK-NEXT: for (const auto &i : v) 16 // CHECK-NEXT: ; 17 // CHECK-NEXT: } 18 19 void do_loop(const auto &v) { 20 #pragma omp parallel for 21 for (const auto &i : v) 22 ; 23 } 24 #endif 25