[ET Trac] [Einstein Toolkit] #2078: thorn vectors fails if vectorization is disabled

Einstein Toolkit trac-noreply at einsteintoolkit.org
Mon Dec 25 09:41:08 CST 2017


#2078: thorn vectors fails if vectorization is disabled
------------------------------------+---------------------------------------
  Reporter:  rhaas                  |       Owner:                     
      Type:  defect                 |      Status:  new                
  Priority:  major                  |   Milestone:                     
 Component:  EinsteinToolkit thorn  |     Version:  development version
Resolution:                         |    Keywords:  Vectors            
------------------------------------+---------------------------------------

Comment (by rhaas):

 Ok, got a test case:

 {{{
 diff --git a/Vectors/src/vectors.cc b/Vectors/src/vectors.cc
 index a2725d3..ffbf9b2 100644
 --- a/Vectors/src/vectors.cc
 +++ b/Vectors/src/vectors.cc
 @@ -7,5 +7,8 @@
  extern "C" int Vectors_Startup(void) {
    CCTK_VInfo(CCTK_THORNSTRING, "Using vector size %d for architecture
 %s",
               CCTK_REAL_VEC_SIZE, vec_architecture);
 +
 +  CCTK_REAL myscal = 42.;
 +  vectype<CCTK_REAL> myvec(myscal);
    return 0;
  }
 }}}
 which fails with:
 {{{
 n file included from
 /data/rhaas/postdoc/gr/cactus/ET_trunk/configs/sim/build/Vectors/vectors.cc:1:0:
 /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CactusUtils/Vectors/src/vectors.h:
 In instantiation of ‘class vectype<double>’:
 /data/rhaas/postdoc/gr/cactus/ET_trunk/configs/sim/build/Vectors/vectors.cc:12:34:
 required from here
 /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CactusUtils/Vectors/src/vectors.h:671:22:
 error: ‘constexpr vectype<T>::vectype(const scalar_t&) [with T = double;
 vectype<T>::scalar_t = double]’ cannot be overloaded
    explicit constexpr vectype(scalar_t const &a) : v(props::set1(a)) {}
                       ^~~~~~~
 /data/rhaas/postdoc/gr/cactus/ET_trunk/arrangements/CactusUtils/Vectors/src/vectors.h:670:13:
 error: with ‘constexpr vectype<T>::vectype(const vector_t&) [with T =
 double; vectype<T>::vector_t = double]’
    constexpr vectype(vector_t const &x) : v(x) {}
              ^~~~~~~
 }}}
 I attach a tarball of the modified Vectors thorn as well as config-info.

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/2078#comment:3>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list