]> granicus.if.org Git - clang/commit
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)
commit4104b7b2176e3ab846c507e3c93eea257e309932
tree292ebc5b40004597f54225a8eb6a6f73c0e794aa
parenta61c9c98319fa18db0856b5fc1ce0490e61dc06a
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"

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220841 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/TreeTransform.h