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

Fix a template instantiation issue with GCC 10 in dataman serializer #3155

Merged

Conversation

JasonRuonanWang
Copy link
Member

@JasonRuonanWang JasonRuonanWang commented Apr 4, 2022

Fixes #3151

It seems that GCC 10 handles template instantiation differently from previous GCC versions, and as a result, some template instantiation in DataMan serializer failed to pick up the correct template instantiation. This PR changed the affected template instantiation to simple function overloading.

@JasonRuonanWang JasonRuonanWang changed the title Fix a template instantiation bug in dataman serializer Fix a template instantiation issue with GCC 10 in dataman serializer Apr 4, 2022
@JasonRuonanWang JasonRuonanWang merged commit 55dbc88 into ornladios:release_28 Apr 4, 2022
endif()
if(DATASPACES_FOUND)
set(ADIOS2_HAVE_DataSpaces TRUE)
if(MPI_FOUND)
Copy link
Contributor

Choose a reason for hiding this comment

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

@JasonRuonanWang does DataSpaces not work without MPI?
The Engine.DataMan.DataManEngineTest.1D.Serial test seems to suggest so.

Copy link
Contributor

@ax3l ax3l Apr 4, 2022

Choose a reason for hiding this comment

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

ah wait, I mismatched DataMan and DataSpaces.
I guess this change in CMake could better have been a separate PR :)

Copy link
Member Author

Choose a reason for hiding this comment

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

ah wait, I mismatched DataMan and DataSpaces.
I guess this change in CMake could better have been a separate PR :)

In principle, yes. But cmake does not pass if DataSpaces libraries are found and MPI is disabled. This is something that must be fixed anyway in order to reproduce the error. I could have opened another PR but it would just waste another few hours before getting the problem solved. Given the amount of work I have on my desk, I'd rather compromise on these trivial things, unless someone else is willing to help separate the PRs and get them merged in a perfect way.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sure, sounds good. I was just confused for a sec, sorry for that :)

@JasonRuonanWang
Copy link
Member Author

@chuckatkins This PR needs to be pulled into master too. Thanks.

@Biswa96
Copy link
Contributor

Biswa96 commented Jun 15, 2022

Should GetData() also be changed this way? I am seeing linking error with gcc 12.

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.

3 participants