diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2010-03-31 18:34:58 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2010-03-31 18:34:58 +0000 |
| commit | b32b344c8f8194e5b38113c4ed0ab8098c1e4188 (patch) | |
| tree | d60ee28fd90804b2407168a00211ae5d77251b68 /clang/lib/Sema | |
| parent | c1fb862fda6091abdce88ad334ebd55021b8b203 (diff) | |
| download | bcm5719-llvm-b32b344c8f8194e5b38113c4ed0ab8098c1e4188.tar.gz bcm5719-llvm-b32b344c8f8194e5b38113c4ed0ab8098c1e4188.zip | |
Re-bind non-dependent CXXTemporaryObjectExpr nodes as temporaries when
instantiating a template, which ensures the destructor is called. This fixes
PR6671.
llvm-svn: 100029
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/TreeTransform.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 5d3f21e4e8c..361ab2e78c9 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -5134,7 +5134,7 @@ TreeTransform<Derived>::TransformCXXTemporaryObjectExpr( !ArgumentChanged) { // FIXME: Instantiation-specific SemaRef.MarkDeclarationReferenced(E->getTypeBeginLoc(), Constructor); - return SemaRef.Owned(E->Retain()); + return SemaRef.MaybeBindToTemporary(E->Retain()); } // FIXME: Bogus location information |

