   
   exemplar = 9;
   
-  uninitialized_fill_kernel<<<1,1>>>(v.begin() + 2, v.end(), exemplar);
+  uninitialized_fill_kernel<<<1,1>>>(exec, v.begin() + 2, v.end(), exemplar);
   
   ASSERT_EQUAL(v[0], 8);
   ASSERT_EQUAL(v[1], 8);

#include <thrust/execution_policy.h>


template<typename Iterator, typename T>
__global__
void uninitialized_fill_kernel(Iterator first, Iterator last, T val)
{
  thrust::uninitialized_fill(thrust::seq, first, last, val);
}


void TestUninitializedFillDeviceSeq()
{
  typedef thrust::device_vector<int> Vector;
  typedef Vector::value_type T;

  ASSERT_EQUAL(v[3], exemplar);
  ASSERT_EQUAL(v[4], exemplar);
}


void TestUninitializedFillDeviceSeq()
{
  TestUninitializedFillDevice(thrust::seq);
}
DECLARE_UNITTEST(TestUninitializedFillDeviceSeq);


void TestUninitializedFillDeviceDevice()
{
  TestUninitializedFillDevice(thrust::device);
}
DECLARE_UNITTEST(TestUninitializedFillDeviceDevice);


template<typename ExecutionPolicy, typename Iterator1, typename Size, typename T, typename Iterator2>
__global__
void uninitialized_fill_n_kernel(ExecutionPolicy exec, Iterator1 first, Size n, T val, Iterator2 result)
{
  *result = thrust::uninitialized_fill_n(exec, first, n, val);
}


template<typename ExecutionPolicy>
void TestUninitializedFillNDevice(ExecutionPolicy exec)
{
  typedef thrust::device_vector<int> Vector;
  typedef Vector::value_type T;
