[Dune] [#1005] private members in SEntity (with clang)

Dune flyspray at dune-project.org
Thu Dec 22 13:12:36 CET 2011


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Elias Pipping (pipping) 

Attached to Project - Dune
Summary - private members in SEntity (with clang)
Task Type - Bug Report
Category - SGrid
Status - Unconfirmed
Assigned To - 
Operating System - Unspecified / All
Severity - Low
Priority - Normal
Reported Version - SVN (pre2.2)
Due in Version - Undecided
Due Date - Undecided
Details - clang complains about the following:

dune/grid/sgrid.hh:820:73: error: 'z' is a private member of 'Dune::SEntity<0, 3, const Dune::SGrid<3, 3, double> >'
    partition(_grid->partition(grid->getRealImplementation(ne).l,_self->z)),

dune/grid/sgrid.hh:1059:13: error: 'grid' is a private member of 'Dune::SEntity<0, 3, const Dune::SGrid<3, 3, double> >'
    grid(_e.grid), l(_e.l), index(_e.index),

dune/grid/sgrid.hh:1059:25: error: 'l' is a private member of 'Dune::SEntity<0, 3, const Dune::SGrid<3, 3, double> >'
    grid(_e.grid), l(_e.l), index(_e.index),

dune/grid/sgrid.hh:1059:38: error: 'index' is a private member of 'Dune::SEntity<0, 3, const Dune::SGrid<3, 3, double> >'
    grid(_e.grid), l(_e.l), index(_e.index),

The 'fix' is obvious:

<<SNIP
--- a/dune/grid/sgrid.hh
+++ b/dune/grid/sgrid.hh
@@ -458,11 +458,11 @@ class SEntity<0,dim,GridImp> : public SEntityBase<0,dim,GridImp,SEntity>
 {
   enum { dimworld = GridImp::dimensionworld };
   typedef Dune::SEntityBase<0,dim,GridImp,Dune::SEntity> SEntityBase;
+public:
   using SEntityBase::grid;
   using SEntityBase::l;
   using SEntityBase::index;
   using SEntityBase::z;
-public:
   typedef typename GridImp::ctype ctype;
   typedef typename GridImp::template Codim<0>::Geometry Geometry;
   typedef typename GridImp::template Codim<0>::LocalGeometry LocalGeometry;
<<SNAP

the question is whether that's desirable and why gcc doesn't seem to care.

As a result of the above, gcc (4.4) will happily compile dune/grid/test/test-sgrid but clang will not.

More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=1005

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.




More information about the Dune mailing list