From a51b510e7d50b8a65e1900f2aeda023c38833e5d Mon Sep 17 00:00:00 2001 From: Kelly Kinkade Date: Mon, 3 Aug 2026 16:14:13 -0500 Subject: [PATCH] add codegen support for `stl-fs-filetime` This adds codegen support for `stl-fs-filetime`, representing `std::filesystem::file_time_type` --- SYNTAX.rst | 9 ++++++++- StructFields.pm | 1 + changelog.txt | 1 + data-definition.xsd | 7 +++++++ lower-1.xslt | 1 + 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/SYNTAX.rst b/SYNTAX.rst index f9b0c676ec..8258bc5aab 100644 --- a/SYNTAX.rst +++ b/SYNTAX.rst @@ -248,7 +248,14 @@ Primitive fields can be classified as following: abstractly represent a path to a filesystem object in an architecture-independent manner. -6) File Stream:: +6) Filesystem Time:: + + + + This tag correspond to ``std::filesystem::file_time_type`` and is used to represent + a filesystem time value in an architecture-independent manner. + +7) File Stream:: diff --git a/StructFields.pm b/StructFields.pm index 720cd5c6fb..e2ae40d7fe 100644 --- a/StructFields.pm +++ b/StructFields.pm @@ -128,6 +128,7 @@ my %custom_primitive_handlers = ( 'stl-condition-variable' => sub { header_ref("condition_variable"); return "std::condition_variable"; }, 'stl-future' => sub { header_ref("future"); return "std::future"; }, 'stl-fs-path' => sub { header_ref("filesystem"); return "std::filesystem::path"; }, + 'stl-fs-filetime' => sub { header_ref("filesystem"); return "std::filesystem::file_time_type"; }, ); my %custom_primitive_inits = ( diff --git a/changelog.txt b/changelog.txt index 651525f02e..1a11236581 100644 --- a/changelog.txt +++ b/changelog.txt @@ -19,6 +19,7 @@ Template for new versions: # Future ## Structures +- added support for ``stl-fs-filetime`` representing ``std::filesystem::file_time_type`` # 53.15-r3 diff --git a/data-definition.xsd b/data-definition.xsd index ff3cb4d171..5ae1ac9396 100644 --- a/data-definition.xsd +++ b/data-definition.xsd @@ -229,6 +229,7 @@ + @@ -387,6 +388,12 @@ + + + + + + diff --git a/lower-1.xslt b/lower-1.xslt index acec602250..a88ae58a02 100644 --- a/lower-1.xslt +++ b/lower-1.xslt @@ -224,6 +224,7 @@ Error: field corresponds to an enum value of +