Author: abataev Date: Fri Feb 22 09:16:50 2019 New Revision: 354680 URL: http://llvm.org/viewvc/llvm-project?rev=354680&view=rev Log: Revert "[OPENMP] Delayed diagnostics for VLA support."
This reverts commit r354679 to fix the problem with the Windows buildbots Modified: cfe/trunk/lib/Sema/SemaType.cpp cfe/trunk/test/OpenMP/target_vla_messages.cpp cfe/trunk/test/SemaCUDA/vla.cu Modified: cfe/trunk/lib/Sema/SemaType.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaType.cpp?rev=354680&r1=354679&r2=354680&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaType.cpp (original) +++ cfe/trunk/lib/Sema/SemaType.cpp Fri Feb 22 09:16:50 2019 @@ -2250,13 +2250,15 @@ QualType Sema::BuildArrayType(QualType T } if (T->isVariableArrayType() && !Context.getTargetInfo().isVLASupported()) { - // CUDA device code and some other targets don't support VLAs. - targetDiag(Loc, (getLangOpts().CUDA && getLangOpts().CUDAIsDevice) - ? diag::err_cuda_vla - : diag::err_vla_unsupported) - << ((getLangOpts().CUDA && getLangOpts().CUDAIsDevice) - ? CurrentCUDATarget() - : CFT_InvalidTarget); + if (getLangOpts().CUDA) { + // CUDA device code doesn't support VLAs. + CUDADiagIfDeviceCode(Loc, diag::err_cuda_vla) << CurrentCUDATarget(); + } else if (!getLangOpts().OpenMP || + shouldDiagnoseTargetSupportFromOpenMP()) { + // Some targets don't support VLAs. + Diag(Loc, diag::err_vla_unsupported); + return QualType(); + } } // If this is not C99, extwarn about VLA's and C99 array size modifiers. Modified: cfe/trunk/test/OpenMP/target_vla_messages.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_vla_messages.cpp?rev=354680&r1=354679&r2=354680&view=diff ============================================================================== --- cfe/trunk/test/OpenMP/target_vla_messages.cpp (original) +++ cfe/trunk/test/OpenMP/target_vla_messages.cpp Fri Feb 22 09:16:50 2019 @@ -47,7 +47,7 @@ void target_template(int arg) { #pragma omp target { #ifdef NO_VLA - // expected-error@+2 2 {{variable length arrays are not supported for the current target}} + // expected-error@+2 {{variable length arrays are not supported for the current target}} #endif T vla[arg]; } @@ -73,9 +73,6 @@ void target(int arg) { } } -#ifdef NO_VLA - // expected-note@+2 {{in instantiation of function template specialization 'target_template<long>' requested here}} -#endif target_template<long>(arg); } Modified: cfe/trunk/test/SemaCUDA/vla.cu URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCUDA/vla.cu?rev=354680&r1=354679&r2=354680&view=diff ============================================================================== --- cfe/trunk/test/SemaCUDA/vla.cu (original) +++ cfe/trunk/test/SemaCUDA/vla.cu Fri Feb 22 09:16:50 2019 @@ -1,9 +1,5 @@ // RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -fcuda-is-device -verify %s -// RUN: %clang_cc1 -triple x86_64-unknown-linux -verify -DHOST %s - -#ifndef __CUDA_ARCH__ -// expected-no-diagnostics -#endif +// RUN: %clang_cc1 -triple nvptx64-nvidia-cuda -verify -DHOST %s #include "Inputs/cuda.h" @@ -12,10 +8,7 @@ void host(int n) { } __device__ void device(int n) { - int x[n]; -#ifdef __CUDA_ARCH__ - // expected-error@-2 {{cannot use variable-length arrays in __device__ functions}} -#endif + int x[n]; // expected-error {{cannot use variable-length arrays in __device__ functions}} } __host__ __device__ void hd(int n) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits