From c127a38f485ff22adabe07015dd201cf5a110f9b Mon Sep 17 00:00:00 2001 From: Melissa Jost Date: Fri, 14 Apr 2023 17:02:01 -0700 Subject: [PATCH] base: Use include for GCC v7 This change adds include guards to the inclusion of the filesystem module to ensure GCC 7 can work properly, addressing an issue in the compiler tests. Change-Id: I642f79bd801baf4766572368b9339e34be46d1c3 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69840 Maintainer: Jason Lowe-Power Reviewed-by: Richard Cooper Tested-by: kokoro Reviewed-by: Jason Lowe-Power --- src/mem/shared_memory_server.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mem/shared_memory_server.cc b/src/mem/shared_memory_server.cc index 3e49164e6d..f99655c475 100644 --- a/src/mem/shared_memory_server.cc +++ b/src/mem/shared_memory_server.cc @@ -39,7 +39,18 @@ #include #include #include -#include +#if (defined(__GNUC__) && (__GNUC__ >= 8)) || defined(__clang__) + #include +#else + // This is only reachable if we're using GCC 7 (note: gem5 does not support + // GCC versions older than GCC 7 as they do not support the C++17 + // standard). + // If we're using GCC 7, we need to use . + #include + namespace std { + namespace filesystem = experimental::filesystem; + } +#endif #include "base/logging.hh" #include "base/output.hh"