From 5e01cd323e434b6130bb8dab06b28a252a1afb7a Mon Sep 17 00:00:00 2001 From: Charles Baker Date: Mon, 15 Jul 2024 21:29:25 +1200 Subject: [PATCH] Leave the RHS of a GrammarSymbolSet move default initialized Previously the RHS was left as it was when, technically, it should be restored to its default initialized state. This fix exchanges the RHS GrammarSymbolSet values with their default initialized values to correct that error. --- src/lalr/GrammarSymbolSet.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lalr/GrammarSymbolSet.cpp b/src/lalr/GrammarSymbolSet.cpp index 3601ea2..682083f 100644 --- a/src/lalr/GrammarSymbolSet.cpp +++ b/src/lalr/GrammarSymbolSet.cpp @@ -20,23 +20,23 @@ static const size_t BITS_PER_ELEMENT = sizeof(size_t) * 8; GrammarSymbolSet::GrammarSymbolSet( size_t symbols ) : set_() -, minimum_(numeric_limits::max()) -, maximum_(numeric_limits::min()) +, minimum_( numeric_limits::max() ) +, maximum_( numeric_limits::min() ) { set_.resize( symbols / BITS_PER_ELEMENT ); } GrammarSymbolSet::GrammarSymbolSet( GrammarSymbolSet&& set ) : set_( std::move(set.set_) ) -, minimum_(set.minimum_) -, maximum_(set.maximum_) +, minimum_( std::exchange(set.minimum_, numeric_limits::max()) ) +, maximum_( std::exchange(set.maximum_, numeric_limits::min()) ) { } GrammarSymbolSet::GrammarSymbolSet( const GrammarSymbolSet& set ) : set_( set.set_ ) -, minimum_(set.minimum_) -, maximum_(set.maximum_) +, minimum_( set.minimum_ ) +, maximum_( set.maximum_ ) { }