OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [sequence_types_1.f90] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
! { dg-do compile }
! { dg-do compile }
! Tests the fix for PR28590, in which pointer components of sequence
! Tests the fix for PR28590, in which pointer components of sequence
! types would give the error that the component is itself not a
! types would give the error that the component is itself not a
! sequence type (4.4.1) if the component was not already defined.
! sequence type (4.4.1) if the component was not already defined.
!
!
! Contributed by Chris Nelson 
! Contributed by Chris Nelson 
!
!
module data_types
module data_types
  Integer, Parameter :: kindAry    = selected_int_kind(r=8)
  Integer, Parameter :: kindAry    = selected_int_kind(r=8)
  Integer, Parameter :: kindInt    = selected_int_kind(r=8)
  Integer, Parameter :: kindInt    = selected_int_kind(r=8)
  Integer, Parameter :: kindQ      = selected_real_kind(p=6,r=37)
  Integer, Parameter :: kindQ      = selected_real_kind(p=6,r=37)
  Integer, Parameter :: kindXYZ    = selected_real_kind(p=13,r=200)
  Integer, Parameter :: kindXYZ    = selected_real_kind(p=13,r=200)
  Integer, Parameter :: kindDouble = selected_real_kind(p=13,r=200)
  Integer, Parameter :: kindDouble = selected_real_kind(p=13,r=200)
  type GroupLoadInfo
  type GroupLoadInfo
    sequence
    sequence
    Integer(kindAry)          :: loadMode
    Integer(kindAry)          :: loadMode
    Integer(kindAry)          :: normalDir
    Integer(kindAry)          :: normalDir
    Real(kindQ)               :: refS, refL, refX, refY, refZ
    Real(kindQ)               :: refS, refL, refX, refY, refZ
    Real(kindQ)               :: forcex,   forcey,   forcez
    Real(kindQ)               :: forcex,   forcey,   forcez
    Real(kindQ)               :: forcexv,  forceyv,  forcezv
    Real(kindQ)               :: forcexv,  forceyv,  forcezv
    Real(kindQ)               :: momx,     momy,     momz
    Real(kindQ)               :: momx,     momy,     momz
    Real(kindQ)               :: momxv,    momyv,    momzv
    Real(kindQ)               :: momxv,    momyv,    momzv
    Real(kindQ)               :: flmassx,  flmassy,  flmassz
    Real(kindQ)               :: flmassx,  flmassy,  flmassz
    Real(kindQ)               :: flmomtmx, flmomtmy, flmomtmz
    Real(kindQ)               :: flmomtmx, flmomtmy, flmomtmz
    Real(kindQ)               :: flheatN
    Real(kindQ)               :: flheatN
  end type GroupLoadInfo
  end type GroupLoadInfo
  type GroupRigidMotion
  type GroupRigidMotion
    sequence
    sequence
    Integer(kindInt)                     :: motiontyp
    Integer(kindInt)                     :: motiontyp
    Real(kindXYZ), dimension(3)          :: xref
    Real(kindXYZ), dimension(3)          :: xref
    Real(kindXYZ), dimension(3)          :: angCurrent
    Real(kindXYZ), dimension(3)          :: angCurrent
    Real(kindXYZ), dimension(3)          :: xdot
    Real(kindXYZ), dimension(3)          :: xdot
    Real(kindXYZ), dimension(3)          :: angNew
    Real(kindXYZ), dimension(3)          :: angNew
    Real(kindXYZ), dimension(3)          :: angRate
    Real(kindXYZ), dimension(3)          :: angRate
    Real(kindDouble)                     :: curTim
    Real(kindDouble)                     :: curTim
    Real(kindXYZ)              , pointer :: properties
    Real(kindXYZ)              , pointer :: properties
    Type(PrescribedMotionData) , pointer :: PrescribeDat
    Type(PrescribedMotionData) , pointer :: PrescribeDat
  end type GroupRigidMotion
  end type GroupRigidMotion
  type PrescribedMotionData
  type PrescribedMotionData
    sequence
    sequence
    Integer(kindInt)            :: prescr_typ
    Integer(kindInt)            :: prescr_typ
    Real(kindXYZ), dimension(3) :: xvel
    Real(kindXYZ), dimension(3) :: xvel
    Real(kindXYZ)               :: amplitude
    Real(kindXYZ)               :: amplitude
    Real(kindXYZ)               :: frequency
    Real(kindXYZ)               :: frequency
    Real(kindXYZ)               :: phase
    Real(kindXYZ)               :: phase
    Real(kindXYZ), dimension(3) :: thetadot
    Real(kindXYZ), dimension(3) :: thetadot
    Real(kindXYZ), dimension(3) :: thetaddot
    Real(kindXYZ), dimension(3) :: thetaddot
  end type PrescribedMotionData
  end type PrescribedMotionData
  type GroupDeformingMotion
  type GroupDeformingMotion
    sequence
    sequence
    Integer(kindAry) :: nmodes
    Integer(kindAry) :: nmodes
  end type GroupDeformingMotion
  end type GroupDeformingMotion
  type GroupLL
  type GroupLL
    sequence
    sequence
    type(GroupLL)             , pointer :: next
    type(GroupLL)             , pointer :: next
    type(GroupLL)             , pointer :: parent
    type(GroupLL)             , pointer :: parent
    character(32)                       :: name
    character(32)                       :: name
    type(GroupDefLL)          , pointer :: entities
    type(GroupDefLL)          , pointer :: entities
    type(GroupLoadInfo)       , pointer :: loadInfo
    type(GroupLoadInfo)       , pointer :: loadInfo
    type(GroupRigidMotion)    , pointer :: RigidMotion
    type(GroupRigidMotion)    , pointer :: RigidMotion
    type(GroupDeformingMotion), pointer :: DeformingMotion
    type(GroupDeformingMotion), pointer :: DeformingMotion
  end type GroupLL
  end type GroupLL
  type GroupDefLL
  type GroupDefLL
    sequence
    sequence
    type ( GroupDefLL ), pointer            :: next
    type ( GroupDefLL ), pointer            :: next
    Integer(kindInt)                        :: zone
    Integer(kindInt)                        :: zone
    Integer(kindInt)                        :: surface
    Integer(kindInt)                        :: surface
    type ( GroupLL ), pointer               :: subGrp
    type ( GroupLL ), pointer               :: subGrp
    Integer(kindInt)                        :: normalDir
    Integer(kindInt)                        :: normalDir
    Integer(kindInt), dimension(:), pointer :: subset
    Integer(kindInt), dimension(:), pointer :: subset
  end type GroupDefLL
  end type GroupDefLL
end module data_types
end module data_types
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.