This is one of the easier pieces of adding CL3.0 support.
This one is not generic address space pointer though but I think this bit is part of an #else block? If you could just re-upload as a full diff, this will make it less confusing to review: https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface
That's a good point, I was just adding the defined() bits to the endif to match the way other parts are done, however if there is an #else in the middle does this still make sense. I find having the defined comments is helpful for matching up wayward elses. The atomic changes are much more invasive so it would be good to know what we think is correct before I rework them all.
PS this patch is straightforward and doesn't seem to affect functionality for older standards provided that we set __opencl_c_generic_address_space correctly which is not in the scope of this change.