[llvm-commits] [poolalloc] r132467 - in /poolalloc/trunk/test/type_checks/error: indirect_simple.c misalign.c misalign1.c

Arushi Aggarwal aggarwa4 at illinois.edu
Thu Jun 2 10:19:32 PDT 2011


Author: aggarwa4
Date: Thu Jun  2 12:19:32 2011
New Revision: 132467

URL: http://llvm.org/viewvc/llvm-project?rev=132467&view=rev
Log:
More testcases.

Added:
    poolalloc/trunk/test/type_checks/error/indirect_simple.c
    poolalloc/trunk/test/type_checks/error/misalign.c
    poolalloc/trunk/test/type_checks/error/misalign1.c

Added: poolalloc/trunk/test/type_checks/error/indirect_simple.c
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/test/type_checks/error/indirect_simple.c?rev=132467&view=auto
==============================================================================
--- poolalloc/trunk/test/type_checks/error/indirect_simple.c (added)
+++ poolalloc/trunk/test/type_checks/error/indirect_simple.c Thu Jun  2 12:19:32 2011
@@ -0,0 +1,31 @@
+/*
+ * Build into bitcode
+ * RUN: llvm-gcc -O0 %s --emit-llvm -c -o %t.bc
+ * RUN: adsaopt -internalize -mem2reg -typechecks %t.bc -o %t.tc.bc
+ * RUN: tc-link %t.tc.bc -o %t.tc1.bc
+ * RUN: llc %t.tc1.bc -o %t.tc1.s
+ * RUN: llvm-gcc %t.tc1.s -o %t.tc2
+ * Execute
+ * RUN: %t.tc2 >& %t.tc.out
+ */
+#include <stdio.h>
+
+typedef int* (*funcptr)(double *);
+
+static int *foo(double *d) {
+  return (int*)d;
+}
+static int *bar(double *d) {
+  return (int*)(d+1);
+}
+int main(int argc, char **argv)
+{
+
+ funcptr FP; 
+ FP = &foo;
+ if(argc > 5)
+   FP = &bar;
+ double d = 5.0;
+ int *t = (*FP)(&d);
+ int v = *t;
+}

Added: poolalloc/trunk/test/type_checks/error/misalign.c
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/test/type_checks/error/misalign.c?rev=132467&view=auto
==============================================================================
--- poolalloc/trunk/test/type_checks/error/misalign.c (added)
+++ poolalloc/trunk/test/type_checks/error/misalign.c Thu Jun  2 12:19:32 2011
@@ -0,0 +1,34 @@
+/*
+ * Build into bitcode
+ * RUN: llvm-gcc -O0 %s --emit-llvm -c -o %t.bc
+ * RUN: adsaopt -internalize -mem2reg -typechecks %t.bc -o %t.tc.bc
+ * RUN: tc-link %t.tc.bc -o %t.tc1.bc
+ * RUN: llc %t.tc1.bc -o %t.tc1.s
+ * RUN: llvm-gcc %t.tc1.s -o %t.tc2
+ * Execute
+ * RUN: %t.tc2 >& %t.tc.out
+ * ;XFAIL:*
+ */
+
+#include<stdio.h>
+
+
+typedef unsigned char byte;    //!< byte type definition
+
+int testEndian()
+{
+  short s;
+  byte *p;
+
+  p=(byte*)&s;
+
+  s=1;
+
+  return (*(p+1)==0);
+}
+
+int main() {
+  testEndian();
+  return 0;
+}
+

Added: poolalloc/trunk/test/type_checks/error/misalign1.c
URL: http://llvm.org/viewvc/llvm-project/poolalloc/trunk/test/type_checks/error/misalign1.c?rev=132467&view=auto
==============================================================================
--- poolalloc/trunk/test/type_checks/error/misalign1.c (added)
+++ poolalloc/trunk/test/type_checks/error/misalign1.c Thu Jun  2 12:19:32 2011
@@ -0,0 +1,34 @@
+/*
+ * Build into bitcode
+ * RUN: llvm-gcc -O0 %s --emit-llvm -c -o %t.bc
+ * RUN: adsaopt -internalize -mem2reg -typechecks %t.bc -o %t.tc.bc
+ * RUN: tc-link %t.tc.bc -o %t.tc1.bc
+ * RUN: llc %t.tc1.bc -o %t.tc1.s
+ * RUN: llvm-gcc %t.tc1.s -o %t.tc2
+ * Execute
+ * RUN: %t.tc2 >& %t.tc.out
+ * ;XFAIL:*
+ */
+
+#include<stdio.h>
+
+
+typedef unsigned char byte;    //!< byte type definition
+
+int testEndian()
+{
+  short s;
+  byte *p;
+
+  p=(byte*)&s;
+
+  *(p+1)=1;
+
+  return (s==0);
+}
+
+int main() {
+  testEndian();
+  return 0;
+}
+





More information about the llvm-commits mailing list