diff --git a/packages/cxx-gen-ast/src/gen_ast_decoder_cc.ts b/packages/cxx-gen-ast/src/gen_ast_decoder_cc.ts index 4c8c702e..8cd60819 100644 --- a/packages/cxx-gen-ast/src/gen_ast_decoder_cc.ts +++ b/packages/cxx-gen-ast/src/gen_ast_decoder_cc.ts @@ -88,7 +88,7 @@ export function gen_ast_decoder_cc({ const className = makeClassName(m.type); emit(` if (node->${snakeName}()) {`); emit(` auto* inserter = &ast->${m.name};`); - emit(` for (std::size_t i = 0; i < node->${snakeName}()->size();`); + emit(` for (std::uint32_t i = 0; i < node->${snakeName}()->size();`); emit(` ++i) {`); emit(` *inserter = new (pool_) List(decode${className}(`); emit(` node->${snakeName}()->Get(i),`); @@ -100,7 +100,7 @@ export function gen_ast_decoder_cc({ const className = makeClassName(m.type); emit(` if (node->${snakeName}()) {`); emit(` auto* inserter = &ast->${m.name};`); - emit(` for (std::size_t i = 0; i < node->${snakeName}()->size();`); + emit(` for (std::uint32_t i = 0; i < node->${snakeName}()->size();`); emit(` ++i) {`); emit(` *inserter = new (pool_) List(decode${className}(`); emit(` node->${snakeName}()->Get(i)));`); diff --git a/src/frontend/CMakeLists.txt b/src/frontend/CMakeLists.txt index 5fb33bfa..242c8698 100644 --- a/src/frontend/CMakeLists.txt +++ b/src/frontend/CMakeLists.txt @@ -54,3 +54,17 @@ if (CXX_INSTALL_TOOLS) EXPORT cxxTargets ) endif() + +add_custom_target(link_cxx_include ALL + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/../lib/cxx/include $/../lib/cxx/include +) + +add_custom_command( + OUTPUT wasi-sysroot.timestamp + COMMAND ${CMAKE_COMMAND} -E copy_directory ${wasi_sysroot_SOURCE_DIR} $/../lib/wasi-sysroot + COMMAND ${CMAKE_COMMAND} -E touch wasi-sysroot.timestamp +) + +add_custom_target(link_wasi_sysroot ALL + DEPENDS wasi-sysroot.timestamp +) diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index f5211708..41e25d16 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -17,9 +17,6 @@ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -add_custom_target(link_wasi_sysroot ALL - COMMAND ${CMAKE_COMMAND} -E copy_directory ${wasi_sysroot_SOURCE_DIR} wasi-sysroot) - add_subdirectory(cxx) if (CXX_INSTALL_WASI_SYSROOT) diff --git a/src/lib/cxx/CMakeLists.txt b/src/lib/cxx/CMakeLists.txt index b0e8591a..b18d0ac4 100644 --- a/src/lib/cxx/CMakeLists.txt +++ b/src/lib/cxx/CMakeLists.txt @@ -17,12 +17,9 @@ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -add_custom_target(link_cxx_include ALL - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/include include) - file(GLOB_RECURSE HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*") install( FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cxx/include -) \ No newline at end of file +) diff --git a/src/lsp/cxx/lsp/lsp_server.cc b/src/lsp/cxx/lsp/lsp_server.cc index fa50dcb8..39692deb 100644 --- a/src/lsp/cxx/lsp/lsp_server.cc +++ b/src/lsp/cxx/lsp/lsp_server.cc @@ -444,9 +444,9 @@ void Server::operator()(DidChangeTextDocumentNotification notification) { } visit{text}; auto contentChanges = notification.params().contentChanges(); - const auto contentChangeCount = contentChanges.size(); + const auto contentChangeCount = int(contentChanges.size()); - for (std::size_t i = 0; i < contentChangeCount; ++i) { + for (int i = 0; i < contentChangeCount; ++i) { std::visit(visit, contentChanges.at(i)); } @@ -508,8 +508,8 @@ void Server::operator()(CompletionRequest request) { auto completionItems = response.result>(); // cxx expects 1-based line and column numbers - cxxDocument->codeCompletionAt(std::move(source), line + 1, column + 1, - completionItems); + cxxDocument->codeCompletionAt(std::move(source), std::uint32_t(line + 1), + std::uint32_t(column + 1), completionItems); sendToClient(response); }); diff --git a/src/lsp/cxx/lsp/lsp_server.h b/src/lsp/cxx/lsp/lsp_server.h index 8379677a..189f7c44 100644 --- a/src/lsp/cxx/lsp/lsp_server.h +++ b/src/lsp/cxx/lsp/lsp_server.h @@ -94,7 +94,7 @@ class Server { struct Text { std::string value; std::vector lineStartOffsets; - int version = 0; + std::int64_t version = 0; auto offsetAt(std::size_t line, std::size_t column) const -> std::size_t; diff --git a/src/lsp/tests/CMakeLists.txt b/src/lsp/tests/CMakeLists.txt index 29bf38e1..0b9cf1b5 100644 --- a/src/lsp/tests/CMakeLists.txt +++ b/src/lsp/tests/CMakeLists.txt @@ -9,4 +9,4 @@ target_link_libraries(test_lsp GTest::gtest_main cxx-lsp) -gtest_discover_tests(test_lsp) +gtest_discover_tests(test_lsp DISCOVERY_MODE PRE_TEST) diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt index ecd017f6..ef493774 100644 --- a/src/parser/CMakeLists.txt +++ b/src/parser/CMakeLists.txt @@ -73,13 +73,11 @@ if (CXX_ENABLE_FLATBUFFERS) BINARY_SCHEMAS_DIR ${CMAKE_CURRENT_BINARY_DIR}/cxx FLAGS --cpp) - target_link_libraries(cxx-parser - PRIVATE $ - ) - target_link_libraries(cxx-parser PRIVATE $ ) + + add_dependencies(cxx-parser GENERATE_cxx-ast-flatbuffers) else() target_compile_definitions(cxx-parser PRIVATE CXX_NO_FLATBUFFERS) endif() diff --git a/src/parser/cxx/flatbuffers/ast_decoder.cc b/src/parser/cxx/flatbuffers/ast_decoder.cc index 7fdaffbe..49eb1bec 100644 --- a/src/parser/cxx/flatbuffers/ast_decoder.cc +++ b/src/parser/cxx/flatbuffers/ast_decoder.cc @@ -812,7 +812,7 @@ auto ASTDecoder::decodeTranslationUnit(const io::TranslationUnit* node) auto ast = new (pool_) TranslationUnitAST(); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -832,7 +832,7 @@ auto ASTDecoder::decodeModuleUnit(const io::ModuleUnit* node) ast->moduleDeclaration = decodeModuleDeclaration(node->module_declaration()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -851,7 +851,7 @@ auto ASTDecoder::decodeSimpleDeclaration(const io::SimpleDeclaration* node) auto ast = new (pool_) SimpleDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -860,7 +860,7 @@ auto ASTDecoder::decodeSimpleDeclaration(const io::SimpleDeclaration* node) } if (node->decl_specifier_list()) { auto* inserter = &ast->declSpecifierList; - for (std::size_t i = 0; i < node->decl_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->decl_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->decl_specifier_list()->Get(i), io::Specifier(node->decl_specifier_list_type()->Get(i)))); @@ -869,7 +869,7 @@ auto ASTDecoder::decodeSimpleDeclaration(const io::SimpleDeclaration* node) } if (node->init_declarator_list()) { auto* inserter = &ast->initDeclaratorList; - for (std::size_t i = 0; i < node->init_declarator_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->init_declarator_list()->size(); ++i) { *inserter = new (pool_) List(decodeInitDeclarator(node->init_declarator_list()->Get(i))); inserter = &(*inserter)->next; @@ -887,7 +887,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) auto ast = new (pool_) AsmDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -896,7 +896,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) } if (node->asm_qualifier_list()) { auto* inserter = &ast->asmQualifierList; - for (std::size_t i = 0; i < node->asm_qualifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->asm_qualifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeAsmQualifier(node->asm_qualifier_list()->Get(i))); inserter = &(*inserter)->next; @@ -907,7 +907,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) ast->literalLoc = SourceLocation(node->literal_loc()); if (node->output_operand_list()) { auto* inserter = &ast->outputOperandList; - for (std::size_t i = 0; i < node->output_operand_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->output_operand_list()->size(); ++i) { *inserter = new (pool_) List(decodeAsmOperand(node->output_operand_list()->Get(i))); inserter = &(*inserter)->next; @@ -915,7 +915,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) } if (node->input_operand_list()) { auto* inserter = &ast->inputOperandList; - for (std::size_t i = 0; i < node->input_operand_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->input_operand_list()->size(); ++i) { *inserter = new (pool_) List(decodeAsmOperand(node->input_operand_list()->Get(i))); inserter = &(*inserter)->next; @@ -923,7 +923,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) } if (node->clobber_list()) { auto* inserter = &ast->clobberList; - for (std::size_t i = 0; i < node->clobber_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->clobber_list()->size(); ++i) { *inserter = new (pool_) List(decodeAsmClobber(node->clobber_list()->Get(i))); inserter = &(*inserter)->next; @@ -931,7 +931,7 @@ auto ASTDecoder::decodeAsmDeclaration(const io::AsmDeclaration* node) } if (node->goto_label_list()) { auto* inserter = &ast->gotoLabelList; - for (std::size_t i = 0; i < node->goto_label_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->goto_label_list()->size(); ++i) { *inserter = new (pool_) List(decodeAsmGotoLabel(node->goto_label_list()->Get(i))); inserter = &(*inserter)->next; @@ -969,7 +969,7 @@ auto ASTDecoder::decodeUsingDeclaration(const io::UsingDeclaration* node) ast->usingLoc = SourceLocation(node->using_loc()); if (node->using_declarator_list()) { auto* inserter = &ast->usingDeclaratorList; - for (std::size_t i = 0; i < node->using_declarator_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->using_declarator_list()->size(); ++i) { *inserter = new (pool_) List(decodeUsingDeclarator(node->using_declarator_list()->Get(i))); inserter = &(*inserter)->next; @@ -998,7 +998,7 @@ auto ASTDecoder::decodeUsingDirective(const io::UsingDirective* node) auto ast = new (pool_) UsingDirectiveAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1039,7 +1039,7 @@ auto ASTDecoder::decodeAliasDeclaration(const io::AliasDeclaration* node) ast->identifierLoc = SourceLocation(node->identifier_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1049,7 +1049,7 @@ auto ASTDecoder::decodeAliasDeclaration(const io::AliasDeclaration* node) ast->equalLoc = SourceLocation(node->equal_loc()); if (node->gnu_attribute_list()) { auto* inserter = &ast->gnuAttributeList; - for (std::size_t i = 0; i < node->gnu_attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->gnu_attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->gnu_attribute_list()->Get(i), io::AttributeSpecifier(node->gnu_attribute_list_type()->Get(i)))); @@ -1074,7 +1074,7 @@ auto ASTDecoder::decodeOpaqueEnumDeclaration( ast->classLoc = SourceLocation(node->class_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1087,7 +1087,7 @@ auto ASTDecoder::decodeOpaqueEnumDeclaration( ast->colonLoc = SourceLocation(node->colon_loc()); if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -1105,7 +1105,7 @@ auto ASTDecoder::decodeFunctionDefinition(const io::FunctionDefinition* node) auto ast = new (pool_) FunctionDefinitionAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1114,7 +1114,7 @@ auto ASTDecoder::decodeFunctionDefinition(const io::FunctionDefinition* node) } if (node->decl_specifier_list()) { auto* inserter = &ast->declSpecifierList; - for (std::size_t i = 0; i < node->decl_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->decl_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->decl_specifier_list()->Get(i), io::Specifier(node->decl_specifier_list_type()->Get(i)))); @@ -1137,7 +1137,8 @@ auto ASTDecoder::decodeTemplateDeclaration(const io::TemplateDeclaration* node) ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_parameter_list()) { auto* inserter = &ast->templateParameterList; - for (std::size_t i = 0; i < node->template_parameter_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_parameter_list()->size(); + ++i) { *inserter = new (pool_) List(decodeTemplateParameter( node->template_parameter_list()->Get(i), io::TemplateParameter(node->template_parameter_list_type()->Get(i)))); @@ -1224,7 +1225,7 @@ auto ASTDecoder::decodeExportCompoundDeclaration( ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -1245,7 +1246,7 @@ auto ASTDecoder::decodeLinkageSpecification( ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -1269,7 +1270,7 @@ auto ASTDecoder::decodeNamespaceDefinition(const io::NamespaceDefinition* node) ast->namespaceLoc = SourceLocation(node->namespace_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1278,8 +1279,8 @@ auto ASTDecoder::decodeNamespaceDefinition(const io::NamespaceDefinition* node) } if (node->nested_namespace_specifier_list()) { auto* inserter = &ast->nestedNamespaceSpecifierList; - for (std::size_t i = 0; i < node->nested_namespace_specifier_list()->size(); - ++i) { + for (std::uint32_t i = 0; + i < node->nested_namespace_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeNestedNamespaceSpecifier( node->nested_namespace_specifier_list()->Get(i))); inserter = &(*inserter)->next; @@ -1288,7 +1289,7 @@ auto ASTDecoder::decodeNamespaceDefinition(const io::NamespaceDefinition* node) ast->identifierLoc = SourceLocation(node->identifier_loc()); if (node->extra_attribute_list()) { auto* inserter = &ast->extraAttributeList; - for (std::size_t i = 0; i < node->extra_attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->extra_attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->extra_attribute_list()->Get(i), io::AttributeSpecifier(node->extra_attribute_list_type()->Get(i)))); @@ -1298,7 +1299,7 @@ auto ASTDecoder::decodeNamespaceDefinition(const io::NamespaceDefinition* node) ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -1329,7 +1330,7 @@ auto ASTDecoder::decodeAttributeDeclaration( auto ast = new (pool_) AttributeDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1349,7 +1350,7 @@ auto ASTDecoder::decodeModuleImportDeclaration( ast->importName = decodeImportName(node->import_name()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1367,7 +1368,7 @@ auto ASTDecoder::decodeParameterDeclaration( auto ast = new (pool_) ParameterDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1377,7 +1378,7 @@ auto ASTDecoder::decodeParameterDeclaration( ast->thisLoc = SourceLocation(node->this_loc()); if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -1422,7 +1423,7 @@ auto ASTDecoder::decodeStructuredBindingDeclaration( auto ast = new (pool_) StructuredBindingDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -1431,7 +1432,7 @@ auto ASTDecoder::decodeStructuredBindingDeclaration( } if (node->decl_specifier_list()) { auto* inserter = &ast->declSpecifierList; - for (std::size_t i = 0; i < node->decl_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->decl_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->decl_specifier_list()->Get(i), io::Specifier(node->decl_specifier_list_type()->Get(i)))); @@ -1442,7 +1443,7 @@ auto ASTDecoder::decodeStructuredBindingDeclaration( ast->lbracketLoc = SourceLocation(node->lbracket_loc()); if (node->binding_list()) { auto* inserter = &ast->bindingList; - for (std::size_t i = 0; i < node->binding_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->binding_list()->size(); ++i) { *inserter = new (pool_) List(decodeNameId(node->binding_list()->Get(i))); inserter = &(*inserter)->next; } @@ -1564,7 +1565,7 @@ auto ASTDecoder::decodeCompoundStatement(const io::CompoundStatement* node) ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->statement_list()) { auto* inserter = &ast->statementList; - for (std::size_t i = 0; i < node->statement_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->statement_list()->size(); ++i) { *inserter = new (pool_) List( decodeStatement(node->statement_list()->Get(i), io::Statement(node->statement_list_type()->Get(i)))); @@ -1768,7 +1769,7 @@ auto ASTDecoder::decodeTryBlockStatement(const io::TryBlockStatement* node) ast->statement = decodeCompoundStatement(node->statement()); if (node->handler_list()) { auto* inserter = &ast->handlerList; - for (std::size_t i = 0; i < node->handler_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->handler_list()->size(); ++i) { *inserter = new (pool_) List(decodeHandler(node->handler_list()->Get(i))); inserter = &(*inserter)->next; } @@ -1909,7 +1910,7 @@ auto ASTDecoder::decodeLambdaExpression(const io::LambdaExpression* node) ast->captureDefaultLoc = SourceLocation(node->capture_default_loc()); if (node->capture_list()) { auto* inserter = &ast->captureList; - for (std::size_t i = 0; i < node->capture_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->capture_list()->size(); ++i) { *inserter = new (pool_) List(decodeLambdaCapture( node->capture_list()->Get(i), io::LambdaCapture(node->capture_list_type()->Get(i)))); @@ -1920,7 +1921,8 @@ auto ASTDecoder::decodeLambdaExpression(const io::LambdaExpression* node) ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_parameter_list()) { auto* inserter = &ast->templateParameterList; - for (std::size_t i = 0; i < node->template_parameter_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_parameter_list()->size(); + ++i) { *inserter = new (pool_) List(decodeTemplateParameter( node->template_parameter_list()->Get(i), io::TemplateParameter(node->template_parameter_list_type()->Get(i)))); @@ -1936,7 +1938,7 @@ auto ASTDecoder::decodeLambdaExpression(const io::LambdaExpression* node) ast->rparenLoc = SourceLocation(node->rparen_loc()); if (node->gnu_atribute_list()) { auto* inserter = &ast->gnuAtributeList; - for (std::size_t i = 0; i < node->gnu_atribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->gnu_atribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->gnu_atribute_list()->Get(i), io::AttributeSpecifier(node->gnu_atribute_list_type()->Get(i)))); @@ -1945,7 +1947,7 @@ auto ASTDecoder::decodeLambdaExpression(const io::LambdaExpression* node) } if (node->lambda_specifier_list()) { auto* inserter = &ast->lambdaSpecifierList; - for (std::size_t i = 0; i < node->lambda_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->lambda_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeLambdaSpecifier(node->lambda_specifier_list()->Get(i))); inserter = &(*inserter)->next; @@ -1955,7 +1957,7 @@ auto ASTDecoder::decodeLambdaExpression(const io::LambdaExpression* node) node->exception_specifier(), node->exception_specifier_type()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -2032,7 +2034,7 @@ auto ASTDecoder::decodeRequiresExpression(const io::RequiresExpression* node) ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->requirement_list()) { auto* inserter = &ast->requirementList; - for (std::size_t i = 0; i < node->requirement_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->requirement_list()->size(); ++i) { *inserter = new (pool_) List(decodeRequirement( node->requirement_list()->Get(i), io::Requirement(node->requirement_list_type()->Get(i)))); @@ -2082,7 +2084,7 @@ auto ASTDecoder::decodeCallExpression(const io::CallExpression* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -2103,7 +2105,7 @@ auto ASTDecoder::decodeTypeConstruction(const io::TypeConstruction* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -2390,7 +2392,7 @@ auto ASTDecoder::decodeNewExpression(const io::NewExpression* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -2543,7 +2545,7 @@ auto ASTDecoder::decodeTypeTraitExpression(const io::TypeTraitExpression* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->type_id_list()) { auto* inserter = &ast->typeIdList; - for (std::size_t i = 0; i < node->type_id_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_id_list()->size(); ++i) { *inserter = new (pool_) List(decodeTypeId(node->type_id_list()->Get(i))); inserter = &(*inserter)->next; } @@ -2559,7 +2561,7 @@ auto ASTDecoder::decodeConditionExpression(const io::ConditionExpression* node) auto ast = new (pool_) ConditionExpressionAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -2568,7 +2570,7 @@ auto ASTDecoder::decodeConditionExpression(const io::ConditionExpression* node) } if (node->decl_specifier_list()) { auto* inserter = &ast->declSpecifierList; - for (std::size_t i = 0; i < node->decl_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->decl_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->decl_specifier_list()->Get(i), io::Specifier(node->decl_specifier_list_type()->Get(i)))); @@ -2600,7 +2602,7 @@ auto ASTDecoder::decodeBracedInitList(const io::BracedInitList* node) ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -2620,7 +2622,7 @@ auto ASTDecoder::decodeParenInitializer(const io::ParenInitializer* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -2654,7 +2656,7 @@ auto ASTDecoder::decodeGlobalModuleFragment( ast->semicolonLoc = SourceLocation(node->semicolon_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -2675,7 +2677,7 @@ auto ASTDecoder::decodePrivateModuleFragment( ast->semicolonLoc = SourceLocation(node->semicolon_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -2696,7 +2698,7 @@ auto ASTDecoder::decodeModuleDeclaration(const io::ModuleDeclaration* node) ast->modulePartition = decodeModulePartition(node->module_partition()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -2776,7 +2778,7 @@ auto ASTDecoder::decodeDeclarator(const io::Declarator* node) auto ast = new (pool_) DeclaratorAST(); if (node->ptr_op_list()) { auto* inserter = &ast->ptrOpList; - for (std::size_t i = 0; i < node->ptr_op_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->ptr_op_list()->size(); ++i) { *inserter = new (pool_) List( decodePtrOperator(node->ptr_op_list()->Get(i), io::PtrOperator(node->ptr_op_list_type()->Get(i)))); @@ -2787,7 +2789,7 @@ auto ASTDecoder::decodeDeclarator(const io::Declarator* node) node->core_declarator_type()); if (node->declarator_chunk_list()) { auto* inserter = &ast->declaratorChunkList; - for (std::size_t i = 0; i < node->declarator_chunk_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declarator_chunk_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaratorChunk( node->declarator_chunk_list()->Get(i), io::DeclaratorChunk(node->declarator_chunk_list_type()->Get(i)))); @@ -2819,7 +2821,7 @@ auto ASTDecoder::decodeEnumerator(const io::Enumerator* node) ast->identifierLoc = SourceLocation(node->identifier_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -2842,7 +2844,7 @@ auto ASTDecoder::decodeTypeId(const io::TypeId* node) -> TypeIdAST* { auto ast = new (pool_) TypeIdAST(); if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -2873,7 +2875,7 @@ auto ASTDecoder::decodeBaseSpecifier(const io::BaseSpecifier* node) auto ast = new (pool_) BaseSpecifierAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -2908,7 +2910,7 @@ auto ASTDecoder::decodeParameterDeclarationClause( auto ast = new (pool_) ParameterDeclarationClauseAST(); if (node->parameter_declaration_list()) { auto* inserter = &ast->parameterDeclarationList; - for (std::size_t i = 0; i < node->parameter_declaration_list()->size(); + for (std::uint32_t i = 0; i < node->parameter_declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeParameterDeclaration( node->parameter_declaration_list()->Get(i))); @@ -2951,7 +2953,7 @@ auto ASTDecoder::decodeTypeConstraint(const io::TypeConstraint* node) ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_argument_list()) { auto* inserter = &ast->templateArgumentList; - for (std::size_t i = 0; i < node->template_argument_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_argument_list()->size(); ++i) { *inserter = new (pool_) List(decodeTemplateArgument( node->template_argument_list()->Get(i), io::TemplateArgument(node->template_argument_list_type()->Get(i)))); @@ -3007,7 +3009,7 @@ auto ASTDecoder::decodeNewPlacement(const io::NewPlacement* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -3042,7 +3044,8 @@ auto ASTDecoder::decodeTemplateTypeParameter( ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_parameter_list()) { auto* inserter = &ast->templateParameterList; - for (std::size_t i = 0; i < node->template_parameter_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_parameter_list()->size(); + ++i) { *inserter = new (pool_) List(decodeTemplateParameter( node->template_parameter_list()->Get(i), io::TemplateParameter(node->template_parameter_list_type()->Get(i)))); @@ -3359,7 +3362,7 @@ auto ASTDecoder::decodeElaboratedTypeSpecifier( ast->classLoc = SourceLocation(node->class_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3446,7 +3449,7 @@ auto ASTDecoder::decodeEnumSpecifier(const io::EnumSpecifier* node) ast->classLoc = SourceLocation(node->class_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3459,7 +3462,7 @@ auto ASTDecoder::decodeEnumSpecifier(const io::EnumSpecifier* node) ast->colonLoc = SourceLocation(node->colon_loc()); if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -3470,7 +3473,7 @@ auto ASTDecoder::decodeEnumSpecifier(const io::EnumSpecifier* node) ast->commaLoc = SourceLocation(node->comma_loc()); if (node->enumerator_list()) { auto* inserter = &ast->enumeratorList; - for (std::size_t i = 0; i < node->enumerator_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->enumerator_list()->size(); ++i) { *inserter = new (pool_) List(decodeEnumerator(node->enumerator_list()->Get(i))); inserter = &(*inserter)->next; @@ -3488,7 +3491,7 @@ auto ASTDecoder::decodeClassSpecifier(const io::ClassSpecifier* node) ast->classLoc = SourceLocation(node->class_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3503,7 +3506,7 @@ auto ASTDecoder::decodeClassSpecifier(const io::ClassSpecifier* node) ast->colonLoc = SourceLocation(node->colon_loc()); if (node->base_specifier_list()) { auto* inserter = &ast->baseSpecifierList; - for (std::size_t i = 0; i < node->base_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->base_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeBaseSpecifier(node->base_specifier_list()->Get(i))); inserter = &(*inserter)->next; @@ -3512,7 +3515,7 @@ auto ASTDecoder::decodeClassSpecifier(const io::ClassSpecifier* node) ast->lbraceLoc = SourceLocation(node->lbrace_loc()); if (node->declaration_list()) { auto* inserter = &ast->declarationList; - for (std::size_t i = 0; i < node->declaration_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->declaration_list()->size(); ++i) { *inserter = new (pool_) List(decodeDeclaration( node->declaration_list()->Get(i), io::Declaration(node->declaration_list_type()->Get(i)))); @@ -3555,7 +3558,7 @@ auto ASTDecoder::decodePointerOperator(const io::PointerOperator* node) ast->starLoc = SourceLocation(node->star_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3564,7 +3567,7 @@ auto ASTDecoder::decodePointerOperator(const io::PointerOperator* node) } if (node->cv_qualifier_list()) { auto* inserter = &ast->cvQualifierList; - for (std::size_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->cv_qualifier_list()->Get(i), io::Specifier(node->cv_qualifier_list_type()->Get(i)))); @@ -3582,7 +3585,7 @@ auto ASTDecoder::decodeReferenceOperator(const io::ReferenceOperator* node) ast->refLoc = SourceLocation(node->ref_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3603,7 +3606,7 @@ auto ASTDecoder::decodePtrToMemberOperator(const io::PtrToMemberOperator* node) ast->starLoc = SourceLocation(node->star_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3612,7 +3615,7 @@ auto ASTDecoder::decodePtrToMemberOperator(const io::PtrToMemberOperator* node) } if (node->cv_qualifier_list()) { auto* inserter = &ast->cvQualifierList; - for (std::size_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->cv_qualifier_list()->Get(i), io::Specifier(node->cv_qualifier_list_type()->Get(i)))); @@ -3657,7 +3660,7 @@ auto ASTDecoder::decodeIdDeclarator(const io::IdDeclarator* node) decodeUnqualifiedId(node->unqualified_id(), node->unqualified_id_type()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3689,7 +3692,7 @@ auto ASTDecoder::decodeFunctionDeclaratorChunk( ast->rparenLoc = SourceLocation(node->rparen_loc()); if (node->cv_qualifier_list()) { auto* inserter = &ast->cvQualifierList; - for (std::size_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->cv_qualifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->cv_qualifier_list()->Get(i), io::Specifier(node->cv_qualifier_list_type()->Get(i)))); @@ -3701,7 +3704,7 @@ auto ASTDecoder::decodeFunctionDeclaratorChunk( node->exception_specifier(), node->exception_specifier_type()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3724,7 +3727,7 @@ auto ASTDecoder::decodeArrayDeclaratorChunk( ast->rbracketLoc = SourceLocation(node->rbracket_loc()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -3812,7 +3815,7 @@ auto ASTDecoder::decodeSimpleTemplateId(const io::SimpleTemplateId* node) ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_argument_list()) { auto* inserter = &ast->templateArgumentList; - for (std::size_t i = 0; i < node->template_argument_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_argument_list()->size(); ++i) { *inserter = new (pool_) List(decodeTemplateArgument( node->template_argument_list()->Get(i), io::TemplateArgument(node->template_argument_list_type()->Get(i)))); @@ -3837,7 +3840,7 @@ auto ASTDecoder::decodeLiteralOperatorTemplateId( ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_argument_list()) { auto* inserter = &ast->templateArgumentList; - for (std::size_t i = 0; i < node->template_argument_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_argument_list()->size(); ++i) { *inserter = new (pool_) List(decodeTemplateArgument( node->template_argument_list()->Get(i), io::TemplateArgument(node->template_argument_list_type()->Get(i)))); @@ -3859,7 +3862,7 @@ auto ASTDecoder::decodeOperatorFunctionTemplateId( ast->lessLoc = SourceLocation(node->less_loc()); if (node->template_argument_list()) { auto* inserter = &ast->templateArgumentList; - for (std::size_t i = 0; i < node->template_argument_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->template_argument_list()->size(); ++i) { *inserter = new (pool_) List(decodeTemplateArgument( node->template_argument_list()->Get(i), io::TemplateArgument(node->template_argument_list_type()->Get(i)))); @@ -3944,7 +3947,7 @@ auto ASTDecoder::decodeCompoundStatementFunctionBody( ast->colonLoc = SourceLocation(node->colon_loc()); if (node->mem_initializer_list()) { auto* inserter = &ast->memInitializerList; - for (std::size_t i = 0; i < node->mem_initializer_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->mem_initializer_list()->size(); ++i) { *inserter = new (pool_) List(decodeMemInitializer( node->mem_initializer_list()->Get(i), io::MemInitializer(node->mem_initializer_list_type()->Get(i)))); @@ -3964,7 +3967,7 @@ auto ASTDecoder::decodeTryStatementFunctionBody( ast->colonLoc = SourceLocation(node->colon_loc()); if (node->mem_initializer_list()) { auto* inserter = &ast->memInitializerList; - for (std::size_t i = 0; i < node->mem_initializer_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->mem_initializer_list()->size(); ++i) { *inserter = new (pool_) List(decodeMemInitializer( node->mem_initializer_list()->Get(i), io::MemInitializer(node->mem_initializer_list_type()->Get(i)))); @@ -3974,7 +3977,7 @@ auto ASTDecoder::decodeTryStatementFunctionBody( ast->statement = decodeCompoundStatement(node->statement()); if (node->handler_list()) { auto* inserter = &ast->handlerList; - for (std::size_t i = 0; i < node->handler_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->handler_list()->size(); ++i) { *inserter = new (pool_) List(decodeHandler(node->handler_list()->Get(i))); inserter = &(*inserter)->next; } @@ -4098,7 +4101,7 @@ auto ASTDecoder::decodeNewParenInitializer(const io::NewParenInitializer* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -4130,7 +4133,7 @@ auto ASTDecoder::decodeParenMemInitializer(const io::ParenMemInitializer* node) ast->lparenLoc = SourceLocation(node->lparen_loc()); if (node->expression_list()) { auto* inserter = &ast->expressionList; - for (std::size_t i = 0; i < node->expression_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->expression_list()->size(); ++i) { *inserter = new (pool_) List(decodeExpression( node->expression_list()->Get(i), io::Expression(node->expression_list_type()->Get(i)))); @@ -4254,7 +4257,7 @@ auto ASTDecoder::decodeTypeExceptionDeclaration( auto ast = new (pool_) TypeExceptionDeclarationAST(); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttributeSpecifier( node->attribute_list()->Get(i), io::AttributeSpecifier(node->attribute_list_type()->Get(i)))); @@ -4263,7 +4266,7 @@ auto ASTDecoder::decodeTypeExceptionDeclaration( } if (node->type_specifier_list()) { auto* inserter = &ast->typeSpecifierList; - for (std::size_t i = 0; i < node->type_specifier_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->type_specifier_list()->size(); ++i) { *inserter = new (pool_) List(decodeSpecifier( node->type_specifier_list()->Get(i), io::Specifier(node->type_specifier_list_type()->Get(i)))); @@ -4285,7 +4288,7 @@ auto ASTDecoder::decodeCxxAttribute(const io::CxxAttribute* node) decodeAttributeUsingPrefix(node->attribute_using_prefix()); if (node->attribute_list()) { auto* inserter = &ast->attributeList; - for (std::size_t i = 0; i < node->attribute_list()->size(); ++i) { + for (std::uint32_t i = 0; i < node->attribute_list()->size(); ++i) { *inserter = new (pool_) List(decodeAttribute(node->attribute_list()->Get(i))); inserter = &(*inserter)->next; diff --git a/src/parser/cxx/lexer.cc b/src/parser/cxx/lexer.cc index 3905e9e4..837ffb05 100644 --- a/src/parser/cxx/lexer.cc +++ b/src/parser/cxx/lexer.cc @@ -142,7 +142,7 @@ auto Lexer::readToken() -> TokenKind { const auto hasMoreChars = skipSpaces(); tokenIsClean_ = true; - tokenPos_ = pos_ - cbegin(source_); + tokenPos_ = int(pos_ - cbegin(source_)); text_.clear(); if (!hasMoreChars) return TokenKind::T_EOF_SYMBOL; @@ -231,16 +231,16 @@ auto Lexer::readToken() -> TokenKind { auto lookat_delimiter = [&]() -> bool { if (LA() != ')') return false; - if (LA(delimiter.size() + 1) != '"') return false; + if (LA(int(delimiter.size() + 1)) != '"') return false; for (std::size_t i = 0; i < delimiter.size(); ++i) { - if (LA(i + 1) != delimiter[i]) return false; + if (LA(int(i + 1)) != delimiter[i]) return false; } return true; }; while (pos_ != end_) { if (lookat_delimiter()) { - consume(delimiter.size() + 2); + consume(int(delimiter.size() + 2)); break; } consume(); diff --git a/src/parser/cxx/lexer.h b/src/parser/cxx/lexer.h index 37334a3a..b79afbeb 100644 --- a/src/parser/cxx/lexer.h +++ b/src/parser/cxx/lexer.h @@ -60,7 +60,7 @@ class Lexer { [[nodiscard]] auto tokenPos() const -> int { return tokenPos_; } [[nodiscard]] auto tokenLength() const -> std::uint32_t { - return (pos_ - cbegin(source_)) - tokenPos_; + return std::uint32_t((pos_ - cbegin(source_)) - tokenPos_); } [[nodiscard]] auto tokenIsClean() const -> bool { return tokenIsClean_; } diff --git a/src/parser/cxx/preprocessor.cc b/src/parser/cxx/preprocessor.cc index 8c43c9fc..0dff7bd1 100644 --- a/src/parser/cxx/preprocessor.cc +++ b/src/parser/cxx/preprocessor.cc @@ -1218,7 +1218,7 @@ struct Preprocessor::Private { [[nodiscard]] auto unaryExpression(TokList *&ts) -> long; [[nodiscard]] auto primaryExpression(TokList *&ts) -> long; - [[nodiscard]] auto parseArguments(TokList *ts, int formalCount, + [[nodiscard]] auto parseArguments(TokList *ts, std::size_t formalCount, bool ignoreComma = false) -> std::tuple, TokList *, const Hideset *>; @@ -1241,8 +1241,8 @@ struct Preprocessor::ParseArguments { Private &d; template S> - auto operator()(TokIterator it, S last, int formalCount, bool ignoreComma) - -> std::optional { + auto operator()(TokIterator it, S last, std::size_t formalCount, + bool ignoreComma) -> std::optional { if (!cxx::lookat(it, last, TokenKind::T_LPAREN)) { cxx_runtime_error("expected '('"); return std::nullopt; @@ -1381,7 +1381,7 @@ void PendingFileContent::setContent(std::optional content) const { sourceFile->headerProtection = d->checkHeaderProtection(sourceFile->tokens); if (sourceFile->headerProtection) { - sourceFile->headerProtectionLevel = d->evaluating_.size(); + sourceFile->headerProtectionLevel = int(d->evaluating_.size()); d->ifndefProtectedFiles_.insert_or_assign( sourceFile->fileName, sourceFile->headerProtection->tok->text); @@ -1871,8 +1871,8 @@ auto Preprocessor::Private::parseDirective(SourceFile *source, TokList *start) dependencies_.clear(); - const auto directiveKind = classifyDirective(directive->tok->text.data(), - directive->tok->text.length()); + const auto directiveKind = classifyDirective( + directive->tok->text.data(), int(directive->tok->text.length())); TokList *ts = directive->next; @@ -2706,7 +2706,7 @@ auto Preprocessor::Private::instantiate(TokList *ts, const Hideset *hideset) return ts; } -auto Preprocessor::Private::parseArguments(TokList *ts, int formalCount, +auto Preprocessor::Private::parseArguments(TokList *ts, std::size_t formalCount, bool ignoreComma) -> std::tuple, TokList *, const Hideset *> { assert(lookat(ts, TokenKind::T_IDENTIFIER, TokenKind::T_LPAREN)); diff --git a/src/parser/cxx/symbols.h b/src/parser/cxx/symbols.h index eef97110..3fcbd8c3 100644 --- a/src/parser/cxx/symbols.h +++ b/src/parser/cxx/symbols.h @@ -304,7 +304,7 @@ class ClassSymbol final : public ScopedSymbol { std::vector constructors_; std::unique_ptr> templateInfo_; ClassSymbol* templateClass_ = nullptr; - int templateSepcializationIndex_ = 0; + std::size_t templateSepcializationIndex_ = 0; std::size_t sizeInBytes_ = 0; union { std::uint32_t flags_{}; diff --git a/tests/api_tests/CMakeLists.txt b/tests/api_tests/CMakeLists.txt index 3b2d969e..97e8e345 100644 --- a/tests/api_tests/CMakeLists.txt +++ b/tests/api_tests/CMakeLists.txt @@ -10,4 +10,4 @@ target_link_libraries(test_api GTest::gtest_main cxx-parser) -gtest_discover_tests(test_api) +gtest_discover_tests(test_api DISCOVERY_MODE PRE_TEST)