diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-02-08 02:30:49 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-02-08 02:30:49 +0000 |
commit | 04d6d2f2af6de891688ee107b672aa2fb612204a (patch) | |
tree | 557a22ec9a2cb61ba71e80d9739474ecee3762e1 /clang/lib/Sema | |
parent | 18066822a8ffb2f338ef83210444f228b0b1156a (diff) | |
download | bcm5719-llvm-04d6d2f2af6de891688ee107b672aa2fb612204a.tar.gz bcm5719-llvm-04d6d2f2af6de891688ee107b672aa2fb612204a.zip |
PR18581: Attempt to complete the type in a VLA declaration before checking
whether it's POD.
llvm-svn: 201018
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaType.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp index c2ff2238d5f..f9f6cee994e 100644 --- a/clang/lib/Sema/SemaType.cpp +++ b/clang/lib/Sema/SemaType.cpp @@ -1590,6 +1590,7 @@ QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM, // Prohibit the use of non-POD types in VLAs. QualType BaseT = Context.getBaseElementType(T); if (!T->isDependentType() && + !RequireCompleteType(Loc, BaseT, 0) && !BaseT.isPODType(Context) && !BaseT->isObjCLifetimeType()) { Diag(Loc, diag::err_vla_non_pod) |