Skip to content

Conversation

@guitargeek
Copy link
Contributor

@guitargeek guitargeek commented Mar 12, 2024

I extended my ROOT synchronization PR to now also update the Python part of cppyy, and the only problem was this Windows workaround that caused all tests to fail (both 32 and 64 bit):
root-project/root#14507 (comment)

I guess it's not needed anymore with the current LLVM version used in ROOT and cppyy?

Let's see if the tests in the sync PR are green now on Windows (besides a handful failures related to CPyCppyy that I still need to figure out).

@wlav
Copy link
Owner

wlav commented Mar 12, 2024

This seems to be specific to having this:

  void Print() override {
     TBranchProxy::Print();
     std::cout << "fWhere " << fWhere << std::endl;
     if (fWhere) std::cout << "value? " << *(unsigned char*)GetStart() << std::endl;
  }

parsed by Cling prior, in TBranchProxy.h, to the explicit instantiation. I.e. for non-ROOT installs, there would be no clash and likely still necessary. (It's an odd problem that I've never been able to track down exactly b/c the issue with std::endl was never easily/consistently reproducible. I think it has to do with the flush the output buffer more so than the symbol b/c of the usual problem of Windows having separate allocators per DLL.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants