From 4289a5a429e3901ff5391d94e894f7ce0029865f Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Mon, 29 Apr 2013 22:01:25 +0000 Subject: c language: diagnose use of "[*]" on any array dimension in the parameter of a function definition. Currently, it crashes in irgen if it is on other than the 1st dimension. // rdar://13705391 llvm-svn: 180732 --- clang/test/Sema/crash-invalid-array.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'clang/test/Sema/crash-invalid-array.c') diff --git a/clang/test/Sema/crash-invalid-array.c b/clang/test/Sema/crash-invalid-array.c index a3bc03b70b5..eeac39148ca 100644 --- a/clang/test/Sema/crash-invalid-array.c +++ b/clang/test/Sema/crash-invalid-array.c @@ -15,3 +15,10 @@ int main() p[i][i] = i; } } + +// rdar://13705391 +void foo(int a[*][2]) {(void)a[0][1]; } // expected-error {{variable length array must be bound in function definition}} +void foo1(int a[2][*]) {(void)a[0][1]; } // expected-error {{variable length array must be bound in function definition}} +void foo2(int a[*][*]) {(void)a[0][1]; } // expected-error {{variable length array must be bound in function definition}} +void foo3(int a[2][*][2]) {(void)a[0][1][1]; } // expected-error {{variable length array must be bound in function definition}} +void foo4(int a[2][*][*]) {(void)a[0][1][1]; } // expected-error {{variable length array must be bound in function definition}} -- cgit v1.2.3