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

gcc + nvcc fails to compile code that uses partitioned_vector #2418

Closed
atrantan opened this issue Dec 3, 2016 · 3 comments

Comments

Projects
None yet
2 participants
@atrantan
Copy link
Contributor

commented Dec 3, 2016

Got a strange error when trying to compile the example partitioned_vector.cu

/usr/include/c++/4.9/bits/stl_pair.h(128) (col. 17): error: calling a host function("boost::intrusive_ptr< ::hpx::threads::thread_data> ::intrusive_ptr") from a device function("std::pair< ::hpx::threads::thread_state_enum, ::boost::intrusive_ptr< ::hpx::threads::thread_data> > ::pair") is not allowed

Apparently the error points to the move constructor of std::pair that is defined like here:
constexpr pair(pair&&) = default;
nvcc seems to consider this constructor as a __device__ constructor and not __host__ or __host__ __device__

@atrantan atrantan closed this Dec 3, 2016

@hkaiser hkaiser added this to the 1.0.0 milestone Dec 3, 2016

@atrantan atrantan reopened this Dec 5, 2016

@hkaiser hkaiser added compiler: gcc and removed tag: invalid labels Dec 5, 2016

@hkaiser

This comment has been minimized.

Copy link
Member

commented Feb 8, 2017

@atrantan Is this still a problem?

@atrantan

This comment has been minimized.

Copy link
Contributor Author

commented Feb 8, 2017

Yes

@hkaiser

This comment has been minimized.

Copy link
Member

commented Mar 21, 2017

This has been resolved on master

@hkaiser hkaiser closed this Mar 21, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.