summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/callback_pthread_create.c
diff options
context:
space:
mode:
authorJohannes Doerfert <jdoerfert@anl.gov>2019-02-04 20:42:38 +0000
committerJohannes Doerfert <jdoerfert@anl.gov>2019-02-04 20:42:38 +0000
commit690a20467b6684edb49f6f23a594e4649e8626a6 (patch)
treed8dd4ff1fcdbb1f26104711708824d21e6fbf111 /clang/test/CodeGen/callback_pthread_create.c
parentc0f00a1f3893e66e43bcda26c53b2589baf96369 (diff)
downloadbcm5719-llvm-690a20467b6684edb49f6f23a594e4649e8626a6.tar.gz
bcm5719-llvm-690a20467b6684edb49f6f23a594e4649e8626a6.zip
Generalize pthread callback test case
Changes suggested by Eli Friedman <efriedma@quicinc.com> llvm-svn: 353088
Diffstat (limited to 'clang/test/CodeGen/callback_pthread_create.c')
-rw-r--r--clang/test/CodeGen/callback_pthread_create.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/clang/test/CodeGen/callback_pthread_create.c b/clang/test/CodeGen/callback_pthread_create.c
index eb92a3c473a..785440030b3 100644
--- a/clang/test/CodeGen/callback_pthread_create.c
+++ b/clang/test/CodeGen/callback_pthread_create.c
@@ -1,14 +1,22 @@
-// RUN: %clang -O1 %s -S -c -emit-llvm -o - | FileCheck %s
-// RUN: %clang -O1 %s -S -c -emit-llvm -o - | opt -ipconstprop -S | FileCheck --check-prefix=IPCP %s
-
-// This is a linux only test for now due to the include.
-// UNSUPPORTED: !linux
+// RUN: %clang_cc1 -O1 %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 -O1 %s -S -emit-llvm -o - | opt -ipconstprop -S | FileCheck --check-prefix=IPCP %s
// CHECK: declare !callback ![[cid:[0-9]+]] {{.*}}i32 @pthread_create
// CHECK: ![[cid]] = !{![[cidb:[0-9]+]]}
// CHECK: ![[cidb]] = !{i64 2, i64 3, i1 false}
-#include <pthread.h>
+// Taken from test/Analysis/retain-release.m
+//{
+struct _opaque_pthread_t {};
+struct _opaque_pthread_attr_t {};
+typedef struct _opaque_pthread_t *__darwin_pthread_t;
+typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t;
+typedef __darwin_pthread_t pthread_t;
+typedef __darwin_pthread_attr_t pthread_attr_t;
+
+int pthread_create(pthread_t *, const pthread_attr_t *,
+ void *(*)(void *), void *);
+//}
const int GlobalVar = 0;
@@ -26,8 +34,8 @@ static void *callee1(void *payload) {
void foo() {
pthread_t MyFirstThread;
- pthread_create(&MyFirstThread, NULL, callee0, NULL);
+ pthread_create(&MyFirstThread, 0, callee0, 0);
pthread_t MySecondThread;
- pthread_create(&MySecondThread, NULL, callee1, (void *)&GlobalVar);
+ pthread_create(&MySecondThread, 0, callee1, (void *)&GlobalVar);
}
OpenPOWER on IntegriCloud