diff --git a/Eigen/src/Core/arch/SSE/MathFunctions.h b/Eigen/src/Core/arch/SSE/MathFunctions.h
index 4d2757429..5675594df 100644
--- a/Eigen/src/Core/arch/SSE/MathFunctions.h
+++ b/Eigen/src/Core/arch/SSE/MathFunctions.h
@@ -30,7 +30,7 @@
 #ifndef EIGEN_MATH_FUNCTIONS_SSE_H
 #define EIGEN_MATH_FUNCTIONS_SSE_H
 
-static EIGEN_DONT_INLINE Packet4f ei_plog(Packet4f x)
+static EIGEN_DONT_INLINE EIGEN_UNUSED Packet4f ei_plog(Packet4f x)
 {
   _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
   _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
@@ -108,7 +108,7 @@ static EIGEN_DONT_INLINE Packet4f ei_plog(Packet4f x)
   return _mm_or_ps(x, invalid_mask); // negative arg will be NAN
 }
 
-static EIGEN_DONT_INLINE Packet4f ei_pexp(Packet4f x)
+static EIGEN_DONT_INLINE EIGEN_UNUSED Packet4f ei_pexp(Packet4f x)
 {
   _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
   _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
@@ -181,7 +181,7 @@ static EIGEN_DONT_INLINE Packet4f ei_pexp(Packet4f x)
    surprising but correct result.
 */
 
-static EIGEN_DONT_INLINE Packet4f ei_psin(Packet4f x)
+static EIGEN_DONT_INLINE EIGEN_UNUSED Packet4f ei_psin(Packet4f x)
 {
   _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
   _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
@@ -280,7 +280,7 @@ static EIGEN_DONT_INLINE Packet4f ei_psin(Packet4f x)
 }
 
 /* almost the same as ei_psin */
-static Packet4f ei_pcos(Packet4f x)
+static EIGEN_DONT_INLINE EIGEN_UNUSED Packet4f ei_pcos(Packet4f x)
 {
   _EIGEN_DECLARE_CONST_Packet4f(1 , 1.0f);
   _EIGEN_DECLARE_CONST_Packet4f(half, 0.5f);
@@ -365,7 +365,7 @@ static Packet4f ei_pcos(Packet4f x)
   return _mm_xor_ps(y, sign_bit);
 }
 
-static Packet4f ei_psqrt(Packet4f _x)
+static EIGEN_UNUSED Packet4f ei_psqrt(Packet4f _x)
 {
   Packet4f half = ei_pmul(_x, ei_pset1(.5f));
   Packet4f x = _mm_rsqrt_ps(_x);
diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h
index d3b94ebb3..bd1b7433e 100644
--- a/Eigen/src/Core/util/Macros.h
+++ b/Eigen/src/Core/util/Macros.h
@@ -84,11 +84,6 @@
 #define EIGEN_TUNE_FOR_CPU_CACHE_SIZE (sizeof(float)*256*256)
 #endif
 
-// FIXME this should go away quickly
-#ifdef EIGEN_TUNE_FOR_L2_CACHE_SIZE
-#error EIGEN_TUNE_FOR_L2_CACHE_SIZE is now called EIGEN_TUNE_FOR_CPU_CACHE_SIZE.
-#endif
-
 /** Allows to disable some optimizations which might affect the accuracy of the result.
   * Such optimization are enabled by default, and set EIGEN_FAST_MATH to 0 to disable them.
   * They currently include:
@@ -175,6 +170,12 @@ using Eigen::ei_cos;
 #define EIGEN_DEPRECATED
 #endif
 
+#if (defined __GNUC__)
+#define EIGEN_UNUSED __attribute__((unused))
+#else
+#define EIGEN_UNUSED
+#endif
+
 #if (defined __GNUC__)
 #define EIGEN_ASM_COMMENT(X)  asm("#"X)
 #else