blob: 4e649a533543b627abb94a7b2e4f34966f8e785b [file] [log] [blame]
/* APPLE LOCAL file Radar 4382844 */
/* { dg-do compile } */
#include <vector>
struct vec3 {
inline vec3() : x(0), y(0), z(0) {}
inline vec3(const vec3 &V) : x(V.x), y(V.y), z(V.z) {}
union {
struct {
float x,y,z;
};
float v[3];
};
};
namespace WorldEngine
{
class Water
{
protected:
struct Patch;
typedef std::vector< Patch > PatchVec;
public:
Water( void );
virtual void aboutToBeDeleted( void );
protected:
virtual ~Water( void ){}
struct Patch
{
int indices[4];
bool under[4];
vec3 normal0;
Patch( void )
{
for ( int i = 0; i < 4; i++ )
{
}
}
Patch( const Patch &c ):
normal0( c.normal0 )
{
for ( int i = 0; i < 4; i++ )
{
indices[i] = c.indices[i];
}
}
};
class EdgeCell
{
public:
PatchVec _patches;
EdgeCell( );
virtual void aboutToBeDeleted( Patch p1);
};
};
}
extern void foo (int i);
namespace WorldEngine
{
Water::Water( void )
{
}
Water::EdgeCell::EdgeCell( )
{}
void Water::EdgeCell::aboutToBeDeleted(Patch p1)
{
PatchVec::iterator it( _patches.begin() ), end( _patches.end() );
for ( ; it != end; ++it )
{
Patch p( *it );
foo (p.indices[3]);
}
}
}