]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libmudflap/testsuite/libmudflap.c/fail39-frag.c
Imported gcc-4.4.3
[msp430-gcc.git] / libmudflap / testsuite / libmudflap.c / fail39-frag.c
diff --git a/libmudflap/testsuite/libmudflap.c/fail39-frag.c b/libmudflap/testsuite/libmudflap.c/fail39-frag.c
new file mode 100644 (file)
index 0000000..4e74ea5
--- /dev/null
@@ -0,0 +1,20 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int main ()
+{
+  volatile int *k = (int *) malloc (sizeof (int));
+  volatile int l;
+  if (k == NULL) abort ();
+  *k = 5;
+  free ((void *) k);
+  __mf_set_options ("-ignore-reads");
+  l = *k; /* Should not trip, even though memory region just freed.  */
+  __mf_set_options ("-no-ignore-reads");
+  l = *k; /* Should trip now.  */
+  return 0;
+}
+/* { dg-output "mudflap violation 1.*check/read.*" } */
+/* { dg-output "Nearby object 1.*" } */
+/* { dg-output "mudflap dead object.*malloc region.*" } */
+/* { dg-do run { xfail *-*-* } } */