From 167cc379756e525bdf5b6b722fd78d415ed0eb2c Mon Sep 17 00:00:00 2001 From: Jordy Rose Date: Thu, 29 Jul 2010 06:40:33 +0000 Subject: Use a LazyCompoundVal to handle initialization with a string literal, rather than copying each character. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109734 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Analysis/array-struct.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'test/Analysis/array-struct.c') diff --git a/test/Analysis/array-struct.c b/test/Analysis/array-struct.c index 3e46a0a622..ef9907bb57 100644 --- a/test/Analysis/array-struct.c +++ b/test/Analysis/array-struct.c @@ -178,3 +178,26 @@ void f18() { if (*q) { // no-warning } } + +int f19() { + char a[] = "abc"; + char b[2] = "abc"; // expected-warning{{too long}} + char c[5] = "abc"; + + if (a[1] != 'b') + return 5; // expected-warning{{never executed}} + if (b[1] != 'b') + return 5; // expected-warning{{never executed}} + if (c[1] != 'b') + return 5; // expected-warning{{never executed}} + + if (a[3] != 0) + return 5; // expected-warning{{never executed}} + if (c[3] != 0) + return 5; // expected-warning{{never executed}} + + if (c[4] != 0) + return 5; // expected-warning{{never executed}} + + return 0; +} -- cgit v1.2.3-18-g5258