Critical C++ bugs

Martin v. Loewis
Fri Jun 4 02:19:00 GMT 1999

After sorting my C++ bug folder, I classified the remaining bugs by
seriousness. Below are the list of bugs in the categories:
- bad code is generated
- code is not accepted, with no work-around
- ICE on legal code
(the other categories would be ICE on ill-formed code, ill-formed code
 is accepted, improvement proposals, code is only accepted after work-around)

* Bad code generation *

- Destructors not called after throw in constructor

- Wrong version of qualified operator delete called

- Wrong version of operator delete in implicite delete

- Implicit copy-assignment and -constructor calls base method
  with wrong constness

- egcs allows dynamic_cast from private base

- egcs destroys temporaries that have not been constructed
(Not archived: Bryan Scattergood, c++ code generation bug,

* Rejects legal code *

- Derived class argument not considered as better match in overload

- Incorrectly considers throw to be of type void in arithmetical-if

- Template argument deduction does not find viable candidate

- Pointer-to-member formed incorrectly

- Sorry about array-new

- Partial specialization leads to ambiguity

- Egcs confuses number of template parameters in specialization

- __asm__ in templates doesn't work

- Compiler sorry about -pg

- ICE on pointer to namespace-scoped template instantiation

- Out-of-line definition of nested template class causes ICE

Not that I expect those to be fixed in time for gcc 2.95 - this list
is just in case somebody doesn't know what to do next :-)


More information about the Gcc mailing list