summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDecl.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-03-04 04:23:07 +0000
committerChris Lattner <sabre@nondot.org>2009-03-04 04:23:07 +0000
commit34a2209177d7c137d2fde410e2a27de4d5c5e78a (patch)
tree35085412d93f237f91d5299d33afef039280a12e /clang/lib/CodeGen/CGDecl.cpp
parenta1493b3b4d75f73be81423eb3e1dafc47f37ed3f (diff)
downloadbcm5719-llvm-34a2209177d7c137d2fde410e2a27de4d5c5e78a.tar.gz
bcm5719-llvm-34a2209177d7c137d2fde410e2a27de4d5c5e78a.zip
Change Parser::ParseCaseStatement to use an iterative approach to parsing
multiple sequential case statements instead of doing it with recursion. This fixes a problem where we run out of stack space parsing 100K directly nested cases. There are a couple other problems that prevent this from being useful in practice (right now the example only parses correctly with -disable-free and doesn't work with -emit-llvm), but this is a start. I'm not including a testcase because it is large and uninteresting for regtesting. Sebastian, I would appreciate it if you could scrutinize the smart pointer gymnastics I do. llvm-svn: 66011
Diffstat (limited to 'clang/lib/CodeGen/CGDecl.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud