In c99 mode, comma does do function/array promotion even though
it does not do unary promotions (like short->int).
llvm-svn: 54058
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 0e70c82..71482c2 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -1894,7 +1894,9 @@
inline QualType Sema::CheckCommaOperands( // C99 6.5.17
Expr *&lex, Expr *&rex, SourceLocation loc) {
- // Comma does not perform unary or binary promotions.
+
+ // Comma performs lvalue conversion (C99 6.3.2.1), but not unary conversions.
+ DefaultFunctionArrayConversion(rex);
return rex->getType();
}