J'utilise encore Olena 0.10 pour SWT, et plusieurs outils que j'avais
écrits ne passent plus l'édition de liens depuis la mise à jour des
compilateurs G++ 3.3 et 3.4 dans Debian, à cause de ce bug :
http://article.gmane.org/gmane.comp.graphics.crystalspace.general/6771
(... referenced in section `.rodata' of ...: defined in discarded
section `.gnu.linkonce.t...)
Il a donc fallu que je rende Olena 0.10 G++-4.0-compliant (en tout
cas, la partie que j'utilise). Ce qui me fait penser qu'on pourrait
terminer ce nettoyage et faire une release corrective de 0.10 qui soit
compatible avec G++ 4.0, que l'on pourrait nommer Olena 0.11, ou plus
modestement 0.10.1. Qu'en pensez-vous ?
Index: ChangeLog
Index: integre/ChangeLog
Index: olena/ChangeLog
Index: olena/oln/arith/logic.hh
Index: olena/oln/core/window2d.hh
Index: olena/oln/io/gz_stream.hh
Index: config/oln.m4
--- ChangeLog Wed, 08 Sep 2004 18:56:06 +0200 thivol_d (oln/o/33_ChangeLog
1.37.1.16.1.17.1.19.1.18 600)
+++ ChangeLog Thu, 15 Sep 2005 17:36:52 +0200 levill_r (oln/o/33_ChangeLog
1.37.1.16.1.17.1.19.1.18 600)
@@ -1,3 +1,8 @@
+2005-09-15 Roland Levillain <roland(a)lrde.epita.fr>
+
+ * config/oln.m4 (OLN_VERSION): Set to 0.10a.
+ Remove duplicate definition.
+
2004-09-08 Damien Thivolle <damien(a)lrde.epita.fr>
* config/oln.m4: Minor fix.
--- integre/ChangeLog Sat, 26 Jun 2004 23:19:24 +0200 thivol_d (oln/q/35_ChangeLog
1.12.1.2.1.47 600)
+++ integre/ChangeLog Thu, 15 Sep 2005 17:42:26 +0200 levill_r (oln/q/35_ChangeLog
1.12.1.2.1.47 600)
@@ -1,3 +1,14 @@
+2005-09-15 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Adjust for G++ 4.0.
+
+ * ntg/color/color.hh
+ (typetraits<color<ncomps, qbits, color_system> >::nb_comp): Make
+ it a static const unsigned instead of an enum.
+ * ntg/vect/cplx.hh (cplx<rect, T>::to_polar): Move the definition
+ of this function outside the declaration of cplx<rect, T>, so as
+ to have it know the size of cplx<polar, T>.
+
2004-06-26 Damien Thivolle <damien(a)lrde.epita.fr>
* ntg/core/internal/global_ops.hh: Make compliant to g++-3.4.
--- olena/ChangeLog Thu, 24 Feb 2005 10:10:35 +0100 levill_r (oln/o/30_ChangeLog
1.27.1.36.1.3.1.11.1.5.1.64.1.47.1.93.1.27.2.3 600)
+++ olena/ChangeLog Thu, 15 Sep 2005 17:20:50 +0200 levill_r (oln/o/30_ChangeLog
1.27.1.36.1.3.1.11.1.5.1.64.1.47.1.93.1.27.2.3 600)
@@ -1,3 +1,14 @@
+2005-09-15 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Adjust for G++ 4.0.
+
+ * oln/core/window2d.hh (neighb_type): Remove duplicate typedef.
+ * oln/topo/dmap.hh, oln/topo/dmap.hxx (operator[], operator()):
+ Return a copy, not a reference on a temporary.
+ * oln/arith/logic.hh: Remove superfluous semi-colons.
+ * oln/io/gz_stream.hh (zifstream, zofstream): Add forward
+ declarations.
+
2005-02-24 Roland Levillain <roland(a)lrde.epita.fr>
* oln/core/abstract/image.hh (oln_fwd_iter_type_): Fix macro
--- olena/oln/arith/logic.hh Sat, 13 Mar 2004 17:58:18 +0100 van-vl_n (oln/b/24_logic.hh
1.6.1.4 600)
+++ olena/oln/arith/logic.hh Thu, 15 Sep 2005 16:06:43 +0200 levill_r (oln/b/24_logic.hh
1.6.1.4 600)
@@ -56,16 +56,16 @@
oln_arith_declare_unfixedtype_functor_(logic_not, ntg::bin, ! val);
/// AND NOT operators.
- oln_arith_declare_all_nongenericbinop_procs_(logic_and);
+ oln_arith_declare_all_nongenericbinop_procs_(logic_and)
/// OR operators.
- oln_arith_declare_all_nongenericbinop_procs_(logic_or);
+ oln_arith_declare_all_nongenericbinop_procs_(logic_or)
/// AND NOT operators.
- oln_arith_declare_all_nongenericbinop_procs_(logic_and_not);
+ oln_arith_declare_all_nongenericbinop_procs_(logic_and_not)
/// NOT operator.
- oln_arith_declare_nongenericunop_procs_(logic_not);
+ oln_arith_declare_nongenericunop_procs_(logic_not)
} // end of arith
--- olena/oln/core/window2d.hh Fri, 02 Apr 2004 16:00:03 +0200 van-vl_n
(oln/c/14_window2d.h 1.22 600)
+++ olena/oln/core/window2d.hh Thu, 15 Sep 2005 16:50:52 +0200 levill_r
(oln/c/14_window2d.h 1.22 600)
@@ -77,7 +77,6 @@
typedef struct_elt_traits< self_type >::iter_type iter_type;
typedef struct_elt_traits< self_type >::neighb_type neighb_type;
- typedef struct_elt_traits< self_type >::neighb_type neighb_type;
///< Type of neighbor.
/*!
--- olena/oln/io/gz_stream.hh Fri, 02 Apr 2004 18:35:36 +0200 van-vl_n
(oln/f/17_gz_stream. 1.11 600)
+++ olena/oln/io/gz_stream.hh Thu, 15 Sep 2005 17:20:09 +0200 levill_r
(oln/f/17_gz_stream. 1.11 600)
@@ -296,6 +296,10 @@
};
+ // Forward declarations.
+ class zifstream;
+ class zofstream;
+
///Define an interface for compressed file stream manipulation.
class zfilestream_common : virtual public std::ios
{
--- config/oln.m4 Wed, 08 Sep 2004 18:56:06 +0200 thivol_d (oln/j/15_oln.m4 1.38.1.10
600)
+++ config/oln.m4 Thu, 15 Sep 2005 17:45:58 +020Index: 10.221/olena/oln/topo/dmap.hh
Index: olena/oln/topo/dmap.hxx
Index: integre/ntg/vect/cplx.hh
Index: integre/ntg/color/color.hh
0 levill_r (oln/j/15_oln.m4 1.38.1.10 600)
@@ -648,7 +648,6 @@
###
# $Format: "m4_define([OLN_VERSION], [0.$ProjectMajorVersion$])"$
-m4_define([OLN_VERSION], [0.10])
m4_define([OLN_CONTACT], [olena-bugs(a)lrde.epita.fr])
# OLN_COLLECTION([subdirs-variable-name],
--- olena/oln/topo/dmap.hh Mon, 15 Mar 2004 17:40:54 +0100 van-vl_n (oln/p/2_dmap.hh 1.11
600)
+++ olena/oln/topo/dmap.hh Thu, 15 Sep 2005 16:11:09 +0200 levill_r (oln/p/2_dmap.hh 1.11
600)
@@ -690,11 +690,11 @@
to_image() const;
/// Distance of a point p.
- const T&
+ const T
operator[](const point_type& p) const;
/// Distance of a point2d(row, col).
- const T&
+ const T
operator()(coord row, coord col) const;
private:
--- olena/oln/topo/dmap.hxx Sat, 26 Jun 2004 23:19:24 +0200 thivol_d (oln/p/3_dmap.hxx
1.7.1.11 600)
+++ olena/oln/topo/dmap.hxx Thu, 15 Sep 2005 16:16:57 +0200 levill_r (oln/p/3_dmap.hxx
1.7.1.11 600)
@@ -321,14 +321,14 @@
}
template <class T, class T2>
- const T&
+ const T
dmap<T, T2>::operator[](const point_type& p) const
{
return imap_[p] / ch_.coef;
}
template <class T, class T2>
- const T&
+ const T
dmap<T, T2>::operator()(coord row, coord col) const
{
return imap_(row, col) / ch_.coef;
--- integre/ntg/vect/cplx.hh Wed, 30 Jul 2003 18:49:16 +0200 burrus_n (oln/t/19_cplx.hh
1.5 600)
+++ integre/ntg/vect/cplx.hh Thu, 15 Sep 2005 16:49:38 +0200 levill_r (oln/t/19_cplx.hh
1.5 600)
@@ -323,11 +323,9 @@
return cplx<rect, T>(-this->val_[0], -this->val_[1]);
}
+ // Forward declaration.
const cplx<polar, float_d>
- to_polar() const
- {
- return cplx<polar, float_d>(magn(), angle());
- }
+ to_polar() const;
};
@@ -423,6 +421,13 @@
};
template<class T>
+ const cplx<polar, float_d>
+ cplx<rect, T>::to_polar() const
+ {
+ return cplx<polar, float_d>(magn(), angle());
+ }
+
+ template<class T>
inline std::ostream&
operator<<(std::ostream& ostr, const cplx<rect, T>& rhs)
{
--- integre/ntg/color/color.hh Tue, 30 Mar 2004 12:40:46 +0200 van-vl_n (oln/t/20_color.hh
1.7 600)
+++ integre/ntg/color/color.hh Thu, 15 Sep 2005 16:56:10 +0200 levill_r (oln/t/20_color.hh
1.7 600)
@@ -56,7 +56,7 @@
template <unsigned> class color_system>
struct typetraits<color<ncomps, qbits, color_system> >
{
- enum { nb_comp = ncomps };
+ static const unsigned nb_comp = ncomps;
typedef color<ncomps, qbits, color_system> self;
typedef self ntg_type;