  type, extends(tPetscObject) ::  tCharacteristic
  end type tCharacteristic
  Characteristic, parameter :: PETSC_NULL_CHARACTERISTIC = tCharacteristic(0)
  Characteristic, target :: PETSC_NULL_CHARACTERISTIC_ARRAY(1) = [tCharacteristic(0)]
  Characteristic, pointer :: PETSC_NULL_CHARACTERISTIC_POINTER(:) => PETSC_NULL_CHARACTERISTIC_ARRAY
#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_CHARACTERISTIC
!DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_CHARACTERISTIC_ARRAY
!DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_CHARACTERISTIC_POINTER
#endif

  CHARACTER(LEN=*), PARAMETER :: CHARACTERISTICDA = 'da'

#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
!DEC$ ATTRIBUTES DLLEXPORT::CHARACTERISTICDA
#endif

