| // 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); | |
| } |