Clang 4.0 support

It looks like a lot of the Linux distros are starting to push out clang 4.0. I haven’t seen anything in the issue tracker for 4.0 support. So, I just thought being aware of this for 4.16 would be a good idea.

I can agree with this, it does seem just like an artificial limitation of the clang versions. In the mean time most distros do have the dependency set for Clang 3.5, so…

Sadly I can’t have both the newest clang and clang35 installed, so I’m not really sure where to go from there.

3.9 works perfectly fine as far as I’m aware. I know arch has a patch that gets the engine to start compilation on 4.0, but some of the actual engine code needs to be updated to support 4.0’s changes. I’ll be looking into it within the next week.

4.16 can be compiled with clang 4.0. Moreover, it is included in the new cross-toolchain that is shipped with 4.16.

It compiles fine on Arch. Look in the aur for our copy of Unreal with patches. You might need to patch the compilation command Unreal uses to not apply pie, while compiling.

Is this also true for 4.17?
Compiling 4.17 on Ubuntu 17.04 x64 with clang 4.0 does not work for me:

clang: error: unable to execute command: Segmentation fault (core dumped)

clang: error: clang frontend command failed due to signal (use -v to see invocation)

clang version 4.0.0-1ubuntu1 (tags/RELEASE_400/rc1)

Notice that Ubuntu 17.04 shipped pre-release clang (RC1). RC1 cannot compile the engine due to bugs that were fixed in the final version. Look for clang version that says tags/RELEASE_400/final)

Thank you!
The second clang version of Ubuntu 17.04 (clang 3.9.1-5ubuntu1 (tags/RELEASE_391/rc2)) also did not work and 4.0final would not install due to the installed 4.0rc1.
Ultimately, I downloaded 3.8 and compiled successfully.