Note regarding C++ for OpenCL:
When compiling C++ for OpenCL, DW_LANG_C_plus_plus* is emitted.
There is no DWARF language code defined for C++ for OpenCL as of yet, but DWARF issue 210514.1 has been raised to request one.
In the mean time, continuing to emit DW_LANG_C_plus_plus* for C++ for OpenCL allows the potential to distinguish between C++ for OpenCL and OpenCL C in !DICompileUnit nodes, whereas using DW_LANG_OpenCL for C++ for OpenCL would prevent this.
This change therefore leaves C++ for OpenCL as-is.
I think for non-strict DWARF mode, we still can generate DW_LANG_OpenCL for the DWARF version lower than 5? Seems we also need to fix above DW_LANG_C_plus_plus_14 and DW_LANG_C_plus_plus_11