dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #18171
Re: [Branch ~dolfin-core/dolfin/main] Rev 4702: Add castto T* in Array class
On Fri, Apr 30, 2010 at 12:32 PM, Mehdi Nikbakht - CITG
<M.Nikbakht@xxxxxxxxxx> wrote:
> Hi,
>
> I don't think it is hardy related. I experienced the same in Lucid.
Maybe it is architecture related then? Are you on 32 or 64 bit? Both
our 64 bit linux slaves works fine [1]. It fails on my Ubuntu Hardy 32
bit laptop.
[1] http://fenics.org:8080/dolfin
Johannes
> Mehdi
>
>
> -----Original Message-----
> From: dolfin-bounces+m.nikbakht=tudelft.nl@xxxxxxxxxxxxxxxxxxx on behalf of
> Johannes Ring
> Sent: Fri 4/30/2010 12:31 PM
> To: DOLFIN Mailing List
> Subject: Re: [Dolfin] [Branch ~dolfin-core/dolfin/main] Rev 4702: Add castto
> T* in Array class
>
> Hi,
>
> This broke the build on Ubuntu Hardy:
>
> mpic++ -o dolfin/function/Function.os -c -Wall -pipe -ansi
> -BOOST_UBLAS_NDEBUG -DDEBUG -g -O2 -Werror -DHAS_MPI=1
> -DMPICH_IGNORE_CXX_SEEK -DPACKAGE_VERSION=\"0.9.7\" -DHAS_LAPACK=1
> -DHAS_SLEPC=1 -DHAS_TRILINOS=1 -DHAS_ZLIB=1 -DHAS_UMFPACK=1
> -DHAS_PETSC=1 -DHAS_CHOLMOD=1 -DHAS_CGAL=1 -DHAS_SCOTCH=1
> -DHAS_PARMETIS=1 -fno-strict-aliasing -frounding-math -fPIC -I.
> -I/home/johannr/fenics-dev/include -I/usr/include -I/usr/include
> -I/usr/include -I/usr/include/libxml2 -I/usr/lib/slepcdir/3.0.0
> -I/usr/lib/slepcdir/3.0.0/linux-gnu-c-opt/include
> -I/usr/lib/slepcdir/3.0.0/include
> -I/usr/lib/petscdir/3.0.0/linux-gnu-c-opt/include
> -I/usr/lib/petscdir/3.0.0/include -I/usr/lib/openmpi/include
> -I/usr/lib/openmpi/lib
> -I/home/johannr/src/trilinos-10.0.5-Source/Build/local/include/trilinos
> -I/usr/include -I/usr/include/suitesparse
> -I/usr/lib/petscdir/3.0.0/linux-gnu-c-opt/include
> -I/usr/lib/petscdir/3.0.0/include -I/usr/lib/openmpi/include
> -I/usr/lib/openmpi/lib -I/usr/include/suitesparse -I/usr/include
> -I/home/johannr/src/scotch_5.1.8/src/local/include -I/usr/include
> dolfin/function/Function.cpp
> dolfin/function/Function.cpp: In member function 'void
> dolfin::Function::eval(dolfin::Array<double>&, const
> dolfin::Array<double>&, const dolfin::Cell&, const ufc::cell&) const':
> dolfin/function/Function.cpp:310: error: ISO C++ says that these are
> ambiguous, even though the worst conversion for the first is better
> than the worst conversion for the second:
> ./dolfin/common/Array.h:111: note: candidate 1: const T&
> dolfin::Array<T>::operator[](dolfin::uint) const [with T = double]
> dolfin/function/Function.cpp:310: note: candidate 2: operator[](const
> double*, int) <built-in>
>
> See also the build log on the buildbot [1].
>
> Maybe it is time to upgrade the hardy-i386 slave now that Lucid is
> out? Hardy is LTS and will be supported until April 2011 [2].
>
> [1]
> http://fenics.org:8080/builders/dolfin-hardy-i386/builds/477/steps/dolfin%20build/logs/stdio
> [2] https://wiki.ubuntu.com/Releases
>
> Johannes
>
> On Thu, Apr 29, 2010 at 7:40 PM, <noreply@xxxxxxxxxxxxx> wrote:
>> ------------------------------------------------------------
>> revno: 4702
>> committer: Anders Logg <logg@xxxxxxxxx>
>> branch nick: dolfin-dev
>> timestamp: Thu 2010-04-29 17:23:41 +0200
>> message:
>> Add cast to T* in Array class
>> modified:
>> demo/adaptivity/time-series/cpp/main.cpp
>> dolfin/common/Array.h
>>
>>
>> --
>> lp:dolfin
>> https://code.launchpad.net/~dolfin-core/dolfin/main
>>
>> Your team DOLFIN Core Team is subscribed to branch lp:dolfin.
>> To unsubscribe from this branch go to
>> https://code.launchpad.net/~dolfin-core/dolfin/main/+edit-subscription
>>
>> === modified file 'demo/adaptivity/time-series/cpp/main.cpp'
>> --- demo/adaptivity/time-series/cpp/main.cpp 2010-04-27 21:07:58 +0000
>> +++ demo/adaptivity/time-series/cpp/main.cpp 2010-04-29 15:23:41 +0000
>> @@ -2,7 +2,7 @@
>> // Licensed under the GNU LGPL Version 2.1.
>> //
>> // First added: 2009-11-11
>> -// Last changed: 2010-04-27
>> +// Last changed: 2010-04-29
>> //
>> // This program demonstrates the use of the TimeSeries
>> // class for storing a series of meshes and vectors.
>> @@ -29,16 +29,13 @@
>> Mesh new_mesh = refine(mesh);
>> x.resize(new_mesh.num_vertices());
>>
>> + for (dolfin::uint i = 0; i < x.size(); i++)
>> + x.setitem(i, (t + 1.0)*static_cast<double>(i));
>> +
>> // Append to series
>> series.store(new_mesh, t);
>> series.store(x, t);
>>
>> - //for (dolfin::uint i = 0; i < x.size(); i++)
>> - // x.setitem(i, (t + 1.0)*static_cast<double>(i));
>> - for (dolfin::uint i = 0; i < x.size(); i++)
>> - x.setitem(i, 3.0);
>> - info(x, true);
>> -
>> mesh = new_mesh;
>> t += 0.2;
>> }
>>
>> === modified file 'dolfin/common/Array.h'
>> --- dolfin/common/Array.h 2010-03-11 18:48:12 +0000
>> +++ dolfin/common/Array.h 2010-04-29 15:23:41 +0000
>> @@ -4,7 +4,7 @@
>> // Modified by Anders Logg, 2010.
>> //
>> // First added: 2009-12-06
>> -// Last changed: 2010-03-11
>> +// Last changed: 2010-04-29
>>
>> #ifndef __DOLFIN_ARRAY_H
>> #define __DOLFIN_ARRAY_H
>> @@ -123,6 +123,14 @@
>> boost::shared_array<T> data()
>> { return x; }
>>
>> + /// Cast to array (const version)
>> + operator const T*() const
>> + { return x.get(); }
>> +
>> + /// Cast to array (non-const version)
>> + operator T*()
>> + { return x.get(); }
>> +
>> private:
>>
>> // Length of array
>>
>>
>>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help : https://help.launchpad.net/ListHelp
>
>
Follow ups
References