1*67e74705SXin Li // RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -emit-llvm -O1 -mdisable-tail-calls -o - < %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li typedef struct List { 4*67e74705SXin Li struct List *next; 5*67e74705SXin Li int data; 6*67e74705SXin Li } List; 7*67e74705SXin Li 8*67e74705SXin Li // CHECK-LABEL: define %struct.List* @find find(List * head,int data)9*67e74705SXin LiList *find(List *head, int data) { 10*67e74705SXin Li if (!head) 11*67e74705SXin Li return 0; 12*67e74705SXin Li if (head->data == data) 13*67e74705SXin Li return head; 14*67e74705SXin Li // CHECK: call %struct.List* @find 15*67e74705SXin Li return find(head->next, data); 16*67e74705SXin Li } 17