[Dune-devel] Latest try with Dune and Windows (Visual Studio 2015 CTP 6)
Christoph Grüninger
christoph.grueninger at iws.uni-stuttgart.de
Mon Mar 9 07:39:14 CET 2015
Hi Dune fellows,
the last weekend I gave the latest Visual Studio 2015 CTP 6 a
try. Last
October, see [1], I tried it with Visual Studio 2013 which
was really
lacking some features and needed some unbeautiful code
changes. During
the Christmas break I gave Microsoft's then latest Community
Technology
Preview (Visual Studio 2015 CTP 4+) together with a CMake 3.1
beta a
shot. The improvements were visible but so tiny, that I did
not write
an email to keep you informed.
The announcement for VS 2015 CTP 5 and 6 were not very
exciting. But
the changes helped a lot:
- dune-common: Only two patches necessary. One is for the
broken Fortran
support in CMake and unrelated to Visual Studio, sadly
FS#1540 did not
fix that. The other fix is a Unixism (unistd.h with
getpagesize) which
can be fixed by 10 lines of code after searching the
internet for five
minutes.
- dune-geometry: I was able to build libdunegeometry without
any patch.
Compared to the stupidity of reasons with older versions, I
am
impressed.
- dune-istl: as there is no library built, difficult to tell.
- dune-localfunctions: There were a bunch of path names
exceeding the
260 character path length limit. Really, Microsoft? It can
be worked
around, but not by us but the Visual Studio programmers
have to use
different function calls. Say hello to the 1980s!
- dune-grid: Here comes the bumper. In partitionset.hh we have
the code
00103 template<unsigned int p>
00104 struct PartitionSet<partitions | p>
00105 operator+(const PartitionSet<p>& set) const
00106 {
00107 return PartitionSet<partitions | p>();
00108 }
and MSVC does not like the template parameter in line 104.
I am not sure,
but is this a expression SFINAE? If yes, then we are
unlucky as this
feature needs major compiler changes which are excluded
from Visual C++
2015.
So we have to hope for Clang. The latest release 3.6.0 states
in the
release notes:
Clang can now self-host using the msvc environment on x86
and x64
Windows. This means that Microsoft C++ ABI is more or less
feature-
complete, minus exception support."
Well, nice but we need exception support. There were recently
discussion
on their mailing list how this can be achieved. Let's hope for
Clang 3.7.
All hail, Tux!
Christoph
[1]
http://lists.dune-project.org/pipermail/dune-devel/2014-October/001097.html
--
Je n'ai rien contre les étrangers, quelques uns de mes
meilleurs amis
sont des étrangers. Mais ces étrangers là ne sont pas de chez
nous!
[Agecanonix, Astérix - Le cadeau de César]
More information about the Dune-devel
mailing list