This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Audit of some older C++ bug reports
- From: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- To: gcc-bugs at gcc dot gnu dot org
- Cc: obrien at FreeBSD dot org, <carlo at alinoe dot com>, <cgf at redhat dot com>, <dj at redhat dot com>, <nathan at codesourcery dot com>
- Date: Mon, 21 Oct 2002 19:12:07 -0500 (CDT)
- Subject: Audit of some older C++ bug reports
Hi there,
OK, I thought 159 open (non-analyzed) C++ bug reports are too many. So I
sifted through some of the older ones, and these are the results, grouped
by finding. For some examples, it would be nice if a person with the respective
platform would test it. I have CC:-ed a number of people for this -- if
you feel you don't want to go through the entire message, just grep for
your first name to see what I want you to do :-)
The result is: of the 33 oldest ones I checked, I can confirm 4, 12 can be
closed, 6 more are so that I cannot tell but some of them may be closed as
well. So the situation is not so bad after all.
Since I don't have GNATS access, maybe someone can perform the necessary
actions.
Regards
Wolfgang
Confirmed (i.e. still exists with gcc3.2 and CVS HEAD; should be put
into "analyzed" state):
c++/641 (annoying warning with friends, templates, and const)
Behavior still exists
c++/6579 (works infinitely long)
Correct. CVS HEAD still seems to go into an inifinite loop on this
code.
c++/6579 (works infinitely long)
Exists still in CVS HEAD. Interesting interaction between
constructor and statement expressions. Should maybe be renamed into
"Infinite loop with statement expressions in member initialization".
Smaller testcase just posted.
c++/6718 (Boost1.28 run-time problem)
Confirmed with CVS HEAD.
Gone or bogus (i.e. fixed for both 3.2 and HEAD; someone should close
them):
c++/1940 (No option for turning off reporting of mismatched "{" "}")
This one may have been fixed with the rewrite of the preprocessor
some time ago. The report was against 2.96
c++/3698 (improper handling of an extern declared inline function)
I can reproduce this with the given compiler, but it seems to be
fixed with gcc3.1 and 3.2. I don't have CVS head on the given
platform (SPARC), but I don't see the problem on Linux with CVS,
so it is probably safe to close this report.
c++/4424 (Template operator overloading using member functions...)
Works for me.
c++/4659 (Eroneous extra warning for -Woverloaded-virtual)
The warning is warranted, since one of the functions is indeed
hidden. Should be closed.
c++/5082 (test/bs.c:525: virtual array reg_n_info[833]: element 833 ...)
This is a C bug and should thus be reclassified. However, I can
compile the test case, both with 3.1 and 3.2. The report was against
"gcc 3.1 20011203" which was a prerelease. I think it should be
closed.
c++/5245 (gcc 2.95.2 doesn't find runtime_error constructor)
This works for me. The code also asks for trouble, and I don't think
this would be supported anyway. The C++ standard library used to
have the requirement that you must compile it with the same flags
(and allocators) as your user programs.
c++/5390 (Libiberty fails to demangle multi-digit template parameters)
The patch given in the report seems to have been applied. Carlo,
what's the status of this? It also only seems related to 2.95?
c++/5894 (ICE on compile of operator double with long long's and ...)
Works here.
c++/6074 (gcc snapshot 20020325 alias problem)
I can reproduce this with 3.2, but it seems fixed with CVS HEAD. Can
be closed.
c++/6145 (Error compiling jni.cc on i386-pc-solaris2.7)
c++/6361 (Internal compiler error in g++-v3/bits/locale_facets.tcc)
I think someone's reporting a bootstrap problem here, since a file
from libstdc++ is compiled. I don't have such boxes anymore, so
cannot say much except that bootstrap errors usually don't last for
half a year. Ah, and you shouldn't configure and bootstrap in the
src dir or a subdir. So please close.
c++/6707 (Segfault when compiling with -ggdb3 (-ggdb2 works))
I cannot confirm this, and I am already the second person to do so.
I think this can be closed.
Other:
c++/2183 (gcc-3_0-branch compiles 2x slower than 2.95)
This has never been followed up upon. No code is given, so it's hard
to verify. Given that the reported slow-down of a factor of 2 is
still in the range of what may be due to the new libstdc++
implementation might have caused, I'd think this one can be closed.
c++/2200 (-finstrument-functions doesn't work with exceptions?)
I think the reporter expects that his profiling exit function
also is called when a function is left through an exception
path instead of a regular return. I have no clue if
-finstrument-function is supposed to handle this case, the
documentation does no say anything about it. Who's the maintainer of
this code?
c++/3332 (friend function declaration in a class in a namespace ...)
My gut tells me that the code is actually invalid, but I won't look
this up right now. A case for Nathan?
c++/3708 (Attempt to expand base class template when explicit exact ...)
I can't judge this, here's the question: are
(Foo) bar;
and
bar.operator Foo()
equivalent? Given that the code behaves differently when templates
are involved, I leave this to others. It has never been follow up
on, BTW. Nathan?
c++/3733 (using .data instead of .bss)
The report is against FreeBSD, but at least on my Linux box, .bss is
used. This is an easy one for someone with a FreeBSD box. David?
c++/6626 (__attribute__ doen not works with function pointers)
I have the feeling that this may have been fixed in the meantime.
What do the Windows maintainers say -- Christopher, DJ?
[I think that's enough for today :-) ]
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth