There are various macros in the public headers that might have conflicts with user code or other libraries.
For example: ALWAYS_INLINE.
There should have a more defensive name, such as __SYCL_ALWAYS_INLINE.
Actually, since we might have different SYCL implementations used at the same time, perhaps something like __DPCPP_ALWAYS_INLINE is better.