diff options
author | Mike Stump <mrs@apple.com> | 2009-10-29 23:22:14 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-10-29 23:22:14 +0000 |
commit | 48c2af821ef9ffb51499f37ac1d332766fc20f1e (patch) | |
tree | b78a30dbbeb27696a184b25678d83508ba529b21 /test/CodeGen/object-size.c | |
parent | 7c475ee1339c03e2d544a28aa9b8da393ce7d20c (diff) |
Add some more testcases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85534 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/object-size.c')
-rw-r--r-- | test/CodeGen/object-size.c | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/test/CodeGen/object-size.c b/test/CodeGen/object-size.c index b6113fa0e5..fc138e26fd 100644 --- a/test/CodeGen/object-size.c +++ b/test/CodeGen/object-size.c @@ -11,6 +11,7 @@ static char *__inline_strcpy_chk (char *dest, const char *src) { char gbuf[63]; char *gp; +int gi, gj; void test1() { // CHECK: movabsq $59, %rdx @@ -45,17 +46,13 @@ void test4() { } void test5() { + // CHECK: movb $0, %al + // CHECK-NEXT testb %al, %al // CHECK: call ___inline_strcpy_chk strcpy(gp, "Hi there"); } void test6() { - int i; - // CHECK: call ___inline_strcpy_chk - strcpy((++i, gbuf), "Hi there"); -} - -void test7() { char buf[57]; // CHECK: movabsq $53, %rdx @@ -64,3 +61,30 @@ void test7() { // CHECK-NEXT: call ___strcpy_chk strcpy(&buf[4], "Hi there"); } + +void test7() { + int i; + // CHECK-NOT: call ___strcpy_chk + // CHECK: call ___inline_strcpy_chk + strcpy((++i, gbuf), "Hi there"); +} + +void test8() { + char *buf[50]; + // CHECK-NOT: call ___strcpy_chk + // CHECK: call ___inline_strcpy_chk + strcpy(buf[++gi], "Hi there"); +} + +void test9() { + // CHECK-NOT: call ___strcpy_chk + // CHECK: call ___inline_strcpy_chk + strcpy((char *)((++gi) + gj), "Hi there"); +} + +char **p; +void test10() { + // CHECK-NOT: call ___strcpy_chk + // CHECK: call ___inline_strcpy_chk + strcpy(*(++p), "Hi there"); +} |