diff --git a/Sema/Sema.h b/Sema/Sema.h
index 7eae182..e1de7d3 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -407,7 +407,7 @@
   // For simple assignment, pass both expressions and a null converted type.
   // For compound assignment, pass both expressions and the converted type.
   inline QualType CheckAssignmentOperands( // C99 6.5.16.[1,2]
-    Expr *lex, Expr *rex, SourceLocation OpLoc, QualType convertedType);
+    Expr *lex, Expr *&rex, SourceLocation OpLoc, QualType convertedType);
   inline QualType CheckCommaOperands( // C99 6.5.17
     Expr *&lex, Expr *&rex, SourceLocation OpLoc);
   inline QualType CheckConditionalOperands( // C99 6.5.15
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp
index 31b612c..46e5a10 100644
--- a/Sema/SemaDecl.cpp
+++ b/Sema/SemaDecl.cpp
@@ -415,8 +415,12 @@
       NewVD = MergeVarDecl(NewVD, PrevDecl);
       if (NewVD == 0) return 0;
     }
-    
-    NewVD->setInit(Init);
+    if (Init) {
+      AssignmentCheckResult result;
+      result = CheckSingleAssignmentConstraints(R, Init);
+      // FIXME: emit errors if appropriate.
+      NewVD->setInit(Init);
+    }
     New = NewVD;
   }
   
diff --git a/Sema/SemaExpr.cpp b/Sema/SemaExpr.cpp
index a0fa38e..a86a255 100644
--- a/Sema/SemaExpr.cpp
+++ b/Sema/SemaExpr.cpp
@@ -527,6 +527,8 @@
 
       AssignmentCheckResult result = CheckSingleAssignmentConstraints(lhsType,
                                                                       argExpr);
+      if (Args[i] != argExpr) // The expression was converted.
+        Args[i] = argExpr; // Make sure we store the converted expression.
       SourceLocation l = argExpr->getLocStart();
 
       // decode the result (notice that AST's are still created for extensions).
@@ -929,8 +931,16 @@
   // DeclExpr's (created by ParseIdentifierExpr), it would mess up the unary
   // expressions that surpress this implicit conversion (&, sizeof).
   DefaultFunctionArrayConversion(rExpr);
+
+  Sema::AssignmentCheckResult result;
   
-  return CheckAssignmentConstraints(lhsType, rExpr->getType());
+  result = CheckAssignmentConstraints(lhsType, rExpr->getType());
+  
+  // C99 6.5.16.1p2: The value of the right operand is converted to the
+  // type of the assignment expression.
+  if (rExpr->getType() != lhsType)
+    promoteExprToType(rExpr, lhsType);
+  return result;
 }
 
 Sema::AssignmentCheckResult
@@ -1166,7 +1176,7 @@
 }
 
 inline QualType Sema::CheckAssignmentOperands( // C99 6.5.16.1
-  Expr *lex, Expr *rex, SourceLocation loc, QualType compoundType) 
+  Expr *lex, Expr *&rex, SourceLocation loc, QualType compoundType) 
 {
   QualType lhsType = lex->getType();
   QualType rhsType = compoundType.isNull() ? rex->getType() : compoundType;
