diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 861ac81..54c7640 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -185,10 +185,6 @@
   /// initializer, which can be emitted at compile-time.
   bool isConstantInitializer(ASTContext &Ctx) const;
   
-  /// @brief Determines whether this expression (or any of its
-  /// subexpressions) has side effects.
-  bool hasSideEffects(ASTContext &Ctx) const;
-
   /// EvalResult is a struct with detailed info about an evaluated expression.
   struct EvalResult {
     /// Val - This is the scalar value the expression can be folded to.
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp
index ed73bfa..d96f734 100644
--- a/lib/AST/Expr.cpp
+++ b/lib/AST/Expr.cpp
@@ -758,12 +758,6 @@
   return isEvaluatable(Ctx);
 }
 
-bool Expr::hasSideEffects(ASTContext &Ctx) const {
-  EvalResult Result;
-  Evaluate(Result, Ctx);
-  return Result.HasSideEffects;
-}
-
 /// isIntegerConstantExpr - this recursive routine will test if an expression is
 /// an integer constant expression. Note: With the introduction of VLA's in
 /// C99 the result of the sizeof operator is no longer always a constant
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
index a3c858d..66b938f 100644
--- a/lib/Sema/SemaInit.cpp
+++ b/lib/Sema/SemaInit.cpp
@@ -845,7 +845,7 @@
       << InitRange;
     SemaRef->Diag(ExistingInit->getSourceRange().getBegin(), 
                   diag::note_previous_initializer)
-      << ExistingInit->hasSideEffects(SemaRef->Context)
+      << /*FIXME:has side effects=*/0
       << ExistingInit->getSourceRange();
   }
 
@@ -882,7 +882,7 @@
       << expr->getSourceRange();
     SemaRef->Diag(PrevInit->getSourceRange().getBegin(), 
                   diag::note_previous_initializer)
-      << (int)PrevInit->hasSideEffects(SemaRef->Context)
+      << /*FIXME:has side effects=*/0
       << PrevInit->getSourceRange();
   }
   
