diff options
author | Johannes Doerfert <jdoerfert@anl.gov> | 2019-02-04 20:42:38 +0000 |
---|---|---|
committer | Johannes Doerfert <jdoerfert@anl.gov> | 2019-02-04 20:42:38 +0000 |
commit | 690a20467b6684edb49f6f23a594e4649e8626a6 (patch) | |
tree | d8dd4ff1fcdbb1f26104711708824d21e6fbf111 /clang/test/CodeGen/callback_pthread_create.c | |
parent | c0f00a1f3893e66e43bcda26c53b2589baf96369 (diff) | |
download | bcm5719-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.c | 24 |
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); } |