diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-28 22:28:35 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-06-28 22:28:35 +0000 |
commit | d0795b2d787c418a2c87c0d5be5a169eec7552da (patch) | |
tree | c73dbfb06fb64dd9538a456e535208976600947f /clang/lib/CodeGen/CGCall.cpp | |
parent | 4469a892b464e39c861bef6488aa5da628c1da54 (diff) | |
download | bcm5719-llvm-d0795b2d787c418a2c87c0d5be5a169eec7552da.tar.gz bcm5719-llvm-d0795b2d787c418a2c87c0d5be5a169eec7552da.zip |
Modify the way sub-statements are stored and retrieved from PCH.
Before this commit, sub-stmts were stored as encountered and when they were placed in the Stmts stack we had to know what index
each stmt operand has. This complicated supporting variable sub-stmts and sub-stmts that were contained in TypeSourceInfos, e.g.
x = sizeof(int[1]);
would crash PCH.
Now, sub-stmts are stored in reverse order, from last to first, so that when reading them, in order to get the next sub-stmt we just
need to pop the last stmt from the stack. This greatly simplified the way stmts are written and read (just use PCHWriter::AddStmt and
PCHReader::ReadStmt accordingly) and allowed variable stmt operands and TypeSourceInfo exprs.
llvm-svn: 107087
Diffstat (limited to 'clang/lib/CodeGen/CGCall.cpp')
0 files changed, 0 insertions, 0 deletions