CUDA support for clang

Hi,
I am trying to convert a simple CUDA program to LLVM IR using clang 3.0. The
program is as follows,
#include<stdio.h>
#nclude<clang/test/SemaCUDA/cuda.h>

__global__ void kernfunc(int *a)
{
*a=threadIdx.x+blockIdx.x*blockDim.x;
}

int main()
{
int *h_a,*d_a,n;
                                        
n=sizeof(int);
h_a=(int*)malloc(n);
*h_a=5;

cudaMalloc((void*)&d_a,n);
cudaMemcpy(d_a,h_a,n,cudaMemcpyHostToDevice);
kernelfunc<<<1,1>>>(d_a);
cudaMemcpy(h_a,d_a,n,cudaMemcpyDeviceToHost);

printf("%d",*h_a);
return 0;
}

What additional header files should be included? What part of the code is
currently not supported by clang 3.0?
Thank you:)