http://llvm.org/bugs/show_bug.cgi?id=12775
Bug #: 12775
Summary: Error recovery can trigger Assertion
`isa<LabelDecl>(D) && "declaration not instantiated in
this scope"' (SemaTemplateInstantiate.cpp:2563)
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: C++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
Classification: Unclassified
Created attachment 8519
--> http://llvm.org/bugs/attachment.cgi?id=8519
reduced test case (provided by C.S.)
Running clang trunk on x86-64 on:
template<typename _CharT> struct char_traits {
};
template<typename _Facet> template<typename _CharT, typename _Traits =
char_traits<_CharT> > const _Facet& use_facet(const locale&);
template<typename _CharT> class collate;
extern template const collate<char>& use_facet<collate<char> >(const
locale&);
results in:
In file included from prog.cpp:1:
prog.cpp:3:132: error: unknown type name 'locale'
template<typename _Facet> template<typename _CharT, typename _Traits =
char_traits<_CharT> > const _Facet& use_facet(const locale&);
^
prog.cpp:3:9: error: extraneous template parameter list in template
specialization or out-of-line template definition
template<typename _Facet> template<typename _CharT, typename _Traits =
char_traits<_CharT> > const _Facet& use_facet(const locale&);
^~~~~~~~~~~~~~~~~~~~~~~~~
prog.cpp:3:70: warning: default template arguments for a function template are
a C++11 extension [-Wc++11-extensions]
template<typename _Facet> template<typename _CharT, typename _Traits =
char_traits<_CharT> > const _Facet& use_facet(const locale&);
^
~~~~~~~~~~~~~~~~~~~
prog.cpp:5:78: error: unknown type name 'locale'
extern template const collate<char>& use_facet<collate<char> >(const
locale&);
^
clang:
/nfs2/hfinkel/src/llvm-trunk-writable/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp:2563:
llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::Decl*, 4u>*>*
clang::LocalInstantiationScope::findInstantiationOf(const clang::Decl*):
Assertion `isa<LabelDecl>(D) && "declaration not instantiated in this scope"'
failed.
--
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