This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Audit of some older C++ bug reports


On Mon, Oct 21, 2002 at 07:12:07PM -0500, Wolfgang Bangerth wrote:
> 
> 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.

Thank you for doing this!

As a note, when doing this sort of testing, it's useful to know
whether a bug exists in gcc 2.95 as well as 3.2 and HEAD.  If a bug
didn't exist in 2.95, it is a regression, and therefore qualifies for
fixing in the 3.2.x series.  (If a bug _does_ exist in 2.95, but was
fixed in 3.0 or 3.1, and came back in 3.2 and/or HEAD, it's also a
regression.)

>   c++/641 (annoying warning with friends, templates, and const)
>       Behavior still exists

 -> analyzed

>   c++/6579 (works infinitely long)
>       Correct. CVS HEAD still seems to go into an inifinite loop on this 
>       code.

This is the same bug as the next one...

>   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.

  -> analyzed.  This is a regression from 2.95, so I've also marked it
     high priority.

>   c++/6718 (Boost1.28 run-time problem)
>       Confirmed with CVS HEAD.

Ditto.

>   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

Yes, it was; that warning is no longer issued ever.  Closed.

>   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.

For a bug like this, it usually suffices to configure CVS HEAD with
--target=<whatever>, which creates a cross compiler, and build
cc1(plus).  Then run the binary against the test case and inspect the
assembly output.

I've done this for this bug report.  The code generated is correct -
inlining doesn't happen, but I think that's the intended effect.  Closed.

>   c++/4424 (Template operator overloading using member functions...)
>       Works for me.

And me also, with 3.2 and HEAD (as of a week ago).  Closed.

>   c++/4659 (Eroneous extra warning for -Woverloaded-virtual)
>       The warning is warranted, since one of the functions is indeed
>       hidden. Should be closed.

Leaving this for someone with a deeper understanding of C++.

>   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.

Not so fast.  The internal consistency checks that triggered this bug
report, are disabled in official releases (for speed).  I cannot
reproduce the bug with CVS HEAD.  It needs to be verified with 3.2
compiled with --enable-checking given to configure.

I have reclassified it as a C bug as you suggested.

I've run out of time to go through these, so the rest will have to be
taken care of by someone else, sorry.

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]