Fix missing includes in fmt.cc (#3994)

This causes duplicated std definitions in the fmt module
This commit is contained in:
LoveSy 2024-06-09 04:50:29 +08:00 committed by GitHub
parent a3d95971be
commit 0f6e716548
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 14 additions and 5 deletions

View File

@ -63,6 +63,8 @@ function(add_module_library name)
target_compile_options(${name} PUBLIC -fmodules-ts)
endif ()
target_compile_definitions(${name} PRIVATE FMT_MODULE)
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.28 AND CMAKE_GENERATOR STREQUAL "Ninja")
target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES FILES ${sources})
else()

View File

@ -8,9 +8,12 @@
#ifndef FMT_BASE_H_
#define FMT_BASE_H_
#include <limits.h> // CHAR_BIT
#include <stdio.h> // FILE
#include <string.h> // strlen
// c headers are preferable for performance reasons
#ifndef FMT_MODULE
# include <limits.h> // CHAR_BIT
# include <stdio.h> // FILE
# include <string.h> // strlen
#endif
#ifndef FMT_IMPORT_STD
// <cstddef> is also included transitively from <type_traits>.

View File

@ -2144,8 +2144,7 @@ struct formatter<day, Char> : private formatter<std::tm, Char> {
if (use_tm_formatter_) return formatter<std::tm, Char>::format(time, ctx);
detail::get_locale loc(false, ctx.locale());
auto w = detail::tm_writer<decltype(ctx.out()), Char>(loc, ctx.out(), time);
w.on_day_of_month(detail::numeric_system::standard,
detail::pad_type::zero);
w.on_day_of_month(detail::numeric_system::standard, detail::pad_type::zero);
return w.out();
}
};

View File

@ -6,6 +6,7 @@ module;
# include <algorithm>
# include <chrono>
# include <cmath>
# include <complex>
# include <cstddef>
# include <cstdint>
# include <cstdio>
@ -13,6 +14,7 @@ module;
# include <cstring>
# include <ctime>
# include <exception>
# include <expected>
# include <filesystem>
# include <fstream>
# include <functional>
@ -22,6 +24,7 @@ module;
# include <memory>
# include <optional>
# include <ostream>
# include <source_location>
# include <stdexcept>
# include <string>
# include <string_view>
@ -104,7 +107,9 @@ extern "C++" {
#if FMT_OS
# include "fmt/os.h"
#endif
#include "fmt/ostream.h"
#include "fmt/printf.h"
#include "fmt/ranges.h"
#include "fmt/std.h"
#include "fmt/xchar.h"