fails to compile with older versions of clang w/ -std=c++0x
trapexit opened this issue · 8 comments
thanks :)
https://travis-ci.org/github/trapexit/mergerfs/jobs/725001551
Doesn't appear so but I did try testing it in isolation and couldn't reproduce it either. Must be something about my usage. I'll have to dig into it more.
@trapexit Only now special-cased the type traits that are missing when using clang 3.4. Would appreciate it if you have a look if above change (take 2) solves compiling with clang 3.4; thanks in advance.
Haven't gotten the time to investigate in detail but still errors out with the new change.
https://travis-ci.org/github/trapexit/mergerfs/jobs/725066910
@trapexit Fixed overlooked second template argument of std11::is_asssignable<>
.
https://travis-ci.org/github/trapexit/mergerfs/jobs/725236488
Seems to have fixed things on 3.4 but still broken on 5 (from Ubuntu Trusty).
@trapexit I'm not very adept at Travis' usage and the various distributions one can or must use to certain effects, or deducing the information of interest from a log.
That said, isn't /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits
a bit old relative to clang 5.0.0?
Non-failing usage of optional-lite with clang 5.0.0 (or 4.0.0 for that matter):
So, this looks like a different defiance from the clang 3.4 one to me. It hints to a standard-library-dependency check instead of a compiler version check, something that is not present in any of the *-lite libraries as far as I'm aware.
Could use some helpful input here :)