Rename template parameter names to avoid name conflict on Solaris. #1723
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1722
This PR fixes a compilation issue on Solaris 11.4 with GCC 7.3.0 on the latest Catch2 master branch. A #define in the Solaris 11.4 <sys/regset.h> header conflicts with a template parameter name used in catch_tostring.h and it gets renamed to an integer constant. This causes an obvious compilation issue. Please refer to the issue for more details about the bug.
The bug is simply fixed by re-naming the 'SS' template parameter name to something more descriptive like 'Stream'. I also took the liberty of renaming the template parameter name 'TT' to 'U' because I saw the template parameter name 'U' used throughout the codebase and couldn't find any other "same double letter" names used.
After making this change, I can confirm that Catch2 compiles and builds with the main.cpp file detailed in the issue, with a non-trivial project and with the Catch2 SelfTest target on Solaris 11.4.