[PATCH] D90719: [DebugInfo] Modify ctor homing as workaround for unconstructed libcxx types

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 5 14:31:47 PST 2020


dblaikie added a comment.

In D90719#2377324 <https://reviews.llvm.org/D90719#2377324>, @rnk wrote:

> I had another thought, which is that even if it is UB, perhaps we really shouldn't be using UB as the basis for debug info emission. All programs have bugs, and most bugs invoke some form of UB. If we don't provide sufficient info when UB is involved, it can become harder to find the UB. The vtable type homing heuristic works because violating the heuristic assumptions typically results in a link error. Creating an object without calling the class's constructor is the kind of UB that is likely to manifest as runtime errors.
>
> Which is to say, I'm in favor of Amy's change as written.

The same would be true for the ctor homing generally though, I think? If there was a user-defined ctor and someone chose not to call it, that'd be UB too. I'm not sure there's especially more cases of not calling implicit non-trivial ctors versus non-trivial explicit non-trivial ctors to diverge on this criteria?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90719/new/

https://reviews.llvm.org/D90719



More information about the cfe-commits mailing list