[cfe-dev] New C++0x feature support in Clang

Douglas Gregor dgregor at apple.com
Thu Feb 3 15:16:37 PST 2011


On Feb 3, 2011, at 3:07 PM, John Bytheway wrote:

> On 31/01/11 16:15, Douglas Gregor wrote:
>> We *should* have enough C++0x support to handle GCC 4.3 and 4.4's
>> headers. >= 4.5 headers will still cause problems due to their use of
>> generalized initializer lists.
> 
> I still see plenty of errors including the gcc 4.4.5 headers (using llvm
> and clang r124819).  Is there any option clang needs besides
> -std=gnu++0x?  Are these errors worth reporting?

It's worth reporting if you can narrow the problems down to smaller tests cases; that helps a lot.

> Here are a few extracts from one attempted compilation as examples:
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/include/g++-v4/exception_ptr.h:143:13:
> error: unknown type name 'type_info'
>      const type_info*
>            ^

I'm guessing that this is actually a GCC bug; did they forget to include <typeinfo>?

> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/include/g++-v4/ext/string_conversions.h:40:60:
> error: template parameter missing a default argument
>  template<typename _TRet, typename _Ret = _TRet, typename _CharT,
>                                                           ^

If this is a function template, then it's a Clang bug.

> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/include/g++-v4/bits/basic_string.h:2570:12:
> error: no matching function for call to '__stoa'
>  { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
>           ^~~~~~~~~~~~~~~~~
> 
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.5/include/g++-v4/tr1_impl/cmath:322:12:
> error: use of undeclared identifier '__builtin_acoshf'
>  { return __builtin_acoshf(__x); }
>           ^

More missing built-ins, apparently. It'd be good to file a bug about this.

> clang: SemaCXXCast.cpp:612: TryCastResult TryStaticCast(clang::Sema&,
> clang::Expr*&, clang::QualType, bool, const clang::SourceRange&,
> unsigned int&, clang::CastKind&, clang::CXXCastPath&): Assertion
> `SrcType->getAs<EnumType>()->getDecl()->isScoped()' failed.


Can you identify the problematic code here and file a bug?

	- Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110203/0ab53672/attachment.html>


More information about the cfe-dev mailing list