[graphite] Fix PR39447: ICE in create_data_ref

Richard Guenther rguenther@suse.de
Tue Mar 17 13:09:00 GMT 2009


On Tue, 17 Mar 2009, Sebastian Pop wrote:

> Hi,
> 
> Attached is a patch that fixes PR39447 by looking at whether the
> operand contains COMPONENT_REFs before calling the data reference
> analysis, not after.
> 
> The patch contains a new directory in the testsuite for C++ testcases
> and a new graphite.exp file that I adapted from gcc.dg.  Janis, could
> you please have a look at the graphite.exp file?
> 
> The patch regstrapped on amd64-linux.  Okay for trunk?

The canonical way to test for COMPONENT_REF would be

 while (handled_component_p (ref))
  {
    if (TREE_CODE (ref) == COMPONENT_REF)
      return true;
    ref = TREE_OPERAND (ref);
  }

as you can have component-refs nested in array refs.

Richard.



More information about the Gcc-patches mailing list