Broken Executables

Jeffrey Oldham oldham at codesourcery.com
Mon Sep 3 16:36:04 UTC 2001


I discovered two uses of deprecated Field features when testing a
QMTest regression testsuite.

1) DiscreteGeometry is no longer defined.  For example,
   src/Array/ScalarAdvection.cpp no longer compiles.  I have attached
   a partial patch, but the underlying problem is unresolved.

2) ArrayView is no longer defined.  For example,
   src/Connect/Lux/LuxConnector.Field.h uses this so
   src/Connect/Lux/test/bytefield.cpp fails to compile for me.  I have
   attached a partial patch, but the underlying problem is unresolved.

If someone has expertise in fixing these problems, feel free to do so.

Thanks,
Jeffrey D. Oldham
oldham at codesourcery.com
-------------- next part --------------
Index: ScalarAdvection.cpp
===================================================================
RCS file: /home/pooma/Repository/r2/src/Array/tests/ScalarAdvection.cpp,v
retrieving revision 1.4
diff -c -p -r1.4 ScalarAdvection.cpp
*** ScalarAdvection.cpp	2000/07/20 15:36:24	1.4
--- ScalarAdvection.cpp	2001/09/03 16:22:41
*************** int main(int argc, char *argv[])
*** 214,220 ****
    // Create two geometry objects - one allowing 1 guard layer to account for
    // stencil width and another with no guard layers to support temporaries:
  
!   typedef DiscreteGeometry<Cell, UniformRectilinearMesh<Dim> > Geometry_t;
    Geometry_t geom(mesh, GuardLayers<Dim>(1));
    Geometry_t geomNG(mesh);
  
--- 214,221 ----
    // Create two geometry objects - one allowing 1 guard layer to account for
    // stencil width and another with no guard layers to support temporaries:
  
!   Centering<2> cell = canonicalCentering<2>(CellType, Continuous);
!   typedef DiscreteGeometry<cell, UniformRectilinearMesh<Dim> > Geometry_t;
    Geometry_t geom(mesh, GuardLayers<Dim>(1));
    Geometry_t geomNG(mesh);
  
-------------- next part --------------
Index: LuxConnector.Field.h
===================================================================
RCS file: /home/pooma/Repository/r2/src/Connect/Lux/LuxConnector.Field.h,v
retrieving revision 1.2
diff -c -p -r1.2 LuxConnector.Field.h
*** LuxConnector.Field.h	2000/03/07 13:16:19	1.2
--- LuxConnector.Field.h	2001/09/03 16:26:04
***************
*** 81,90 ****
  //
  //-----------------------------------------------------------------------------
  
! template<class Geom, class T, class EngineTag>
! class Connector<Field<Geom, T, EngineTag>, Lux>
!   : public Connector<typename ArrayView<Field<Geom,T,EngineTag>,
!                      typename Field<Geom,T,EngineTag>::Domain_t>::Type_t,
                       Lux>
  {
  public:
--- 81,90 ----
  //
  //-----------------------------------------------------------------------------
  
! template<class Mesh, class T, class EngineTag>
! class Connector<Field<Mesh, T, EngineTag>, Lux>
!   : public Connector<typename ArrayView<Field<Mesh,T,EngineTag>,
!                      typename Field<Mesh,T,EngineTag>::Domain_t>::Type_t,
                       Lux>
  {
  public:
*************** public:
*** 92,98 ****
    // Public typedefs and enums
    //============================================================
  
!   typedef Field<Geom, T, EngineTag>                      Field_t;
    typedef typename Field_t::Domain_t                     Domain_t;
    typedef typename ArrayView<Field_t, Domain_t>::Type_t  Array_t;
    typedef Connector<Array_t, Lux>                        Base_t;
--- 92,98 ----
    // Public typedefs and enums
    //============================================================
  
!   typedef Field<Mesh, T, EngineTag>                      Field_t;
    typedef typename Field_t::Domain_t                     Domain_t;
    typedef typename ArrayView<Field_t, Domain_t>::Type_t  Array_t;
    typedef Connector<Array_t, Lux>                        Base_t;


More information about the pooma-dev mailing list