Commit Graph

32 Commits

Author SHA1 Message Date
Victor Zverovich
a2c290bc34 Suppress a bogus MSVC warning 2024-09-04 17:20:30 -07:00
Cameron Angus
52b32081f9
Wrap private module fragment content within conditional extern "C++", to match declarations. (#4083) 2024-07-24 06:25:23 -07:00
Matthias Moulin
af8cd4e404
Module purview can only contain direct preprocessor code (#4029)
Resolved MSVC Warning C5202: a global module fragment can only contain preprocessor directives
2024-06-19 13:00:29 -07:00
LoveSy
8687315e86
Guard more system headers by FMT_MODULE (#4006)
* Guard more system headers by `FMT_MODULE`

* Merge FMT_MODULE and FMT_IMPORT_STD
2024-06-14 10:53:51 -07:00
LoveSy
51a690ab15
Check if .cc exists in fmt.cc (#4005)
After installation, these files no longer exist and cause errors.
2024-06-09 18:01:44 -07:00
LoveSy
0f6e716548
Fix missing includes in fmt.cc (#3994)
This causes duplicated std definitions in the fmt module
2024-06-08 13:50:29 -07:00
Matthias Moulin
116a9ce488
Added FMT_IMPORT_STD feature macro (#3928) 2024-04-10 11:48:32 -07:00
Vladislav Shchapov
7fd1802686
Fix FMT_OS definition (#3783)
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
2024-01-02 07:20:09 -08:00
Victor Zverovich
9659f22d36 Don't include os.cc in the module if it is disabled via FMT_OS 2024-01-01 18:32:53 -08:00
Victor Zverovich
398ddb8fec Don't include fmt/os.h in the module if it is disabled via FMT_OS 2024-01-01 12:21:28 -08:00
Kefu Chai
6855bd532b Apply clang-format
* use clang-format v17.0.6 to reformat the tree
* tweak some places so that clang-format does not mutate the layout
  of code too much

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2023-12-13 07:18:37 -08:00
Christoph Reiter
b3bf23f3c4
Remove leftover usage of the __std_stream header (#3663)
2dd4fa8742 removed all usage of __std_stream because
it is no longer available with clang v17. That commit missed one place
where the header was still used (only used when building with -DFMT_MODULE=ON).
Remove it there too.

See #3654
2023-10-01 08:16:42 -07:00
Victor Zverovich
0f823df46a Remove detail namespace hack 2023-06-04 15:19:50 -07:00
Victor Zverovich
b14913fae5 FMT_MODULE_EXPORT -> FMT_EXPORT 2023-05-17 07:38:06 -07:00
Daniela Engert
192df93d7b
modules missing pieces (#3399)
- don't export names from `detail`
- put more headers into the global module fragment
- support MSYS2 and Clang
2023-05-05 10:21:18 -07:00
Daniela Engert
eafcd3c8e1
Optionally attach declarations to the global module rather than module fmt (#3387)
This allows coexistence with TUs that use {fmt} through #include without duplicating declarations, definitions, linker symbols, and object code.
2023-04-23 06:04:36 -07:00
Daniela Engert
0489c19dcb
fix and improve module (#3386)
* export public documented API
* don't export `namespace detail`
* add `std.h` into module
* add missing namespace qualification in `xchar.h`
* fix call to `detail::get_iterator` in `xchar.h`
* fix ambiguous overload of `detail::isfinite` in `chrono.h`
2023-04-18 06:47:01 -07:00
Victor Zverovich
d9c19940a3 Update add_module_library 2023-04-13 17:13:52 -07:00
Victor Zverovich
c98e5a08a4 Fix modular build on clang 2023-04-10 12:07:25 -07:00
Victor Zverovich
119c6bd16f Move the modules check 2023-04-10 09:28:00 -07:00
Victor Zverovich
77eeb71830 Remove unused headers 2023-04-10 09:08:19 -07:00
Victor Zverovich
13bf99f9db Enable modules in clang 16 2023-04-10 08:44:43 -07:00
Victor Zverovich
1d0257e4c0 FMT_MODULE_EXPORT_* -> FMT_EXPORT_* 2023-04-10 08:33:39 -07:00
Florin Iucha
acad8cfab1 Reformat all source code; no functional changes
Before adding the format checker, the mainline should be clean, to
avoid false failures.
2021-11-25 09:15:25 -08:00
Daniela Engert
0193e7c428 Support compile-time strings and compile-time format string compilation in module
Make just the necessary parts available for lookup from client context.
2021-06-11 09:38:53 -07:00
Daniela Engert
70e67ae018 Re-enable module testing
Prepare for compilation with gcc (modules branch).
2021-06-01 14:49:56 -07:00
Victor Zverovich
ff37e41625 wchar.h -> xchar.h because it handles other code unit types too 2021-05-29 09:37:17 -07:00
Daniela Engert
b99c2bd345 Remove deprecated locale.h from module interface unit 2021-05-23 06:17:25 -07:00
Daniela Engert
6e2e6b796f Restore support for wchar_t overloads in module 2021-05-20 10:03:58 -07:00
Daniela Engert
5466373a11 Do *not* export namespace detail
Introduce `FMT_BEGIN_DETAIL_NAMESPACE` and `FMT_END_DETAIL_NAMESPACE` for `namespace detail` sections embedded in that part of the code that contains all declarations that are exported from the module, i.e. which is enclosed by `FMT_MODULE_EXPORT_BEGIN` and `FMT_MODULE_EXPORT_END`. Given a correct implementation of C++20 modules, neither the name `fmt::detail` nor any of its contents will become visible outside of the module.
2021-05-15 12:08:42 -07:00
Daniela Engert
9648bdce30 add missing header 2021-05-13 05:39:18 -07:00
Daniela Engert
dacd1356e4 Add module interface unit 2021-04-24 06:39:57 -07:00