I would like to use CLang version 14 to parse some C++ files. The C++ files I would like to parse are using the “module” feature added in C++20 and it doesn’t appear that version 13 understands the module keyword. I believe 14 does/might.
Looking at the Project.toml file for Clang.jl it appears it supports version 12, 13, and 14 of Clang_jll. However it also appears to be using version 13:
julia> using Clang;
julia> Clang.version()
"clang version 13.0.1 (/depot/downloads/clones/llvm-project.git-5a9787eb535c2edc5dea030cc221c1d60f38c9f42344f410e425ea2139e233aa 8a2ae8c8064a0544814c6fac7dd0c4a9aa29a7e6)"
When trying to manually add Clang_jll@14.0.6 I get:
(@v1.8) pkg> add Clang_jll@14.0.6
Updating registry at `~/.julia/registries/General.toml`
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package libLLVM_jll [8f36deef]:
libLLVM_jll [8f36deef] log:
├─possible versions are: 13.0.1 or uninstalled
└─found to have no compatible versions left with Clang_jll [0ee61d77]
└─Clang_jll [0ee61d77] log:
├─possible versions are: 9.0.1-14.0.6 or uninstalled
└─restricted to versions 14.0.6 by an explicit requirement, leaving only versions 14.0.6
My guess that is because Julia 1.8 is using version 13 itself. So is there a way to ALSO load 14, or some “may make things unstable” flag I can set to have Julia use 14 instead, or is there a semi-stable build I can grab that using version 14 of Clang?