// PRMS Id: 6662
// Bug: we crash trying to check the access on anglesSinesCosines.
// Build don't link:

#define Double double

class GCTransform
{
  protected:
    struct angle
    {
	Double phi1 ;
	Double phi2 ;
    } ;

    struct sineAndCosine
    {
	Double cosine1 ;
	Double cosine2 ;
	Double sine1 ;
	Double sine2 ;
    } ;

    union anglesSinesCosines
    {
	struct angle a ;
	struct sineAndCosine siCo ;
    } ;
};

class GCTransTransmit : public GCTransform
{
  protected:

    struct GCTransTransmitDataTemp
    {
	union anglesSinesCosines t ; // causes abort
    } ;
} ;
