This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
notes on CVS libstdc++ and CSV egcs
- To: libstdc++ at sourceware dot cygnus dot com, dosreis at dptmaths dot ens-cachan dot fr
- Subject: notes on CVS libstdc++ and CSV egcs
- From: Benjamin Kosnik <bkoz at cygnus dot com>
- Date: Mon, 13 Dec 1999 14:43:19 -0800
As of this,
1999-12-13 Benjamin Kosnik <bkoz@gnu.org>
Efforts to get -O2 to work with -Winline -Werrors.
* bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
_Tp&): Remove inline declaration, as cannot be inlined and
-Winline -Werror complains. An interesting question is why this
cannot be inlined, as I can see no real reason to disqualify it.
(__valarray_product(const _Tp*, const _Tp*)): Same here.
* bits/std_valarray.h (valarray::operator[](size_t)): Same here.
* docs/17_intro/TODO: Update.
CVS libstdc++-v3 can be compiled with CVS egcs and -O2 -Winline
-Werrors, thus exercising the new tree-based inliner. I am a bit
worried that I had to undeclare functions like this as inline to get
it to compile cleanly:
template<typename _Tp>
_Tp&
valarray<_Tp>::operator[] (size_t __i)
{ return _M_data[__i]; }
Perhaps there is more going on here than I have time to look at right now.
Gaby, perhaps you can look into this? I believe that gcc-2.95.2 also
couldn't inline this, so it isn't a regression per se, just something
that I'd think could be inlined. (There are also some valarray-related
things that I entered into the TODO list that you might want to take a
look at.)
-benjamin