Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
Qt Creator 4.13.0-beta1
-
None
-
Windows, GDB 9.1
-
00e814fdd18dadbea5942d002914b99fb07c4048
Description
Dynamic types are used whether the option is checked or not.
Break at the line with the comment - both objects are displayed as Derived.
Now step to the next line - both objects are displayed as Base.
This is the expected behavior when "Use Dynamic Type" is checked, but when it is unchecked - b should always be Base and d should always be Derived. That part is broken.
#include <new> struct Base { virtual ~Base() {} }; struct Derived : Base { int a = 42; }; int main() { char Buf[32]; Derived *d = new(Buf) Derived;; Base *b = d; d->~Derived(); // BREAK_HERE return 0; }
This happened long ago, reported as QTCREATORBUG-7504, and I fixed it. Now it happens again (I can't tell for sure on which version the regression was introduced).