This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: notes on CVS libstdc++ and CSV egcs
- To: Benjamin Kosnik <bkoz at cygnus dot com>
- Subject: Re: notes on CVS libstdc++ and CSV egcs
- From: Gabriel Dos Reis <dosreis at dptmaths dot ens-cachan dot fr>
- Date: 14 Dec 1999 01:21:08 +0100
- Cc: libstdc++ at sourceware dot cygnus dot com
- Organization: École Normale Supérieure de Cachan (France)
- References: <199912132243.OAA09312@haight.constant.com>
Benjamin Kosnik <bkoz@cygnus.com> writes:
| 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.)
Yes, it is odd that GCC-2.92.2 can't inline the functions mentioned
above. I'll try to find out why and fix the code appropriately. But
as you said several times in other messages, it would be *very* hepful
if GCC can tell us why it can't inline some functions.
-- Gaby