[OpenMP] Added parsing and semantic analysis for firstprivate clause


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191730 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/OpenMP/parallel_shared_messages.cpp b/test/OpenMP/parallel_shared_messages.cpp
index 0d8894e..211d392 100644
--- a/test/OpenMP/parallel_shared_messages.cpp
+++ b/test/OpenMP/parallel_shared_messages.cpp
@@ -68,10 +68,16 @@
   #pragma omp parallel shared(h) // expected-error {{threadprivate or thread local variable cannot be shared}}
   #pragma omp parallel private(i), shared(i) // expected-error {{private variable cannot be shared}} expected-note {{defined as private}}
   foo();
+  #pragma omp parallel firstprivate(i), shared(i) // expected-error {{firstprivate variable cannot be shared}} expected-note {{defined as firstprivate}}
+  foo();
   #pragma omp parallel private(i)
   #pragma omp parallel shared(i)
   #pragma omp parallel shared(j)
   foo();
+  #pragma omp parallel firstprivate(i)
+  #pragma omp parallel shared(i)
+  #pragma omp parallel shared(j)
+  foo();
 
   return 0;
 }