diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 3d8f68f7d310b669eda7b8bc211916e0ebecade7..a0f195b7a49d3c8e5c84fb59473dcaba5089f454 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,10 @@
+2013-06-20  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+	* array-notation-common.c (find_inv_trees): Removed an unwanted
+	typecasting.
+	* c-common.h (struct inv_list::additional_tcodes): Changed type from
+	enum rid to enum tree_code.
+
 2013-06-11  Jan Hubicka  <jh@suse.cz>
 
 	* c-common.c (handle_alias_ifunc_attribute): Do not set
diff --git a/gcc/c-family/array-notation-common.c b/gcc/c-family/array-notation-common.c
index 489b67cafb9a09f32c4164e38c3b9e6dab608861..c82d7dc8b8095423e9f63a94c161b5b7e47febc3 100644
--- a/gcc/c-family/array-notation-common.c
+++ b/gcc/c-family/array-notation-common.c
@@ -484,7 +484,7 @@ find_inv_trees (tree *tp, int *walk_subtrees, void *data)
 	 tree codes such as TARGET_EXPR must be eliminated.  These codes are
 	 passed into additional_tcodes and are walked through and checked.  */
       for (ii = 0; ii < vec_safe_length (i_list->additional_tcodes); ii++)
-	if (TREE_CODE (*tp) == (enum rid)(*(i_list->additional_tcodes))[ii])
+	if (TREE_CODE (*tp) == (*(i_list->additional_tcodes))[ii])
 	  *walk_subtrees = 0;
     }
   return NULL_TREE;
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index 8eaf54fe50271617ab10506a4de9d285d9b1526a..82625d7f0e414424d0974d39c20ea76219bd8df8 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1157,7 +1157,7 @@ struct inv_list
 {
   vec<tree, va_gc> *list_values;
   vec<tree, va_gc> *replacement;
-  vec<enum rid, va_gc> *additional_tcodes; 
+  vec<enum tree_code, va_gc> *additional_tcodes; 
 };
 
 /* In array-notation-common.c.  */