aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/PCHReaderDecl.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2009-05-22 21:09:47 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2009-05-22 21:09:47 +0000
commitf40882a38baf258fa10e362003f6939a590074bb (patch)
tree383f36c88c28cd971bfcb1cae1f405609a0ddee8 /lib/Frontend/PCHReaderDecl.cpp
parent6f421f91849418883186592051fce05339ee62e9 (diff)
The disambiguation process for ambiguous paren expressions is not "side effects free", e.g:
(T(*)(int[x+y])); is an (invalid) paren expression, but "x+y" will be parsed as part of the (rejected) type-id, so unnecessary Action calls are made for an unused (and possibly leaked) "x+y". Use a different scheme, similar to parsing inline methods. The parenthesized tokens are cached, the context that follows is determined (possibly by parsing a cast-expression), and then we re-introduce the cached tokens into the token stream and parse them appropriately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72279 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReaderDecl.cpp')
0 files changed, 0 insertions, 0 deletions