[Lldb-commits] [PATCH] D68130: [lldb] Don't emit artificial constructor declarations as global functions

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat Oct 19 00:20:25 PDT 2019


labath added a comment.

In D68130#1715433 <https://reviews.llvm.org/D68130#1715433>, @teemperor wrote:

> Well, I'm fine with x-failing it on Linux, even though I guess at some point someone (i.e., probably me) has to figure out why this stuff is broken in the expression parser.


I said does**n't**. What I was trying to say is that if you xfail it on linux, the test fill start "failing" on all the configurations where if was succeeding before.

That said, I am quite surprised that this behaves nondeterministically, as the test is very hermetic. If I had to guess, I would actually say that this hermeticity is the problem. Synthesizing the default constructor and calling it probably generates some calls into the c++(abi) library. Depending on the system configuration (static/dynamic linking, -Wl,--as-needed, etc), the necessary external functions may or may not be available. My guess would be that ensuring the test creates at least one other (unrelated) object will ensure the c++ runtime support functions are all there and this test succeeds consistently. However, as it is succeeding on the machines I have around right now, I don't have a way to verify this hypothesis.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68130





More information about the lldb-commits mailing list