Don't capture DeclRefExpr::getNameInfo().getInfo(). It returns reference in temporary...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 29 Oct 2014 08:11:47 +0000 (08:11 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Wed, 29 Oct 2014 08:11:47 +0000 (08:11 +0000)
commit44d4d9a4cb1b590f81b5bf08b922e1ec2715e90e
treedfba0ad1f4289814770676c5d9b3e7a9a2c523e0
parent815d752b93112accaa053c57c5225651f6422197
Don't capture DeclRefExpr::getNameInfo().getInfo(). It returns reference in temporary object.

DeclarationNameInfo::getInfo() returns reference, but DeclRefExpr::getNameInfo() returns temporary DeclarationNameInfo().

It triggered a local crash for me.

  Failing Tests (1):
      Clang :: SemaTemplate/instantiate-overload-candidates.cpp

  Assertion failed!
  Program: bin\clang.EXE
  File: clang/lib/Basic/SourceManager.cpp, Line 822
  Expression: 0 && "Invalid SLocOffset or bad function choice"

llvm-svn: 220841
clang/lib/Sema/TreeTransform.h