1*a914888bSAlexey Bataev // RUN: %clang_cc1 -verify -fopenmp -o - %s -Wuninitialized 2e4e893bbSAlexander Musman 3*a914888bSAlexey Bataev // RUN: %clang_cc1 -verify -fopenmp-simd -o - %s -Wuninitialized 4a8a9153aSAlexey Bataev 5e4e893bbSAlexander Musman void foo(); 6e4e893bbSAlexander Musman main(int argc,char ** argv)7e4e893bbSAlexander Musmanint main(int argc, char **argv) { 8e4e893bbSAlexander Musman int i; 9e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind // expected-error {{expected '(' after 'proc_bind'}} 10e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 11e4e893bbSAlexander Musman foo(); 12e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind( // expected-error {{expected 'master', 'close' or 'spread' in OpenMP clause 'proc_bind'}} expected-error {{expected ')'}} expected-note {{to match this '('}} 13e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 14e4e893bbSAlexander Musman foo(); 15e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind() // expected-error {{expected 'master', 'close' or 'spread' in OpenMP clause 'proc_bind'}} 16e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 17e4e893bbSAlexander Musman foo(); 18e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind(master // expected-error {{expected ')'}} expected-note {{to match this '('}} 19e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 20e4e893bbSAlexander Musman foo(); 21e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind(close), proc_bind(spread) // expected-error {{directive '#pragma omp parallel for simd' cannot contain more than one 'proc_bind' clause}} 22e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 23e4e893bbSAlexander Musman foo(); 24e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind(x) // expected-error {{expected 'master', 'close' or 'spread' in OpenMP clause 'proc_bind'}} 25e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 26e4e893bbSAlexander Musman foo(); 27e4e893bbSAlexander Musman 28e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind(master) 29e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 30e4e893bbSAlexander Musman foo(); 31e4e893bbSAlexander Musman 32e4e893bbSAlexander Musman #pragma omp parallel proc_bind(close) 33e4e893bbSAlexander Musman #pragma omp parallel for simd proc_bind(spread) 34e4e893bbSAlexander Musman for (i = 0; i < argc; ++i) 35e4e893bbSAlexander Musman foo(); 36e4e893bbSAlexander Musman return 0; 37e4e893bbSAlexander Musman } 38