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

Reply via email to