Hi Balaji,
I was building a native gcc with trunk r200117,
but I noticed the following code fragment cause -Wenum-compare warning:
[gcc/c-family/array-notation-common.c]
483 /* This function is used by C and C++ front-ends. In C++, additional
484 tree codes such as TARGET_EXPR must be eliminated. These codes are
485 passed into additional_tcodes and are walked through and checked. */
486 for (ii = 0; ii < vec_safe_length (i_list->additional_tcodes); ii++)
487 if (TREE_CODE (*tp) == (enum rid)(*(i_list->additional_tcodes))[ii])
488 *walk_subtrees = 0;
/gcc-4.9.0/gcc/c-family/array-notation-common.c: In function
'tree_node* find_inv_trees(tree_node**, int*, void*)':
/gcc-4.9.0/gcc/c-family/array-notation-common.c:487:68: warning:
comparison between 'enum tree_code' and 'enum rid' [-Wenum-compare]
if (TREE_CODE (*tp) == (enum rid)(*(i_list->additional_tcodes))[ii])
^
Seem that you are comparing different enum type.
Is this intentional? Or are there some typo or some logic error
for this piece of code?
Best regards,
jasonwucj