diff options
author | Chris Lattner <sabre@nondot.org> | 2011-04-25 20:37:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-04-25 20:37:58 +0000 |
commit | 223de2497fdaacf3a6b0a123c12265ca837abf19 (patch) | |
tree | b6645879c663bca5308afcd245e1a1fdca17787f /lib/Sema/TreeTransform.h | |
parent | 62c9258f4a71569a66d805fc7776526a2c76b34e (diff) |
fix PR9474, a crash with -fshort-enum and C++ templates: when instantiating
the enum decl, we need to use an integer type the same size as the enumerator,
which may not be the promoted type with packed enums.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130148 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/TreeTransform.h')
-rw-r--r-- | lib/Sema/TreeTransform.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index c642e642cc..b2aa85e719 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -2819,8 +2819,7 @@ bool TreeTransform<Derived>::TransformTemplateArgument( Expr *InputExpr = Input.getSourceExpression(); if (!InputExpr) InputExpr = Input.getArgument().getAsExpr(); - ExprResult E - = getDerived().TransformExpr(InputExpr); + ExprResult E = getDerived().TransformExpr(InputExpr); if (E.isInvalid()) return true; Output = TemplateArgumentLoc(TemplateArgument(E.take()), E.take()); return false; |