Hello Everyone, One of the struct field used by array notations (struct inv_list) was accidentaly set to the type enum rid, but the correct value should be enum tree_code. This was changed in the following patch. This was causing a warning. The field is only used by C++ (which patch is still under review). It is committed as obvious. I am willing to revert this patch or modify it if anyone has objections.
2013-06-20 Balaji V. Iyer <balaji.v.i...@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. Thanks, Balaji V. Iyer. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3d8f68f..a0f195b 100644 Binary files a/gcc/c-family/ChangeLog and b/gcc/c-family/ChangeLog differ diff --git a/gcc/c-family/array-notation-common.c b/gcc/c-family/array-notation- common.c index 489b67c..c82d7dc 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 8eaf54f..82625d7 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. */