Clang support for CUDA

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.xblockDim.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:)