Skip to content

Commit efcebf4

Browse files
committed
clang-tidy: performance
1 parent ca5f27c commit efcebf4

File tree

10 files changed

+473
-471
lines changed

10 files changed

+473
-471
lines changed

.clang-tidy

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Checks: 'modernize-*, misc-*, -misc-definitions-in-headers, -misc-non-private-member-variables-in-classes, -misc-no-recursion, -misc-include-cleaner, -misc-use-anonymous-namespace, -modernize-use-trailing-return-type, -modernize-use-nodiscard, -modernize-use-emplace, -modernize-loop-convert, -modernize-pass-by-value, -modernize-use-equals-delete, -modernize-use-equals-default, -modernize-use-override, -modernize-avoid-c-arrays, -modernize-raw-string-literal, -modernize-concat-nested-namespaces'
1+
Checks: 'performance-*, modernize-*, misc-*, -misc-definitions-in-headers, -misc-non-private-member-variables-in-classes, -misc-no-recursion, -misc-include-cleaner, -misc-use-anonymous-namespace, -modernize-use-trailing-return-type, -modernize-use-nodiscard, -modernize-use-emplace, -modernize-loop-convert, -modernize-pass-by-value, -modernize-use-equals-delete, -modernize-use-equals-default, -modernize-use-override, -modernize-avoid-c-arrays, -modernize-raw-string-literal, -modernize-concat-nested-namespaces, -performance-inefficient-string-concatenation'

source/common.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ struct source_line
6565
{
6666
std::string text;
6767

68-
enum class category { empty, preprocessor, comment, import, cpp1, cpp2, rawstring };
68+
enum class category : std::uint8_t { empty, preprocessor, comment, import, cpp1, cpp2, rawstring };
6969
category cat;
7070

7171
bool all_tokens_are_densely_spaced = true; // to be overridden in lexing if they're not
@@ -128,7 +128,7 @@ struct source_position
128128

129129
struct comment
130130
{
131-
enum class comment_kind { line_comment = 0, stream_comment };
131+
enum class comment_kind : std::uint8_t { line_comment = 0, stream_comment };
132132

133133
comment_kind kind;
134134
source_position start;
@@ -141,7 +141,7 @@ struct comment
141141
struct string_parts {
142142
struct cpp_code { std::string text; };
143143
struct raw_string { std::string text; };
144-
enum adds_sequences { no_ends = 0, on_the_beginning = 1, on_the_end = 2, on_both_ends = 3 };
144+
enum adds_sequences : std::uint8_t { no_ends = 0, on_the_beginning = 1, on_the_end = 2, on_both_ends = 3 };
145145

146146
string_parts(const std::string& beginseq,
147147
const std::string& endseq,

source/cppfront.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ auto main(
7272
}
7373
else {
7474
std::cerr << arg.text << " - ambiguous compiler flag name, did you mean one of these?\n";
75-
for (auto a : ambiguous) {
75+
for (auto const &a : ambiguous) {
7676
std::cerr << " " << arg.text.front() << a << "\n";
7777
}
7878
}

source/io.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ class braces_tracker
504504
//
505505
// line current line being processed
506506
//
507-
enum class preprocessor_conditional {
507+
enum class preprocessor_conditional : std::uint8_t {
508508
none = 0, pre_if, pre_else, pre_endif
509509
};
510510
auto starts_with_preprocessor_if_else_endif(
@@ -635,7 +635,7 @@ auto process_cpp_line(
635635
i+=2;
636636
if (i < ssize(line) - 1)
637637
{
638-
if (auto paren_pos = line.find("(", i);
638+
if (auto paren_pos = line.find('(', i);
639639
paren_pos != line.npos
640640
)
641641
{

source/lex.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1496,7 +1496,7 @@ auto lex_line(
14961496
auto R_pos = i + 1;
14971497
auto seq_pos = i + 3;
14981498

1499-
if (auto paren_pos = line.find("(", seq_pos); paren_pos != line.npos) {
1499+
if (auto paren_pos = line.find('(', seq_pos); paren_pos != line.npos) {
15001500
auto opening_seq = line.substr(i, paren_pos - i + 1);
15011501
auto closing_seq = ")"+line.substr(seq_pos, paren_pos-seq_pos)+"\"";
15021502

@@ -1717,7 +1717,7 @@ auto lex_line(
17171717
if (peek(j-2) == 'R') {
17181718
auto seq_pos = i + j;
17191719

1720-
if (auto paren_pos = line.find("(", seq_pos); paren_pos != line.npos) {
1720+
if (auto paren_pos = line.find('(', seq_pos); paren_pos != line.npos) {
17211721
auto opening_seq = line.substr(i, paren_pos - i + 1);
17221722
auto closing_seq = ")"+line.substr(seq_pos, paren_pos-seq_pos)+"\"";
17231723

source/parse.h

+10-10
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ struct template_argument;
130130

131131
struct primary_expression_node
132132
{
133-
enum active { empty=0, identifier, expression_list, id_expression, declaration, inspect, literal };
133+
enum active : std::uint8_t { empty=0, identifier, expression_list, id_expression, declaration, inspect, literal };
134134
std::variant<
135135
std::monostate,
136136
token const*,
@@ -666,7 +666,7 @@ auto binary_expression_node<Name, Term>::is_standalone_expression() const
666666
}
667667

668668

669-
enum class passing_style { in=0, copy, inout, out, move, forward, invalid };
669+
enum class passing_style : std::uint8_t { in=0, copy, inout, out, move, forward, invalid };
670670
auto to_passing_style(token const& t) -> passing_style {
671671
if (t.type() == lexeme::Identifier) {
672672
if (t == "in" ) { return passing_style::in; }
@@ -1152,7 +1152,7 @@ struct template_args_tag { };
11521152

11531153
struct template_argument
11541154
{
1155-
enum active { empty=0, expression, type_id };
1155+
enum active : std::uint8_t { empty=0, expression, type_id };
11561156
source_position comma;
11571157
std::variant<
11581158
std::monostate,
@@ -1338,7 +1338,7 @@ struct type_id_node
13381338
int dereference_cnt = {};
13391339
token const* suspicious_initialization = {};
13401340

1341-
enum active { empty=0, qualified, unqualified, function, keyword };
1341+
enum active : std::uint8_t { empty=0, qualified, unqualified, function, keyword };
13421342
std::variant<
13431343
std::monostate,
13441344
std::unique_ptr<qualified_id_node>,
@@ -1660,7 +1660,7 @@ struct id_expression_node
16601660
{
16611661
source_position pos;
16621662

1663-
enum active { empty=0, qualified, unqualified };
1663+
enum active : std::uint8_t { empty=0, qualified, unqualified };
16641664
std::variant<
16651665
std::monostate,
16661666
std::unique_ptr<qualified_id_node>,
@@ -2141,7 +2141,7 @@ struct statement_node
21412141
// type(s) used in a std::unique_ptr as a member
21422142
~statement_node();
21432143

2144-
enum active { expression=0, compound, selection, declaration, return_, iteration, using_, contract, inspect, jump };
2144+
enum active : std::uint8_t { expression=0, compound, selection, declaration, return_, iteration, using_, contract, inspect, jump };
21452145
std::variant<
21462146
std::unique_ptr<expression_statement_node>,
21472147
std::unique_ptr<compound_statement_node>,
@@ -2269,7 +2269,7 @@ struct parameter_declaration_node
22692269
passing_style pass = passing_style::in;
22702270
int ordinal = 1;
22712271

2272-
enum class modifier { none=0, implicit, virtual_, override_, final_ };
2272+
enum class modifier : std::uint8_t { none=0, implicit, virtual_, override_, final_ };
22732273
modifier mod = modifier::none;
22742274

22752275
std::unique_ptr<declaration_node> declaration;
@@ -2440,7 +2440,7 @@ struct function_type_node
24402440
passing_style pass = passing_style::move;
24412441
};
24422442

2443-
enum active { empty = 0, id, list };
2443+
enum active : std::uint8_t { empty = 0, id, list };
24442444
std::variant<
24452445
std::monostate,
24462446
single_type_id,
@@ -2803,7 +2803,7 @@ struct alias_node
28032803
};
28042804

28052805

2806-
enum class accessibility { default_ = 0, public_, protected_, private_ };
2806+
enum class accessibility : std::uint8_t { default_ = 0, public_, protected_, private_ };
28072807

28082808
auto to_string(accessibility a)
28092809
-> std::string
@@ -3251,7 +3251,7 @@ struct declaration_node
32513251
auto parent_is_polymorphic() const -> bool
32523252
{ return parent_declaration && parent_declaration->is_polymorphic(); }
32533253

3254-
enum which {
3254+
enum which : std::uint8_t {
32553255
functions = 1,
32563256
objects = 2,
32573257
types = 4,

0 commit comments

Comments
 (0)