llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.4k stars 12.15k forks source link

Assertion `false && "Unable to find declaration for the current instantiation"' failed #6611

Closed llvmbot closed 14 years ago

llvmbot commented 14 years ago
Bugzilla Link 6239
Resolution FIXED
Resolved on Feb 22, 2010 12:52
Version trunk
OS Linux
Blocks llvm/llvm-project#6395
Reporter LLVM Bugzilla Contributor
CC @DougGregor

Extended Description

Gcc compiles the following fragment without errors.

clang++ crashes with the following assertion failure at SemaTemplateInstantiateDecl.cpp:2219.

The fragment was reduced from a boost header file.

==================== template
struct class_has_move_assign {
class type { typedef T E;
template // subsitute T for E and bug goes away struct sfinae { };

  template <class U>  
  typename sfinae<&U::operator=>::type test(int);  

}; };

DougGregor commented 14 years ago

Fixed here:

http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100201/027201.html