]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/disable-tail-calls.c
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
[FreeBSD/FreeBSD.git] / test / CodeGen / disable-tail-calls.c
1 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -emit-llvm -O1 -mdisable-tail-calls -o - < %s | FileCheck %s
2
3 typedef struct List {
4   struct List *next;
5   int data;
6 } List;
7
8 // CHECK-LABEL: define %struct.List* @find
9 List *find(List *head, int data) {
10   if (!head)
11     return 0;
12   if (head->data == data)
13     return head;
14   // CHECK: call %struct.List* @find
15   return find(head->next, data);
16 }