PR19598: Provide the ability to RAUW a declaration with itself, creating a non-tempor...
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 6 May 2014 03:41:57 +0000 (03:41 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 6 May 2014 03:41:57 +0000 (03:41 +0000)
commit40a1b74db686fc3f153dcc01713d1bb51d3c24da
tree9de138607a70339d2cd7b3d07b033300001bd28e
parent5c34f99911a2717b830d2ef0521353cca5f530b6
PR19598: Provide the ability to RAUW a declaration with itself, creating a non-temporary copy and using that to RAUW.

Also, provide the ability to create temporary and non-temporary
declarations, as not all declarations may be replaced by definitions
later on.

This provides the necessary infrastructure for Clang to fix PR19598,
leaking temporary MDNodes in Clang's debug info generation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208054 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/DIBuilder.h
include/llvm/IR/DebugInfo.h
lib/IR/DIBuilder.cpp
lib/IR/DebugInfo.cpp