diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e9e47e138135a8a31ea5a543a4cd38d46d6f081..09a6b32880ecdb8e5f2be069f28fd48b6c8d96e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: "flowdalic/debian-testing-dev:1.29" +image: "flowdalic/debian-testing-dev:1.30" before_script: - ulimit -a diff --git a/emper/FiberHint.cpp b/emper/FiberHint.cpp index cd2401445e7da90afb573e331a357f1ba5968dab..790a6ac219d42403fe7635910458f1860cf6fc34 100644 --- a/emper/FiberHint.cpp +++ b/emper/FiberHint.cpp @@ -3,6 +3,7 @@ #include "FiberHint.hpp" #include "CallerEnvironment.hpp" +#include "FiberSource.hpp" #include "Worker.hpp" namespace emper { diff --git a/emper/FiberHint.hpp b/emper/FiberHint.hpp index 08859774badbc2c446615560a04edb7ebdc1d5e2..4ac5fef4f0894790fd28da3c4a0687eb7c8be179 100644 --- a/emper/FiberHint.hpp +++ b/emper/FiberHint.hpp @@ -6,11 +6,12 @@ #include <iostream> #include "CallerEnvironment.hpp" -#include "FiberSource.hpp" #include "emper-common.h" #include "lib/TaggedPtr.hpp" namespace emper { +enum class FiberSource : uintptr_t; + /** * @brief A descriptor where to find a fiber * diff --git a/emper/Runtime.cpp b/emper/Runtime.cpp index 818de7ccf8fe18b58c162c2b3fec1cfb01379bdc..b05d68a5c83448aa0b156d0391c2e1f571848d1e 100644 --- a/emper/Runtime.cpp +++ b/emper/Runtime.cpp @@ -39,6 +39,7 @@ #include "lib/DebugUtil.hpp" #include "lib/ShardedFileBuffer.hpp" #include "lib/env.hpp" +#include "lib/sync/PosixSemaphore.hpp" #include "log/LogBuffer.hpp" #include "sleep_strategy/SemaphoreWorkerSleepStrategy.hpp" #include "stats/FromAnywhere.hpp" diff --git a/emper/Runtime.hpp b/emper/Runtime.hpp index 26f9e9ada58d0ceb6f0c58724dfedc1e03ba25ee..f355466f13888ba2d67f05d6f0d7c693ec61e91e 100644 --- a/emper/Runtime.hpp +++ b/emper/Runtime.hpp @@ -30,7 +30,6 @@ #include "lib/sync/Semaphore.hpp" #include "sleep_strategy/WorkerSleepStrategy.hpp" -enum class LogSubsystem; class RuntimeBuilder; class ContextManager; class Dispatcher; diff --git a/emper/io/Stats.hpp b/emper/io/Stats.hpp index c828a69bca0936d38399c655733a7aacceae7be3..a651951b2a34fcbb2c14b0ba3c272cd44d0c72f7 100644 --- a/emper/io/Stats.hpp +++ b/emper/io/Stats.hpp @@ -1,8 +1,7 @@ // SPDX-License-Identifier: LGPL-3.0-or-later // Copyright © 2020-2022 Florian Fischer, Florian Schmaus #pragma once -#include <bits/types/struct_iovec.h> // for iovec -#include <sys/types.h> // for ssize_t +#include <sys/uio.h> #include <boost/circular_buffer.hpp> #include <chrono> // for nanoseconds @@ -20,6 +19,7 @@ #include "lib/math.hpp" class Runtime; // lines 28-28 + namespace emper::io { class IoContext; class SubmitActor; // IWYU pragma: keep diff --git a/emper/lib/env.hpp b/emper/lib/env.hpp index e5764e92f0457256bbd3d3f01426b3cbf636da76..6f3026d1c3901b898d52b50f743d17f8fbfcb908 100644 --- a/emper/lib/env.hpp +++ b/emper/lib/env.hpp @@ -5,7 +5,6 @@ #include <cinttypes> #include <cstdlib> #include <limits> -#include <memory> #include <optional> #include <ostream> #include <string> diff --git a/emper/lib/sync/SpuriousFutex2Semaphore.hpp b/emper/lib/sync/SpuriousFutex2Semaphore.hpp index ac369e3e974e8a0830c530ae15213f885fe37ede..a9b00fc0a3d54629a6b14367f7ba07e819fb2b90 100644 --- a/emper/lib/sync/SpuriousFutex2Semaphore.hpp +++ b/emper/lib/sync/SpuriousFutex2Semaphore.hpp @@ -3,7 +3,7 @@ #pragma once #include <linux/futex.h> -#include <syscall.h> +#include <sys/syscall.h> #include <unistd.h> #include <atomic> diff --git a/emper/sleep_strategy/WaitfdSleepStrategy.cpp b/emper/sleep_strategy/WaitfdSleepStrategy.cpp index e75a806efd2dfa346ac8985854aea9d3a9d5cccd..b22f928b9a74aab54ae943f54f5082d0bead4145 100644 --- a/emper/sleep_strategy/WaitfdSleepStrategy.cpp +++ b/emper/sleep_strategy/WaitfdSleepStrategy.cpp @@ -4,7 +4,7 @@ #include <liburing.h> #include <liburing/io_uring.h> -#include <syscall.h> +#include <sys/syscall.h> #include "Emper.hpp" #include "FiberSource.hpp" diff --git a/emper/stats/FromAnywhere.cpp b/emper/stats/FromAnywhere.cpp index 2459dd62b4339fa1c6e86421fa28360925a689e2..0d99f3b33209ee36386c5cfbc6b865508c150a3f 100644 --- a/emper/stats/FromAnywhere.cpp +++ b/emper/stats/FromAnywhere.cpp @@ -2,9 +2,9 @@ // Copyright © 2021 Florian Schmaus #include "FromAnywhere.hpp" -#include <memory> #include <string> +#include "BlockablePurpose.hpp" #include "Emper.hpp" using namespace emper::stats; diff --git a/emper/stats/FromAnywhere.hpp b/emper/stats/FromAnywhere.hpp index 54a382429a3f5247c116c2bdca3951018ca9d947..dda75eece241fb4106a2b41480fc7ff3ba871ad7 100644 --- a/emper/stats/FromAnywhere.hpp +++ b/emper/stats/FromAnywhere.hpp @@ -7,13 +7,15 @@ #include <iostream> #include <vector> -#include "BlockablePurpose.hpp" #include "emper-common.h" enum class LogSubsystem; template <LogSubsystem logSubsystem> class Blockable; // IWYU pragma: keep class Runtime; +namespace emper { +enum class BlockablePurpose; +} // namespace emper namespace emper::stats { diff --git a/emper/stats/Worker.cpp b/emper/stats/Worker.cpp index 3b2cac4e7d358f122927483db3447cc5516bba8c..e1e0b9e81ce0346d084cdb2090b6eefcea5fb7e2 100644 --- a/emper/stats/Worker.cpp +++ b/emper/stats/Worker.cpp @@ -6,6 +6,7 @@ #include <ratio> #include <string> +#include "BlockablePurpose.hpp" #include "Emper.hpp" #include "lib/util.hpp" diff --git a/emper/stats/Worker.hpp b/emper/stats/Worker.hpp index f302ddf9ef71d5606b29fdb4c758f4fa56312452..0c3195df283d392b9e6d9b6f94f7f8ce5da3f554 100644 --- a/emper/stats/Worker.hpp +++ b/emper/stats/Worker.hpp @@ -9,7 +9,6 @@ #include <iostream> #include <vector> -#include "BlockablePurpose.hpp" #include "emper-common.h" #include "lib/math.hpp" @@ -19,6 +18,9 @@ class Blockable; // IWYU pragma: keep class Context; class Dispatcher; class Runtime; +namespace emper { +enum class BlockablePurpose; +} // namespace emper namespace emper::stats { diff --git a/eval/BFP9000.cpp b/eval/BFP9000.cpp index 83f63d3ec60c6129b59cd382e1d33e1f69faa916..887221c3c79a2bd309b550ba52c9a799fca6bea4 100644 --- a/eval/BFP9000.cpp +++ b/eval/BFP9000.cpp @@ -12,7 +12,6 @@ #include <filesystem> #include <fstream> #include <iostream> -#include <memory> #include <numeric> #include <optional> #include <random> diff --git a/eval/IoLatency.cpp b/eval/IoLatency.cpp index d071ddd5f372b40d7a7f85f15b27bf3470611074..65388ecc551220b65c6a30147fadcfba1f76cfb1 100644 --- a/eval/IoLatency.cpp +++ b/eval/IoLatency.cpp @@ -14,7 +14,6 @@ #include <iostream> #include <string> #include <thread> -#include <type_traits> #include "BinaryPrivateSemaphore.hpp" #include "Common.hpp" diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.cpp b/extra-libs/ws-queue/WorkStealingQueueLib.cpp index f024cc3ca22518abedf09d687d5d6931211da4f9..25eb05c50e51da5e5a62bba92f8e2e839c13fdd8 100644 --- a/extra-libs/ws-queue/WorkStealingQueueLib.cpp +++ b/extra-libs/ws-queue/WorkStealingQueueLib.cpp @@ -2,12 +2,15 @@ // Copyright © 2022 Florian Schmaus #include "WorkStealingQueueLib.hpp" -#include "StealingResult.hpp" #include "lib/adt/PushBottomResult.hpp" #include "lib/adt/WsClQueue.hpp" #include "lib/adt/WsClv3Queue.hpp" #include "lib/adt/WsClv4Queue.hpp" +namespace emper { +enum class StealingResult; +} // namespace emper + namespace emper::extralibs::wsqueue { constexpr int maxRetries = 0; diff --git a/extra-libs/ws-queue/WorkStealingQueueLib.hpp b/extra-libs/ws-queue/WorkStealingQueueLib.hpp index 10a94c677ab8486786cb717168d45cd6a276a99e..df14015747413aaabe4e7f7ed55af73e7e475607 100644 --- a/extra-libs/ws-queue/WorkStealingQueueLib.hpp +++ b/extra-libs/ws-queue/WorkStealingQueueLib.hpp @@ -2,9 +2,12 @@ // Copyright © 2022 Florian Schmaus #pragma once -#include "StealingResult.hpp" #include "lib/adt/PushBottomResult.hpp" +namespace emper { +enum class StealingResult; +} // namespace emper + namespace emper::extralibs::wsqueue { namespace cl { diff --git a/tests/io/SimpleDiskAndNetworkTest.cpp b/tests/io/SimpleDiskAndNetworkTest.cpp index 58f8f9a94ab0673271f9ef1e7b6878d4ab32a181..865cf8b0da740296c9d8a94823156c66aeb47268 100644 --- a/tests/io/SimpleDiskAndNetworkTest.cpp +++ b/tests/io/SimpleDiskAndNetworkTest.cpp @@ -1,8 +1,8 @@ // SPDX-License-Identifier: LGPL-3.0-or-later // Copyright © 2020-2021 Florian Fischer -#include <bits/types/struct_iovec.h> // for iovec -#include <fcntl.h> // for open, O_RDONLY +#include <fcntl.h> #include <sys/types.h> +#include <sys/uio.h> #include <array> #include <cstdlib> // for mkstemp @@ -19,6 +19,7 @@ #include "fixtures/network.hpp" #include "io.hpp" #include "io/Future.hpp" + class Fiber; using namespace emper::io; diff --git a/tests/io/TimeoutTest.cpp b/tests/io/TimeoutTest.cpp index 317401f22c331d00e4f514c2180526478d17da6e..7390709efcaa07536a28a40514f33d5ae2a38c42 100644 --- a/tests/io/TimeoutTest.cpp +++ b/tests/io/TimeoutTest.cpp @@ -1,5 +1,6 @@ // SPDX-License-Identifier: LGPL-3.0-or-later // Copyright © 2021 Florian Fischer +#include <arpa/inet.h> #include <netinet/in.h> #include <sys/eventfd.h> #include <sys/socket.h> diff --git a/tests/lib/TemplateUtilTest.cpp b/tests/lib/TemplateUtilTest.cpp index 17a59ae2b0974927d96022206cc15c01e6863dd8..cfed69d805637c55d5a2601c8d35a8639bdb61c0 100644 --- a/tests/lib/TemplateUtilTest.cpp +++ b/tests/lib/TemplateUtilTest.cpp @@ -5,6 +5,7 @@ #include <array> #include <cstddef> #include <cstdint> +#include <string> #include <utility> #include <vector>