Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error in future.hpp using LLVM upstream clang #402

Open
thevinster opened this issue May 29, 2024 · 5 comments · May be fixed by #408
Open

Compilation error in future.hpp using LLVM upstream clang #402

thevinster opened this issue May 29, 2024 · 5 comments · May be fixed by #408

Comments

@thevinster
Copy link

After this patch in upstream LLVM, this line in future.hpp

that_=x.that;

fails to compile with the following error

boost/boost/thread/future.hpp:4672:19: error: no member named 'that' in 'run_it<FutureExecutorContinuationSharedState>'; did you mean 'that_'?
 4672 |           that_=x.that;
      |                   ^
boost/boost/thread/future.hpp:4650:55: note: 'that_' declared here
 4650 |     shared_ptr<FutureExecutorContinuationSharedState> that_;
      |                                                       ^

From looking at the error and the code surrounding the error, is this a bug in future.hpp where the code should be using x.that_ given other nearby uses of x.that_?

@thevinster thevinster changed the title Compilation error using LLVM upstream clang Compilation error in future.hpp using LLVM upstream clang May 29, 2024
@DimitryAndric
Copy link

Yes, in my opinion it is a typo in boost. The line should read:

          that_=x.that_;

zlojvavan added a commit to zlojvavan/thread that referenced this issue Aug 9, 2024
@arvid-norlander
Copy link

I'm having trouble figuring out which release of boost the fix is included with. Based on release date and the date of the commit that fixes this I would have expected that 1.86 has the fix, but there is nothing in the release notes about the thread library at all. So I guess it missed the deadline? And the code is still broken in 1.86 tar ball unfortunately.

Will there be a patch release with the fix?

@DimitryAndric
Copy link

As far as I can see, @zlojvavan only put this in a fork: zlojvavan@3f91512, so it won't be in any release tarball yet, I guess.

@arvid-norlander
Copy link

Ah I missed that detail.

@arvid-norlander
Copy link

Currently this breaks compilation with Clang 19, which has been released as of 2024-09-17. I believe it would make sense for boost to make a hotfix release of some sort to address this. Clang is after all one of the three big C++ implementations.

arvid-norlander added a commit to arvid-norlander/thread that referenced this issue Nov 8, 2024
@arvid-norlander arvid-norlander linked a pull request Nov 8, 2024 that will close this issue
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 a pull request may close this issue.

3 participants