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

Simplify allocator rebinding in pack traversal #2981

Merged
merged 1 commit into from Nov 4, 2017
Merged

Conversation

K-ballo
Copy link
Member

@K-ballo K-ballo commented Nov 2, 2017

Workaround for #2904, broken build for Intel compilers

@hkaiser
Copy link
Member

hkaiser commented Nov 3, 2017

Thanks @K-ballo, let's go ahead and merge this as a stop-gap measure.

@Naios would you have time to change the original code at some point? I think we could try replacing the offending decltype() with a

typname std::allocator_traits<Allocator>::template rebind_alloc<NewType>

which might already solve the problem.

@Naios
Copy link
Contributor

Naios commented Nov 3, 2017

In my opinion it would be better to conditionally disable the stateful allocator rebinding through the preprocessor if the intel compiler is used, instead of outcommenting the code for every toolchain.

@K-ballo could you try to apply the possible workaround proposed by @hkaiser please?
Currently I don't have a working environment with an Intel compiler.

Let me know if I can help more on this.

...workaround for Intel compiler bugs
@K-ballo
Copy link
Member Author

K-ballo commented Nov 3, 2017

Currently I don't have a working environment with an Intel compiler.

@Naios Rostam has a working Intel compiler. You should probably already have access there, if not we can get you an account.

@K-ballo
Copy link
Member Author

K-ballo commented Nov 3, 2017

@K-ballo could you try to apply the possible workaround proposed by @hkaiser please?

@Naios the proposed workaround allows Intel to build core HPX, but it causes it to fail while building the pack_traversal unit tests. In particular, touching up on the container remapping logic seems to be causing the tuple remapping logic to fail, as those are the cases from the unit test that stop compiling after the change. Other compilers remain unaffected.

@K-ballo K-ballo changed the title Temporarily disable allocator rebinding in pack traversal Simplify allocator rebinding in pack traversal Nov 4, 2017
@hkaiser
Copy link
Member

hkaiser commented Nov 4, 2017

@K-ballo circleci is not happy with this... it might not be possible to simply use the allocator_traits after all.

@K-ballo
Copy link
Member Author

K-ballo commented Nov 4, 2017

@hkaiser That was caused by my latest commit. Removing and trying again...

Copy link
Member

@hkaiser hkaiser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks a lot!

@hkaiser hkaiser merged commit 0d8ec57 into master Nov 4, 2017
@hkaiser hkaiser deleted the fixing-2904 branch November 4, 2017 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants