diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 6e67f28..030a399 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -99,6 +99,7 @@
     MLV_IncompleteVoidType,
     MLV_DuplicateVectorComponents,
     MLV_InvalidExpression,
+    MLV_LValueCast,           // Specialized form of MLV_InvalidExpression.
     MLV_IncompleteType,
     MLV_ConstQualified,
     MLV_ArrayType,
diff --git a/include/clang/Basic/DiagnosticKinds.def b/include/clang/Basic/DiagnosticKinds.def
index 692d01d8..d1f7231 100644
--- a/include/clang/Basic/DiagnosticKinds.def
+++ b/include/clang/Basic/DiagnosticKinds.def
@@ -1225,6 +1225,8 @@
      "expression is not assignable")
 DIAG(err_typecheck_incomplete_type_not_modifiable_lvalue, ERROR,
      "incomplete type '%0' is not assignable")
+DIAG(err_typecheck_lvalue_casts_not_supported, ERROR,
+     "assignment to cast is illegal, lvalue casts are not supported")
 
 DIAG(err_typecheck_duplicate_vector_components_not_mlvalue, ERROR,
      "vector is not assignable (contains duplicate components)")
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index 29d9a11..d2c9ea9 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -495,7 +495,15 @@
   case LV_NotObjectType: return MLV_NotObjectType;
   case LV_IncompleteVoidType: return MLV_IncompleteVoidType;
   case LV_DuplicateVectorComponents: return MLV_DuplicateVectorComponents;
-  case LV_InvalidExpression: return MLV_InvalidExpression;
+  case LV_InvalidExpression:
+    // If the top level is a C-style cast, and the subexpression is a valid
+    // lvalue, then this is probably a use of the old-school "cast as lvalue"
+    // GCC extension.  We don't support it, but we want to produce good
+    // diagnostics when it happens so that the user knows why.
+    if (const CStyleCastExpr *CE = dyn_cast<CStyleCastExpr>(this))
+      if (CE->getSubExpr()->isLvalue(Ctx) == LV_Valid)
+        return MLV_LValueCast;
+    return MLV_InvalidExpression;
   }
   
   QualType CT = Ctx.getCanonicalType(getType());
diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp
index a5066a8..0506b40 100644
--- a/lib/Sema/SemaExpr.cpp
+++ b/lib/Sema/SemaExpr.cpp
@@ -2345,6 +2345,10 @@
     Diag(loc, diag::err_typecheck_non_object_not_modifiable_lvalue,
          lhsType.getAsString(), lex->getSourceRange());
     return QualType();
+  case Expr::MLV_LValueCast:
+    Diag(loc, diag::err_typecheck_lvalue_casts_not_supported, 
+         lex->getSourceRange());
+    return QualType();
   case Expr::MLV_InvalidExpression:
     Diag(loc, diag::err_typecheck_expression_not_modifiable_lvalue,
          lex->getSourceRange());
diff --git a/test/Sema/block-misc.c b/test/Sema/block-misc.c
index 62b774e..c4d0c2d 100644
--- a/test/Sema/block-misc.c
+++ b/test/Sema/block-misc.c
@@ -30,7 +30,7 @@
 
 int test2(double (^S)()) {
    double (^I)(int)  = (void*) S;
-   (void*)I = (void *)S; 	// expected-error {{expression is not assignable}}
+   (void*)I = (void *)S; 	// expected-error {{assignment to cast is illegal, lvalue casts are not supported}}
 
    void *pv = I;
 
diff --git a/test/Sema/exprs.c b/test/Sema/exprs.c
index c98a7ed..8c8adc6 100644
--- a/test/Sema/exprs.c
+++ b/test/Sema/exprs.c
@@ -24,3 +24,8 @@
       var = -5;
 }
 
+// rdar://6319320
+void test5(int *X, float *P) {
+  (float*)X = P;   // expected-error {{assignment to cast is illegal, lvalue casts are not supported}}
+}
+
