diff options
author | Enrico Granata <egranata@apple.com> | 2012-03-09 03:09:58 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-03-09 03:09:58 +0000 |
commit | 9d60f6076032f2947055f9c2791afedc29d75299 (patch) | |
tree | d961ea7c877d78445dbc9ba7d3dd87cb614306d7 /clang/lib/CodeGen/CodeGenModule.h | |
parent | effcd47eef464765c84130b667ef296da104756e (diff) | |
download | llvm-9d60f6076032f2947055f9c2791afedc29d75299.zip llvm-9d60f6076032f2947055f9c2791afedc29d75299.tar.gz llvm-9d60f6076032f2947055f9c2791afedc29d75299.tar.bz2 |
Changed ValueObject to use a dedicated ChildrenManager class to store its children, instead of an std::vector
This solves an issue where a ValueObject was getting a wrong children count (usually, a huge value) and trying to resize the vector of children to fit that many ValueObject*
Added a loop detection algorithm to the synthetic children provider for std::list
Added a few more checks to the synthetic children provider for std::vector
Both std::list and std::vector's synthetic children providers now cache the count of children instead of recomputing it every time
std::map has a field that stores the count, so there is little need to cache it on our side
llvm-svn: 152371
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions