]> granicus.if.org Git - clang/commit
Add another IntExprEvaluator::Success overload to suck up remained of
authorDaniel Dunbar <daniel@zuster.org>
Thu, 19 Feb 2009 18:37:50 +0000 (18:37 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 19 Feb 2009 18:37:50 +0000 (18:37 +0000)
commit3f7d995390009fede92b333a040da80e1ce90997
tree6eafed95cc92216dbadebff6727389271af2a19f
parentb66158c299786042cd6277b163a2c20fd3d11da5
Add another IntExprEvaluator::Success overload to suck up remained of
manual setting of the Result.

 - Idiom now enforces that result will always have correct width and
   type; this exposed three new bugs:

    o Enum constant decl value can have different width than type
      (PR3173).

    o EvaluateInteger should not run an IntExprEvaluator over
      non-integral expressions.

    o FloatExprEvaluate was not handling casts correctly (it was
      evaluating the cast in the IntExprEvaluator!).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65053 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ExprConstant.cpp