diff --git a/Dockerfile b/Dockerfile index d2f6051fe..c85ac1fb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,13 +26,13 @@ RUN apt-get -y update \ && apt-get install -y ccache RUN if [ -n "$USE_CLANG" ]; then \ - apt-get -y install clang; \ + apt-get -y install clang-22; \ else \ - apt-get -y install gcc-15 g++-15 \ - && update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-15 100 \ - && update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-15 100 \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 100 \ - && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-15 100; \ + apt-get -y install gcc-16 g++-16 \ + && update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-16 100 \ + && update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++-16 100 \ + && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-16 100 \ + && update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-16 100; \ fi RUN wget -q https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.gz \ diff --git a/src/login/Survey.cpp b/src/login/Survey.cpp index 64ab066f7..8f124b86d 100644 --- a/src/login/Survey.cpp +++ b/src/login/Survey.cpp @@ -48,8 +48,7 @@ void Survey::add_data(const grunt::Platform platform, const grunt::System os, co data_.insert_or_assign(key, std::move(buffer)); } -std::optional> -Survey::meta(const grunt::Platform platform, const grunt::System os) const { +std::optional Survey::meta(const grunt::Platform platform, const grunt::System os) const { if(auto it = meta_.find({ platform, os }); it != meta_.end()) { return it->second; } diff --git a/src/login/Survey.h b/src/login/Survey.h index 27ea83d84..49ebe5f86 100644 --- a/src/login/Survey.h +++ b/src/login/Survey.h @@ -53,8 +53,7 @@ class Survey final { void add_data(grunt::Platform platform, grunt::System os, const std::string& path); [[nodiscard]] - std::optional> - meta(grunt::Platform platform, grunt::System os) const; + std::optional meta(grunt::Platform platform, grunt::System os) const; [[nodiscard]] std::optional> diff --git a/src/login/grunt/Handler.h b/src/login/grunt/Handler.h index 7f74ec370..60dedb40b 100644 --- a/src/login/grunt/Handler.h +++ b/src/login/grunt/Handler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 - 2024 Ember + * Copyright (c) 2015 - 2026 Ember * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -11,7 +11,6 @@ #include "Packets.h" #include #include -#include #include #include #include diff --git a/src/tools/dbcparser/Validator.cpp b/src/tools/dbcparser/Validator.cpp index a1db0a4c8..5a68941ac 100644 --- a/src/tools/dbcparser/Validator.cpp +++ b/src/tools/dbcparser/Validator.cpp @@ -24,7 +24,7 @@ namespace ember::dbc { * Searches DBC definitions for the given foreign key. * Only child structs of the root node are considered for matches. */ -std::optional> Validator::locate_fk_parent(const std::string_view parent) { +std::optional Validator::locate_fk_parent(const std::string_view parent) { LOG_TRACE_GLOB << log_func << LOG_ASYNC; for(auto& def : *definitions_) { @@ -63,13 +63,11 @@ void Validator::check_foreign_keys(const types::Field& field) { std::format("{} references a primary key in {} that does not exist", field.name, key.parent) ); } - - const auto& pk_ref = pk->get(); - if(!key.ignore_type_mismatch && pk_ref.underlying_type != components.first) { + if(!key.ignore_type_mismatch && pk->underlying_type != components.first) { throw exception( std::format(":{} => {} types do not match. Expected {}, found {}", - field.name, key.parent, components.first, pk_ref.underlying_type) + field.name, key.parent, components.first, pk->underlying_type) ); } } diff --git a/src/tools/dbcparser/Validator.h b/src/tools/dbcparser/Validator.h index 63e49cc62..95ec625a7 100644 --- a/src/tools/dbcparser/Validator.h +++ b/src/tools/dbcparser/Validator.h @@ -12,7 +12,6 @@ #include "Types.h" #include "TypeUtils.h" #include "TreeNode.h" -#include #include #include #include @@ -67,7 +66,7 @@ class Validator final { void check_multiple_definitions(const types::Base* def); void check_key_types(const types::Field& def); void check_foreign_keys(const types::Field& def); - std::optional> locate_fk_parent(const std::string_view parent); + std::optional locate_fk_parent(const std::string_view parent); void build_type_tree(); void recursive_type_parse(TreeNode* parent, const types::Base* def);