// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -emit-llvm -O1 -mdisable-tail-calls -o - < %s | FileCheck %s | |
typedef struct List { | |
struct List *next; | |
int data; | |
} List; | |
// CHECK-LABEL: define %struct.List* @find | |
List *find(List *head, int data) { | |
if (!head) | |
return 0; | |
if (head->data == data) | |
return head; | |
// CHECK: call %struct.List* @find | |
return find(head->next, data); | |
} |