[PATCH] WIP Fix for temporary destructors in conditionals

Pavel Labath labath at google.com
Fri Aug 9 06:01:41 PDT 2013


  (Hopefully) really final this time.

  I accidentaly included also changes from D1340, so I removed them now. D1340 is
  a prerequisite for this patch. The patch includes changes from the reverted
  "temporary destructors" patch + assorted bugfixes.

  ExprEngine:
  Because the code in D1340 stores the values of individual sub-expressions in the
  environment, I can simply run retrieve them when I run through the expression
  the second time. Liveness algorithm makes sure this bindings are not purged
  ahead of time. This solves the conditional temporary destructors problem.

  CFG, ExprEngineCXX: Fix crashes when handling array destructors.

Hi jordan_rose,

http://llvm-reviews.chandlerc.com/D1259

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D1259?vs=3317&id=3318#toc

Files:
  lib/Analysis/CFG.cpp
  lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
  lib/StaticAnalyzer/Core/ExprEngine.cpp
  lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  test/Analysis/analyzer-config.c
  test/Analysis/analyzer-config.cpp
  test/Analysis/dtor.cpp
  test/Analysis/temp-obj-dtors-cfg-output.cpp
  test/Analysis/temporaries.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1259.4.patch
Type: text/x-patch
Size: 8064 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130809/2f8a4801/attachment.bin>


More information about the cfe-commits mailing list