mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-28 15:58:57 -04:00

GCC implements -Wvla as "warn on every VLA" (this is useful to find every VLA, for example, if they are forbidden by coding guidelines). Currently Clang implements -Wvla as "warn on VLA when it is an extension". The attached patch makes our behavior match GCC. The existing vla extwarn is moved under -Wvla-extension and is still included into -Wgnu. This fixes PR5953. llvm-svn: 173286
28 lines
719 B
C++
28 lines
719 B
C++
// RUN: %clang_cc1 -fsyntax-only -verify -Wvla %s
|
|
|
|
void test1(int n) {
|
|
int v[n]; // expected-warning {{variable length array used}}
|
|
}
|
|
|
|
void test2(int n, int v[n]) { // expected-warning {{variable length array used}}
|
|
}
|
|
|
|
void test3(int n, int v[n]); // expected-warning {{variable length array used}}
|
|
|
|
template<typename T>
|
|
void test4(int n) {
|
|
int v[n]; // expected-warning {{variable length array used}}
|
|
}
|
|
|
|
template<typename T>
|
|
void test5(int n, int v[n]) { // expected-warning {{variable length array used}}
|
|
}
|
|
|
|
template<typename T>
|
|
void test6(int n, int v[n]); // expected-warning {{variable length array used}}
|
|
|
|
template<typename T>
|
|
void test7(int n, T v[n]) { // expected-warning {{variable length array used}}
|
|
}
|
|
|