Definition of __cpp_threadsafe_static_init macro is controlled by
language option Opts.ThreadsafeStatics. This patch sets language
option to false by default in OpenCL mode, resulting in macro
__cpp_threadsafe_static_init being undefined. Default value can be
overriden using command line option -fthreadsafe-statics.
Change is supposed to address portability because not all OpenCL
vendors support thread safe implementation of static initialization.
Fixes llvm.org/PR48012
I think this will work fine apart from if someone creates .cpp file but passes -cl-std=clc++. But it is not the conventional flow so I think we should not worry about it for now.