summaryrefslogtreecommitdiff
path: root/.qmake.conf
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-06-09 12:23:43 +0200
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>2015-06-10 12:47:18 +0000
commit25ad8b7a1f05f0dee8010f56f42242aa62b6f375 (patch)
tree09c67645b5f5fedecfc494b511fd0ed2d4d89550 /.qmake.conf
parentec9ab0ba6d0e28fc63f9ff28135ec9911ffa882b (diff)
downloadqtxmlpatterns-25ad8b7a1f05f0dee8010f56f42242aa62b6f375.tar.gz
Implement bison parser stack re(al)location.
The elements on the parser stack are of a complex type, which bison generated parsers don't know how to reallocate when they need to grow the stack. This patch implements yyoverflow, which is called whenever the parser runs out of stack space. The size of the elements is quite large (152 bytes on x86_64), so the initial stack (which is allocated on the C stack) is set to 1 element. Any subsequent reallocations are done by using QVector for reallocation, copying the elements, and handling the deallocation. Because of the size of the elements, the stack (vectors) are grown linearly. The upper limit of the stack size if left at 10000 elements, which should really be enough for an lalr(1) grammar. Task-number: QTBUG-4470 Change-Id: Ic1ef08655b388c38ef452d03a425cbd31b91825b Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to '.qmake.conf')
0 files changed, 0 insertions, 0 deletions