// RUN: %clang_cc1 -fsyntax-only -verify -Wvla-extension %s
;
;
;
// expected-note@* 1+{{read of non-const variable}}
// expected-note@* 1+{{function parameter}}
// expected-note@* 1+{{declared here}}
// We allow VLAs of POD types, only.
void
/// Warn about VLAs in templates.
void
;
;
void
;
; // expected-note{{instantiation of}}
;
// Cannot use any variably-modified type with a template parameter or
// argument.
void
;
X1<HasConstantValue> x1a;
X1<HasNonConstantValue> x1b; // expected-note{{in instantiation of}}
// Template argument deduction does not allow deducing a size from a VLA.
// FIXME: This diagnostic should make it clear that the two 'N's are different entities!
void ; // expected-note{{candidate template ignored: could not match 'T[N]' against 'int[N]'}}
void
// Variably-modified types cannot be used in local classes.
void