[cfe-dev] Is Clang 3.6 still supported as host compiler for libcxx?

Eric Fiselier via cfe-dev cfe-dev at lists.llvm.org
Fri Oct 28 12:43:54 PDT 2016


Yep. I'll look into this.

My 2 cents are that libc++ is special, and can't be held to LLVM/Clang's
requirements. Implementing C++17 libraries with compilers shipped in 2014
is tricky.

However we can probably still tolerate older compilers to build the few
source files the dylib is made from.

/Eric

On Tue, Oct 18, 2016 at 4:16 AM, Artyom Skrobov <Artyom.Skrobov at arm.com>
wrote:

> Renato, thank you for your comments!
>
> >> I couldn't find any definite information on which compiler versions are
> supported for building libcxx.
> >
> > Hum, it should be the same as LLVM (3.1, *cough* *cough*).
> >
> >
> >> However, building with clang 3.7.0 or a later version succeeds.
> >
> > In this particular case, I think we should fix libc++, not upgrade the
> > minimum Clang version to 3.9, as that wouldn't make sense.
>
> Eric, could you please take a look? This particular issue is due to your
> r284313.
>
> For the reference, the compilation error (on clang 3.6.2 and earlier
> versions) is as follows
>
> projects/libcxx/src/experimental/filesystem/path.cpp:286:14: error: no
> matching constructor for initialization of 'string_view_t' (aka
> 'basic_string_view<char>')
>       return string_view_t{__pn_}.substr(0, e + 1);
>              ^            ~~~~~~~
> projects/libcxx/include/string_view:200:2: note: candidate constructor
> not viable: no known conversion from 'const string_type' (aka 'const
> basic_string<value_type>') to 'const
>       std::__1::basic_string_view<char, std::__1::char_traits<char> > &'
> for 1st argument
>         basic_string_view(const basic_string_view&) _NOEXCEPT = default;
>         ^
> projects/libcxx/include/string_view:215:2: note: candidate constructor
> not viable: no known conversion from 'const string_type' (aka 'const
> basic_string<value_type>') to 'const char *' for 1st argument
>         basic_string_view(const _CharT* __s)
>         ^
> projects/libcxx/include/string_view:197:2: note: candidate constructor
> not viable: requires 0 arguments, but 1 was provided
>         basic_string_view() _NOEXCEPT : __data (nullptr), __size(0) {}
>         ^
> projects/libcxx/include/string_view:206:2: note: candidate constructor
> not viable: requires 2 arguments, but 1 was provided
>         basic_string_view(const _CharT* __s, size_type __len)
>         ^
> 1 error generated.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20161028/274ba089/attachment.html>


More information about the cfe-dev mailing list