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

Address Variable-Length-Array issue in USER-SMTBQ #1356

Merged
merged 6 commits into from Mar 5, 2019

Conversation

Projects
None yet
2 participants
@akohlmey
Copy link
Member

akohlmey commented Mar 4, 2019

Summary

This addresses the non-C++ standard conforming use of variable-length arrays in the USER-SMTBQ package. This also fixes several memory leaks and uninitialized access to allocated storage.
The resulting code is now "valgrind-clean" (with standard OpenMP suppressions).

Related Issues

This closes #1329

Author(s)

Licensing

By submitting this pull request, I agree, that my contribution will be included in LAMMPS and redistributed under either the GNU General Public License version 2 (GPL v2) or the GNU Lesser General Public License version 2.1 (LGPL v2.1).

Backward Compatibility

yes.

Implementation Notes

1d-variable length arrays are conveniently replaced by using std::vector<type> name([size]), and then using name.data() in case the pointer address is needed, e.g. for MPI calls.
For multi-dimensional arrays, the calls to the LAMMPS Memory class are used instead.

Post Submission Checklist

Please check the fields below as they are completed after the pull request has been submitted

  • The feature or features in this pull request is complete
  • Licensing information is complete
  • Corresponding author information is complete
  • The source code follows the LAMMPS formatting guidelines
  • Suitable new documentation files and/or updates to the existing docs are included
  • The added/updated documentation is integrated and tested with the documentation build system
  • The feature has been verified to work with the conventional build system
  • The feature has been verified to work with the CMake based build system
  • A package specific README file has been included or updated
  • One or more example input decks are included

Further Information, Files, and Links

Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)

akohlmey added some commits Feb 28, 2019

@akohlmey akohlmey added this to the Stable Release Spring 2019 milestone Mar 4, 2019

@akohlmey akohlmey self-assigned this Mar 4, 2019

@akohlmey akohlmey requested review from rbberger, stanmoore1 and sjplimp Mar 4, 2019

@sjplimp

sjplimp approved these changes Mar 4, 2019

Copy link
Contributor

sjplimp left a comment

looks good

@akohlmey akohlmey merged commit 6b8a768 into lammps:master Mar 5, 2019

6 checks passed

lammps/pull-requests/cmake/new-cmake-serial-pr head run ended
Details
lammps/pull-requests/new-build-docs-pr head run ended
Details
lammps/pull-requests/new-kokkos-omp-pr head run ended
Details
lammps/pull-requests/new-openmpi-pr head run ended
Details
lammps/pull-requests/new-serial-pr head run ended
Details
lammps/pull-requests/new-shlib-pr head run ended
Details

@akohlmey akohlmey deleted the akohlmey:address-user-smtbq-vla-issue branch Mar 5, 2019

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.