diff options
author | Dan Gohman <dan433584@gmail.com> | 2013-03-27 18:44:56 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2013-03-27 18:44:56 +0000 |
commit | 38a723830cee87aac2141e5c8435fce4d81406af (patch) | |
tree | a3a6e31a77b9fe9a4cf483b3a24633321f41095c /llvm/utils/TableGen/CodeGenSchedule.cpp | |
parent | f1af79ab45be4f840a2db661894f32789cae13c9 (diff) | |
download | bcm5719-llvm-38a723830cee87aac2141e5c8435fce4d81406af.tar.gz bcm5719-llvm-38a723830cee87aac2141e5c8435fce4d81406af.zip |
Avoid undefined behavior from passing a std::vector's own contents
in as an argument to push_back.
llvm-svn: 178166
Diffstat (limited to 'llvm/utils/TableGen/CodeGenSchedule.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenSchedule.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/CodeGenSchedule.cpp b/llvm/utils/TableGen/CodeGenSchedule.cpp index 818fce2048c..886c4c63944 100644 --- a/llvm/utils/TableGen/CodeGenSchedule.cpp +++ b/llvm/utils/TableGen/CodeGenSchedule.cpp @@ -1105,7 +1105,9 @@ void PredTransitions::getIntersectingVariants( // Push another copy of the current transition for more variants. Variant.TransVecIdx = TransVec.size(); IntersectingVariants.push_back(Variant); - TransVec.push_back(TransVec[TransIdx]); + + PredTransition Trans = TransVec[TransIdx]; + TransVec.push_back(Trans); } } } |