diff options
author | Frank Ch. Eigler <fche@redhat.com> | 2004-01-27 22:51:03 +0000 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2004-01-27 22:51:03 +0000 |
commit | e41c82da0f50e12f240802a62bc6ab4caf109cc7 (patch) | |
tree | 41af4125aed90569be0914f164342c0da9dfca86 /libmudflap | |
parent | 5b89fd4576ac31bcc1141e7c29c4e23312a9d77a (diff) |
2004-01-27 Frank Ch. Eigler <fche@redhat.com>
* testsuite/libmudflap.c/fail31-frag.c, pass45-frag.c: New tests.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@76762 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libmudflap')
-rw-r--r-- | libmudflap/ChangeLog | 8 | ||||
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/fail31-frag.c | 22 | ||||
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/pass45-frag.c | 31 |
3 files changed, 59 insertions, 2 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index 3b4cb3d4079..192a0f409af 100644 --- a/libmudflap/ChangeLog +++ b/libmudflap/ChangeLog @@ -1,10 +1,14 @@ +2004-01-27 Frank Ch. Eigler <fche@redhat.com> + + * testsuite/libmudflap.c/fail31-frag.c, pass45-frag.c: New tests. + 2004-01-15 Frank Ch. Eigler <fche@redhat.com> - * testsuite/libmudflap.c/pass44.c: New test. + * testsuite/libmudflap.c/pass44-frag.c: New test. 2004-01-12 Frank Ch. Eigler <fche@redhat.com> - * testsuite/libmudflap.c/fail{28,29,30}.c: New tests. + * testsuite/libmudflap.c/fail{28,29,30}-frag.c: New tests. 2004-01-08 Frank Ch. Eigler <fche@redhat.com> diff --git a/libmudflap/testsuite/libmudflap.c/fail31-frag.c b/libmudflap/testsuite/libmudflap.c/fail31-frag.c new file mode 100644 index 00000000000..b15056c970c --- /dev/null +++ b/libmudflap/testsuite/libmudflap.c/fail31-frag.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <stdlib.h> + +extern int h (int i, int j); + +int main () +{ + int z = h (4, 10); + return 0; +} + +int h (int i, int j) +{ + int k[i]; + k[j] = i; + return j; +} + +/* { dg-output "mudflap violation 1.*" } */ +/* { dg-output "Nearby object.*" } */ +/* { dg-output "mudflap object.*\(h\).*k" } */ +/* { dg-do run { xfail *-*-* } } */ diff --git a/libmudflap/testsuite/libmudflap.c/pass45-frag.c b/libmudflap/testsuite/libmudflap.c/pass45-frag.c new file mode 100644 index 00000000000..c6bfeb5048c --- /dev/null +++ b/libmudflap/testsuite/libmudflap.c/pass45-frag.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +extern void h (const char *p, const char *f); +int +main (void) +{ + h (0, "foo"); + return 0; +} + +void +h (const char *p, const char *f) +{ + size_t pl = p == NULL ? 0 : strlen (p); + size_t fl = strlen (f) + 1; + char a[pl + 1 + fl]; + char *cp = a; + char b[pl + 5 + fl * 2]; + char *cccp = b; + if (p != NULL) + { + cp = memcpy (cp, p, pl); + *cp++ = ':'; + } + memcpy (cp, f, fl); + strcpy (b, a); + puts (a); +} +/* { dg-output "foo" } */ |