]> granicus.if.org Git - clang/commit
[Sema] Introduce a data recursive evaluator specific to binary operators.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 15 Mar 2012 18:07:16 +0000 (18:07 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Thu, 15 Mar 2012 18:07:16 +0000 (18:07 +0000)
commitcc2f77a7dbc5fb58fe188d55fbfb074e80fe5663
tree5662957938958f481250593a882fb3ab0a02a7c7
parent649dfbc389671d0c852ead5953da630d675a5d43
[Sema] Introduce a data recursive evaluator specific to binary operators.

This allows us to handle extreme cases of chained binary operators without causing stack
overflow.
The binary operators that are handled with the data recursive evaluator are
comma, logical, or operators that have operands with integral or enumeration type.

Part of rdar://10941790.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152819 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ExprConstant.cpp
test/Sema/many-logical-ops.c [new file with mode: 0644]