summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineVerifier.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-05-06 17:25:47 +0000
committerDouglas Gregor <dgregor@apple.com>2010-05-06 17:25:47 +0000
commite60e41add90ad34557655b5f763d56ced62de508 (patch)
treeb0474f9d7c18bf92fa8ca54d275766ce54d95406 /llvm/lib/CodeGen/MachineVerifier.cpp
parentf0ac19a6d54de51d0f85eeb89d47897f2ef7c2cc (diff)
downloadbcm5719-llvm-e60e41add90ad34557655b5f763d56ced62de508.tar.gz
bcm5719-llvm-e60e41add90ad34557655b5f763d56ced62de508.zip
Rework our handling of temporary objects within the conditions of
if/switch/while/do/for statements. Previously, we would end up either: (1) Forgetting to destroy temporaries created in the condition (!), (2) Destroying the temporaries created in the condition *before* converting the condition to a boolean value (or, in the case of a switch statement, to an integral or enumeral value), or (3) In a for statement, destroying the condition's temporaries at the end of the increment expression (!). We now destroy temporaries in conditions at the right times. This required some tweaking of the Parse/Sema interaction, since the parser was building full expressions too early in many places. Fixes PR7067. llvm-svn: 103187
Diffstat (limited to 'llvm/lib/CodeGen/MachineVerifier.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud