-Wcast-qual broken(?) for libstdc++
Jonathan Wakely
cow@compsoc.man.ac.uk
Wed Jul 16 16:45:00 GMT 2003
On Wed, Jul 16, 2003 at 04:20:43PM +0100, Gawain Bolton wrote:
> I agree that the function you are adding in your patch will be required.
> However, I think you will find that your patch will cause problems in other
> functions due to const poisoning. This is the reason I will need time to
> solve the casting and const issues cleanly. Currently I'm on vacation and
> unable to do this.
In the meantime, if anyone's really annoyed by the warnings, this would
silence them for both testcases given in libstdc++/11504 by using
const_cast so that -Wcast-qual doesn't complain:
diff -u -p -b -B -r1.27 stl_tree.h
--- include/bits/stl_tree.h 14 Jul 2003 02:52:04 -0000 1.27
+++ include/bits/stl_tree.h 15 Jul 2003 12:24:47 -0000
@@ -377,7 +377,7 @@ namespace std
_M_rightmost() const { return (_Link_type&) this->_M_header._M_right; }
_Link_type
- _M_end() const { return (_Link_type) &this->_M_header; }
+ _M_end() const { return static_cast<_Link_type>(const_cast<_Base_ptr>(&this->_M_header) ); }
static _Link_type&
_S_left(_Link_type __x) { return (_Link_type&)(__x->_M_left); }
jon
--
"Accept the contradictions"
- The KLF
More information about the Libstdc++
mailing list