M core/core/collections/hash_map.h +1 -1
@@ 367,7 367,7 @@ private:
void allocate(uint32_t hit_size)
{
_hash_hit_size = hit_size;
- _hash_miss_size = static_cast<uint32_t>(hit_size * empty_region_percentage * 0.01f);
+ _hash_miss_size = static_cast<uint32_t>(static_cast<float>(hit_size) * empty_region_percentage * 0.01f);
_hash_hit_free = _hash_hit_size;
_hash_miss_free = _hash_miss_size;
M core/core/debug/timer.cpp +1 -1
@@ 16,7 16,7 @@ TimerScope::~TimerScope()
auto now = std::chrono::system_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(now - _start_time);
- debug() << _name << " took " << duration.count() / 1000.0 << '\n';
+ debug() << _name << " took " << static_cast<double>(duration.count()) / 1000.0 << '\n';
}
} // namespace core
M core/core/strings/murmur_hash.cpp +2 -2
@@ 162,7 162,7 @@ uint64_t unaligned_murmur_hash3_x64_64(c
DECLARE_SWITCH_FALLTHROUGH
case 1: k1 ^= static_cast<uint64_t>(tail[0]) << 0;
k1 *= c1; k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1;
- };
+ }
//----------
// finalization
@@ 258,7 258,7 @@ uint64_t murmur_hash3_x64_64(const void
DECLARE_SWITCH_FALLTHROUGH
case 1: k1 ^= static_cast<uint64_t>(tail[0]) << 0;
k1 *= c1; k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1;
- };
+ }
//----------
// finalization
M jasm/assemble/assembler_impl/expressions_impl.cpp +1 -1
@@ 205,7 205,7 @@ void Assembler::recurse_evaluate_express
case ExpressionComponentType::Operator:
evaluate_operator(generate, expression_values, components, root_index);
break;
- };
+ }
}
const Value &Assembler::evaluate_expression_tree(bool generate, ValueVector &expression_values, const ExpressionComponent components[], uint32_t num_components)
M jasm/assemble/value.cpp +1 -1
@@ 67,7 67,7 @@ std::string_view to_string(ValueType typ
case ValueType::MethodClosure:
return std::string_view("method closure");
case ValueType::NumTypes:
- return nullptr;
+ return std::string_view();
}
UNREACHABLE_CODE(return std::string_view());
}
M jasm/processor/z80/processor_z80.cpp +1 -1
@@ 413,7 413,7 @@ const Token *ProcessorZ80::parse_and_out
case InstructionArgumentType::NumTypes:
assert(false);
throw AssemblyException("Internal error");
- };
+ }
return t;
}
M jasm/syntax/syntax_parser.cpp +74 -74
@@ 2462,86 2462,86 @@ const Token *SyntaxParser::parse_inner_s
t = skip_whitespaces(t);
switch (t->type) {
- case TokenType::Keyword:
- t = parse_keyword(t);
- break;
-
- case TokenType::Symbol:
- {
- uint8_t instruction = invalid_instruction;
- if (is_instruction(*t, instruction)) {
- t = _processor->parse_instruction(*this, _source_files, t, instruction);
- } else {
- t = parse_label_or_statement(t);
- }
- break;
- }
- case TokenType::Operator:
- {
- if (t->operator_index == OperatorType::Semicolon) {
- // semicolon to separate statements are ok
- t = consume_next_token();
+ case TokenType::Keyword:
+ t = parse_keyword(t);
break;
- }
-
- // check for period in local labels
- if (t->operator_index == OperatorType::Period) {
- t = parse_label_or_statement(t);
- break;
- }
-
- // check for scope start/end
- if (t->operator_index == OperatorType::LeftCurly) {
- t = parse_scope(t);
+
+ case TokenType::Symbol:
+ {
+ uint8_t instruction = invalid_instruction;
+ if (is_instruction(*t, instruction)) {
+ t = _processor->parse_instruction(*this, _source_files, t, instruction);
+ } else {
+ t = parse_label_or_statement(t);
+ }
break;
}
- if (t->operator_index == OperatorType::RightCurly)
+ case TokenType::Operator:
+ {
+ if (t->operator_index == OperatorType::Semicolon) {
+ // semicolon to separate statements are ok
+ t = consume_next_token();
+ break;
+ }
+
+ // check for period in local labels
+ if (t->operator_index == OperatorType::Period) {
+ t = parse_label_or_statement(t);
+ break;
+ }
+
+ // check for scope start/end
+ if (t->operator_index == OperatorType::LeftCurly) {
+ t = parse_scope(t);
+ break;
+ }
+ if (t->operator_index == OperatorType::RightCurly)
+ return t;
+
+ constexpr bool end_at_unmatched_parenthesis = false;
+ constexpr bool end_at_newline = false;
+ t = parse_and_output_expression(t, end_at_unmatched_parenthesis, end_at_newline);
+ break;
+ }
+
+ case TokenType::Boolean:
+ case TokenType::Char:
+ case TokenType::Integer:
+ case TokenType::Float:
+ case TokenType::String:
+ case TokenType::Typename:
+ {
+ constexpr bool end_at_unmatched_parenthesis = false;
+ constexpr bool end_at_newline = false;
+ t = parse_and_output_expression(t, end_at_unmatched_parenthesis, end_at_newline);
+ break;
+ }
+
+ case TokenType::End:
return t;
- constexpr bool end_at_unmatched_parenthesis = false;
- constexpr bool end_at_newline = false;
- t = parse_and_output_expression(t, end_at_unmatched_parenthesis, end_at_newline);
- break;
- }
-
- case TokenType::Boolean:
- case TokenType::Char:
- case TokenType::Integer:
- case TokenType::Float:
- case TokenType::String:
- case TokenType::Typename:
- {
- constexpr bool end_at_unmatched_parenthesis = false;
- constexpr bool end_at_newline = false;
- t = parse_and_output_expression(t, end_at_unmatched_parenthesis, end_at_newline);
- break;
+ case TokenType::ProcessorKeyword:
+ {
+ std::stringstream ss;
+ ss << "Unexpected " << to_string(t->type);
+ throw AssemblyException(_source_files, t->source_location, AssemblyErrorCodes::UnexpectedProcessorKeyword, ss.str());
+ }
+
+ case TokenType::Processor:
+ t = parse_processor(t);
+ break;
+
+ case TokenType::Whitespace:
+ case TokenType::Newline:
+ // this should never happen since whitespace has already been skipped
+ case TokenType::NumTypes:
+ {
+ assert(false);
+ std::stringstream ss;
+ ss << "Internal error: unexpected token " << to_string(t->type);
+ throw AssemblyException(_source_files, t->source_location, AssemblyErrorCodes::InternalError, ss.str());
+ }
}
-
- case TokenType::End:
- return t;
-
- case TokenType::ProcessorKeyword:
- {
- std::stringstream ss;
- ss << "Unexpected " << to_string(t->type);
- throw AssemblyException(_source_files, t->source_location, AssemblyErrorCodes::UnexpectedProcessorKeyword, ss.str());
- }
-
- case TokenType::Processor:
- t = parse_processor(t);
- break;
-
- case TokenType::Whitespace:
- case TokenType::Newline:
- // this should never happen since whitespace has already been skipped
- case TokenType::NumTypes:
- {
- assert(false);
- std::stringstream ss;
- ss << "Internal error: unexpected token " << to_string(t->type);
- throw AssemblyException(_source_files, t->source_location, AssemblyErrorCodes::InternalError, ss.str());
- }
- };
}
}