aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/Sema.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/Sema.h')
-rw-r--r--lib/Sema/Sema.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 64b1b0dd24..490ff65cd9 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -4153,11 +4153,16 @@ public:
/// AddAlignedAttr - Adds an aligned attribute to a particular declaration.
void AddAlignedAttr(SourceLocation AttrLoc, Decl *D, Expr *E);
+ /// CastCategory - Get the correct forwarded implicit cast result category
+ /// from the inner expression.
+ ImplicitCastExpr::ResultCategory CastCategory(Expr *E);
+
/// ImpCastExprToType - If Expr is not of type 'Type', insert an implicit
/// cast. If there is already an implicit cast, merge into the existing one.
/// If isLvalue, the result of the cast is an lvalue.
void ImpCastExprToType(Expr *&Expr, QualType Type, CastExpr::CastKind Kind,
- bool isLvalue = false,
+ ImplicitCastExpr::ResultCategory Category =
+ ImplicitCastExpr::RValue,
CXXBaseSpecifierArray BasePath =
CXXBaseSpecifierArray());