https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68476

Arnout Vandecappelle <arnout at mind dot be> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |arnout at mind dot be
            Version|5.2.1                       |6.2.0

--- Comment #3 from Arnout Vandecappelle <arnout at mind dot be> ---
I just tried again with gcc 6.2 and the problem persists.

I've simplified the code to a minimal reproduction - it's so simple that it's
not worth attaching:


void foo (void* ptr);

struct Node
{
  int m_v[16];
  int m_leaf;
};

void setVolumeMass()
{
  extern struct Node* m_n[4];
  extern struct Node* m_nodes;
  int *ranks;
  int j;

  for(j=0;j<4;++j)
    {
      ranks[(int)(m_n[j]-m_nodes)]=1;
    }
  foo ((void*)( ranks ));
}



Removing one line from the code above makes it pass.


The last file that is generated when run with -da is now
btSoftBody.i.281r.vartrack. It looks to me like it's much larger than it should
be. I'll attach it, as well as the preceding btSoftBody.i.280r.alignments. When
a line is removed from the code above, the compilation continues with
btSoftBody.i.282r.mach.

Reply via email to