http://llvm.org/bugs/show_bug.cgi?id=9140
Summary: Assertion failure in clang++ in gnu++0x mode
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: C++0x
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
Created an attachment (id=6102)
--> (http://llvm.org/bugs/attachment.cgi?id=6102)
Output from compiling, including assertion failure and backtrace
The following (invalid) code triggers an assertion failure in clang++.
The assertion is "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."; full
output in the attachment.
The source code has been reduced with multidelta, so looks a bit odd.
$ clang++ --version
clang version 2.9 (trunk 124897)
Target: x86_64-unknown-linux-gnu
Thread model: posix
$ cat assertion.cpp
template < typename _Tp > class allocator:public __gnu_cxx::new_allocator < _Tp
>
{
}
class c_storage_order {
template < typename T, std::size_t NumDims, typename Allocator =
std::allocator < T > >class multi_array;
template < typename T,
std::size_t NumDims >
class multi_array_ref:public const_multi_array_ref < T, NumDims, T * > {
} template < typename T, std::size_t NumDims,
typename Allocator > class multi_array:public multi_array_ref < T,
NumDims > {
typedef multi_array_ref < T, NumDims > super_type;
explicit multi_array():super_type((T *) initial_base_, c_storage_order(),
0, 0) {
}
enum {
initial_base_ = 0
};
};
class BoardState {
struct Board:utility::DataClass < Board, boost::multi_array < BoardState,
2 >, states > {
Board() {
$ clang++ --std=gnu++0x -o /dev/null assertion.cpp > compile-output 2>&1
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs