From 880b67b0128bc3612d5cd2430a88f34bd79d1aa1 Mon Sep 17 00:00:00 2001 From: Jon Ross-Perkins Date: Thu, 20 Jul 2023 18:16:46 -0700 Subject: [PATCH] Clean up uncommented SmallVector size parameters. (#3006) The lack of comments makes it difficult to be sure, but if any of these are necessary, I'd like to make sure there are comments to explain why a specific value was shown (which I do add for diagnostics_ in this change). --- toolchain/diagnostics/diagnostic_emitter.h | 4 ++-- toolchain/diagnostics/sorting_diagnostic_consumer.h | 3 +++ toolchain/driver/driver_fuzzer.cpp | 4 ++-- toolchain/driver/driver_main.cpp | 2 +- toolchain/lexer/tokenized_buffer.cpp | 2 +- toolchain/lexer/tokenized_buffer.h | 10 +++++----- toolchain/parser/parse_tree.h | 2 +- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/toolchain/diagnostics/diagnostic_emitter.h b/toolchain/diagnostics/diagnostic_emitter.h index a47f3bdd7d45..910c997f5052 100644 --- a/toolchain/diagnostics/diagnostic_emitter.h +++ b/toolchain/diagnostics/diagnostic_emitter.h @@ -62,7 +62,7 @@ struct DiagnosticLocation { struct DiagnosticMessage { explicit DiagnosticMessage( DiagnosticKind kind, DiagnosticLocation location, - llvm::StringLiteral format, llvm::SmallVector format_args, + llvm::StringLiteral format, llvm::SmallVector format_args, std::function format_fn) : kind(kind), location(std::move(location)), @@ -86,7 +86,7 @@ struct DiagnosticMessage { // without needing to parse the formatted string; however, it should be // understood that diagnostic formats are subject to change and the llvm::Any // offers limited compile-time type safety. Integration tests are required. - llvm::SmallVector format_args; + llvm::SmallVector format_args; // Returns the formatted string. By default, this uses llvm::formatv. std::function format_fn; diff --git a/toolchain/diagnostics/sorting_diagnostic_consumer.h b/toolchain/diagnostics/sorting_diagnostic_consumer.h index 48869518f427..d0a6d998c599 100644 --- a/toolchain/diagnostics/sorting_diagnostic_consumer.h +++ b/toolchain/diagnostics/sorting_diagnostic_consumer.h @@ -40,7 +40,10 @@ class SortingDiagnosticConsumer : public DiagnosticConsumer { } private: + // A Diagnostic is undesirably large for inline storage by SmallVector, so we + // specify 0. llvm::SmallVector diagnostics_; + DiagnosticConsumer* next_consumer_; }; diff --git a/toolchain/driver/driver_fuzzer.cpp b/toolchain/driver/driver_fuzzer.cpp index 23f3f57fb79d..6ab378bbe9b9 100644 --- a/toolchain/driver/driver_fuzzer.cpp +++ b/toolchain/driver/driver_fuzzer.cpp @@ -41,7 +41,7 @@ extern "C" auto LLVMFuzzerTestOneInput(const unsigned char* data, size_t size) // exhaust all memory, so bound the search space to using 2^17 bytes of // memory for the argument text itself. size_t arg_length_sum = 0; - llvm::SmallVector arg_lengths(num_args); + llvm::SmallVector arg_lengths(num_args); for (int& arg_length : arg_lengths) { if (!Read(data, size, arg_length) || arg_length < 0) { return 0; @@ -58,7 +58,7 @@ extern "C" auto LLVMFuzzerTestOneInput(const unsigned char* data, size_t size) } // Lastly, read the contents of each argument out of the data. - llvm::SmallVector args; + llvm::SmallVector args; args.reserve(num_args); for (int arg_length : arg_lengths) { args.push_back( diff --git a/toolchain/driver/driver_main.cpp b/toolchain/driver/driver_main.cpp index 7d5853cb1fdb..b3dbc841c063 100644 --- a/toolchain/driver/driver_main.cpp +++ b/toolchain/driver/driver_main.cpp @@ -27,7 +27,7 @@ auto main(int argc, char** argv) -> int { // is piped to stdout. llvm::errs().tie(&llvm::outs()); - llvm::SmallVector args(argv + 1, argv + argc); + llvm::SmallVector args(argv + 1, argv + argc); auto fs = llvm::vfs::getRealFileSystem(); Carbon::Driver driver(*fs, llvm::outs(), llvm::errs()); bool success = driver.RunFullCommand(args); diff --git a/toolchain/lexer/tokenized_buffer.cpp b/toolchain/lexer/tokenized_buffer.cpp index 5094c319d0ad..b93351997fb5 100644 --- a/toolchain/lexer/tokenized_buffer.cpp +++ b/toolchain/lexer/tokenized_buffer.cpp @@ -543,7 +543,7 @@ class TokenizedBuffer::Lexer { int current_column_ = 0; bool set_indent_ = false; - llvm::SmallVector open_groups_; + llvm::SmallVector open_groups_; }; auto TokenizedBuffer::Lex(SourceBuffer& source, DiagnosticConsumer& consumer) diff --git a/toolchain/lexer/tokenized_buffer.h b/toolchain/lexer/tokenized_buffer.h index 20de687a451f..bdec1b5c743a 100644 --- a/toolchain/lexer/tokenized_buffer.h +++ b/toolchain/lexer/tokenized_buffer.h @@ -393,17 +393,17 @@ class TokenizedBuffer { SourceBuffer* source_; - llvm::SmallVector token_infos_; + llvm::SmallVector token_infos_; - llvm::SmallVector line_infos_; + llvm::SmallVector line_infos_; - llvm::SmallVector identifier_infos_; + llvm::SmallVector identifier_infos_; // Storage for integers that form part of the value of a numeric or type // literal. - llvm::SmallVector literal_int_storage_; + llvm::SmallVector literal_int_storage_; - llvm::SmallVector literal_string_storage_; + llvm::SmallVector literal_string_storage_; llvm::DenseMap identifier_map_; diff --git a/toolchain/parser/parse_tree.h b/toolchain/parser/parse_tree.h index 4814f83770e5..bce0b9d77759 100644 --- a/toolchain/parser/parse_tree.h +++ b/toolchain/parser/parse_tree.h @@ -218,7 +218,7 @@ class ParseTree { bool preorder) const -> bool; // Depth-first postorder sequence of node implementation data. - llvm::SmallVector node_impls_; + llvm::SmallVector node_impls_; TokenizedBuffer* tokens_;