diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index fff5556..8f3e066 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -28,7 +28,7 @@ jobs: - name: "build linux" run: | sudo apt-get update - sudo apt-get install -y libglfw3-dev libsdl2-dev gcc-multilib g++-multilib libfreetype6-dev libvulkan-dev + sudo apt-get install --no-install-recommends -y libglfw3-dev libsdl2-dev gcc-multilib g++-multilib libfreetype6-dev libvulkan-dev git submodule update --init --recursive mkdir build cd build @@ -47,7 +47,7 @@ jobs: - name: "tests with ASAN" run: | sudo apt-get update - sudo apt-get install -y libglfw3-dev libsdl2-dev gcc-multilib g++-multilib libfreetype6-dev libvulkan-dev + sudo apt-get install --no-install-recommends -y libglfw3-dev libsdl2-dev gcc-multilib g++-multilib libfreetype6-dev libvulkan-dev git submodule update --init --recursive mkdir build cd build diff --git a/symmetri/gui/load_file.cpp b/symmetri/gui/load_file.cpp index 77f3202..f44134f 100644 --- a/symmetri/gui/load_file.cpp +++ b/symmetri/gui/load_file.cpp @@ -76,7 +76,16 @@ void loadPetriNet(const std::filesystem::path& file) { m.colors = symmetri::Token::getColors(); +// For GCC, we copy the priority table because of some weird GCC13/14 bug... +#if defined(__GNUC__) +#ifndef __clang__ + m.net.priority.insert(m.net.priority.end(), new_net.priority.begin(), + new_net.priority.end()); +#endif +#else append(std::move(new_net.priority), m.net.priority); +#endif + append(std::move(new_net.transition), m.net.transition); append(std::move(new_net.place), m.net.place); append(std::move(new_net.output_n), m.net.output_n);