Using CLang version 14

pixel27
Wed, 26 Oct 2022 19:11:24 +0000
General Usage

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?

1 post - 1 participant