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

C++11, Fix CI, fix use of deprecated timer, fix group assignment operator. #99

Merged
merged 1 commit into from
May 15, 2024

Conversation

jeking3
Copy link
Collaborator

@jeking3 jeking3 commented May 15, 2024

Dependencies like optional and smart_ptr will no longer support C++03 therefore the new minimum language level is C++11, and all the CI jobs for both C++98 and C++03 have been removed. Removed MSVC 2010 and 2012 from CI, moved some windows jobs to GHA.

Fixed use of the deprecated top level timer class as it was causing build problems using <warnings-as-errors>.

Fixed -Wdeprecated-cast in group.hpp.
Fixed -Winvalid-source-encoding in sample_new_features.cpp.
Fixed -Wself-assign-overloaded in format_test2.cpp.

These changes also allow b2 to work properly when executed from within the format directory.

This closes #91.

@jeking3 jeking3 added the ci label May 15, 2024
@jeking3 jeking3 self-assigned this May 15, 2024
@jeking3 jeking3 force-pushed the fix/build branch 2 times, most recently from 7e5626b to 7066a62 Compare May 15, 2024 13:51
@jeking3 jeking3 changed the title C++11, Fix use of deprecated timer, fix group assignment operator. C++11, Fix CI, fix use of deprecated timer, fix group assignment operator. May 15, 2024
@jeking3 jeking3 marked this pull request as ready for review May 15, 2024 14:01
@jeking3 jeking3 requested a review from pdimov May 15, 2024 14:04
Jamfile Outdated Show resolved Hide resolved
Copy link
Member

@pdimov pdimov left a comment

Choose a reason for hiding this comment

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

Why were the group changes needed?

@jeking3 jeking3 force-pushed the fix/build branch 3 times, most recently from 5406f62 to 47a0dc2 Compare May 15, 2024 14:46
@jeking3
Copy link
Collaborator Author

jeking3 commented May 15, 2024

Why were the group changes needed?

Example:

../../boost/format/group.hpp:59:12: error: definition of implicit copy constructor for 'group1<Rational &>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
   group1& operator=(const group1&);

I thought it would be easier to delete the assignment operator once rather than in each class, but I suppose the complexity goes way up when deriving.

@jeking3 jeking3 force-pushed the fix/build branch 6 times, most recently from 8d90f06 to 5f82f96 Compare May 15, 2024 16:54
Dependencies like optional and smart_ptr will no longer support C++03
therefore the new minimum language level is C++11, and all the CI jobs
for both C++98 and C++03 have been removed.

Fixed use of the deprecated top level timer class as it was causing
build problems using warnings-as-errors.

Fixed -Wdeprecated-cast in group.hpp.
Fixed -Winvalid-source-encoding in sample_new_features.cpp.
Fixed -Wself-assign-overloaded in format_test2.cpp.

These changes also allow b2 to work properly when executed from
within the format directory.
@jeking3 jeking3 requested a review from pdimov May 15, 2024 17:08
@jeking3 jeking3 merged commit 60ae371 into develop May 15, 2024
54 of 56 checks passed
@jeking3 jeking3 deleted the fix/build branch May 15, 2024 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wdeprecated-copy warnings from group.hpp.
2 participants