aboutsummaryrefslogtreecommitdiff
path: root/test/FrontendC
diff options
context:
space:
mode:
Diffstat (limited to 'test/FrontendC')
-rw-r--r--test/FrontendC/2009-02-17-BitField-dbg.c4
-rw-r--r--test/FrontendC/cstring-align.c16
-rw-r--r--test/FrontendC/memcpy_chk.c28
-rw-r--r--test/FrontendC/memset_chk.c6
-rw-r--r--test/FrontendC/msasm.c23
-rw-r--r--test/FrontendC/object_size.c16
-rw-r--r--test/FrontendC/pr4349.c11
7 files changed, 25 insertions, 79 deletions
diff --git a/test/FrontendC/2009-02-17-BitField-dbg.c b/test/FrontendC/2009-02-17-BitField-dbg.c
index 36ee2e6f0ef7..7ab14fd27a68 100644
--- a/test/FrontendC/2009-02-17-BitField-dbg.c
+++ b/test/FrontendC/2009-02-17-BitField-dbg.c
@@ -5,6 +5,10 @@
// RUN: echo {ptype mystruct} > %t2
// RUN: gdb -q -batch -n -x %t2 2009-02-17-BitField-dbg.o | \
// RUN: tee 2009-02-17-BitField-dbg.out | grep "int a : 4"
+//
+// XFAIL: powerpc-apple-darwin
+// FIXME: This doesn't work for PPC Darwin because we turned off debugging on
+// that platform.
struct {
int a:4;
diff --git a/test/FrontendC/cstring-align.c b/test/FrontendC/cstring-align.c
new file mode 100644
index 000000000000..2e3fc8b4e477
--- /dev/null
+++ b/test/FrontendC/cstring-align.c
@@ -0,0 +1,16 @@
+// RUN: %llvmgcc %s -c -Os -m32 -emit-llvm -o - | llc -march=x86 -mtriple=i386-apple-darwin10 | FileCheck %s -check-prefix=DARWIN32
+// RUN: %llvmgcc %s -c -Os -m64 -emit-llvm -o - | llc -march=x86-64 -mtriple=x86_64-apple-darwin10 | FileCheck %s -check-prefix=DARWIN64
+
+extern void func(const char *, const char *);
+
+void long_function_name() {
+ func("%s: the function name", __func__);
+}
+
+// DARWIN64: .align 3
+// DARWIN64: ___func__.
+// DARWIN64: .asciz "long_function_name"
+
+// DARWIN32: .align 2
+// DARWIN32: ___func__.
+// DARWIN32: .asciz "long_function_name"
diff --git a/test/FrontendC/memcpy_chk.c b/test/FrontendC/memcpy_chk.c
deleted file mode 100644
index 7c07931c079c..000000000000
--- a/test/FrontendC/memcpy_chk.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep call | grep memcpy_chk | count 3
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep call | grep {llvm.memcpy} | count 3
-// rdar://6716432
-
-void *t1(void *d, void *s) {
- return __builtin___memcpy_chk(d, s, 16, 0);
-}
-
-void *t2(void *d, void *s) {
- return __builtin___memcpy_chk(d, s, 16, 10);
-}
-
-void *t3(void *d, void *s) {
- return __builtin___memcpy_chk(d, s, 16, 17);
-}
-
-void *t4(void *d, void *s, unsigned len) {
- return __builtin___memcpy_chk(d, s, len, 17);
-}
-
-char buf[10];
-void *t5(void *s, unsigned len) {
- return __builtin___memcpy_chk(buf, s, 5, __builtin_object_size(buf, 0));
-}
-
-void *t6(void *d, void *s) {
- return __builtin___memcpy_chk(d, s, 16, __builtin_object_size(d, 0));
-}
diff --git a/test/FrontendC/memset_chk.c b/test/FrontendC/memset_chk.c
deleted file mode 100644
index b347dd0b7e79..000000000000
--- a/test/FrontendC/memset_chk.c
+++ /dev/null
@@ -1,6 +0,0 @@
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep call | not grep memset_chk
-// rdar://6728562
-
-void t(void *ptr) {
- __builtin___memset_chk(ptr, 0, 32, __builtin_object_size (ptr, 0));
-}
diff --git a/test/FrontendC/msasm.c b/test/FrontendC/msasm.c
deleted file mode 100644
index 18375bdf34fe..000000000000
--- a/test/FrontendC/msasm.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// RUN: %llvmgcc %s -fasm-blocks -S -o - | FileCheck %s
-// Complicated expression as jump target
-// XFAIL: *
-// XTARGET: x86,i386,i686
-
-void Method3()
-{
-// CHECK: Method3
-// CHECK-NOT: msasm
- asm("foo:");
-// CHECK: return
-}
-
-void Method4()
-{
-// CHECK: Method4
-// CHECK: msasm
- asm {
- bar:
- }
-// CHECK: return
-}
-
diff --git a/test/FrontendC/object_size.c b/test/FrontendC/object_size.c
deleted file mode 100644
index 0ddd66bc38cb..000000000000
--- a/test/FrontendC/object_size.c
+++ /dev/null
@@ -1,16 +0,0 @@
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep ret | grep {\\-1} | count 1
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep ret | grep {0} | count 1
-// RUN: %llvmgcc -S -emit-llvm -O1 %s -o - | grep ret | grep {8} | count 1
-
-unsigned t1(void *d) {
- return __builtin_object_size(d, 0);
-}
-
-unsigned t2(void *d) {
- return __builtin_object_size(d, 2);
-}
-
-char buf[8];
-unsigned t3() {
- return __builtin_object_size(buf, 0);
-}
diff --git a/test/FrontendC/pr4349.c b/test/FrontendC/pr4349.c
index 890482ea06a5..fbd7e56eba15 100644
--- a/test/FrontendC/pr4349.c
+++ b/test/FrontendC/pr4349.c
@@ -1,9 +1,4 @@
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars2 | grep {\\\[2 x \\\[2 x i8\\\]\\\]}
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars2 | grep {, i\[\[:digit:\]\]\\+ 1)} | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars3 | grep {\\\[2 x i16\\\]}
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars3 | grep {, i\[\[:digit:\]\]\\+ 1)} | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars4 | grep {\\\[2 x \\\[2 x i8\\\]\\\]} | count 1
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep svars4 | grep {, i\[\[:digit:\]\]\\+ 1, i\[\[:digit:\]\]\\+ 1)} | count 1
+// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | FileCheck %s
// PR 4349
union reg
@@ -21,18 +16,22 @@ struct svar
{
void *ptr;
};
+// CHECK: @svars1 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (%struct.cpu* @cpu to i8*) }]
struct svar svars1[] =
{
{ &((cpu.pc).w[0]) }
};
+// CHECK: @svars2 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x i8]* bitcast (%struct.cpu* @cpu to [2 x i8]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) }]
struct svar svars2[] =
{
{ &((cpu.pc).b[0][1]) }
};
+// CHECK: @svars3 = global [1 x %struct.svar] [%struct.svar { i8* bitcast (i16* getelementptr ([2 x i16]* bitcast (%struct.cpu* @cpu to [2 x i16]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1) to i8*) }]
struct svar svars3[] =
{
{ &((cpu.pc).w[1]) }
};
+// CHECK: @svars4 = global [1 x %struct.svar] [%struct.svar { i8* getelementptr ([2 x [2 x i8]]* bitcast (%struct.cpu* @cpu to [2 x [2 x i8]]*), i{{[0-9]+}} 0, i{{[0-9]+}} 1, i{{[0-9]+}} 1) }]
struct svar svars4[] =
{
{ &((cpu.pc).b[1][1]) }