[all-commits] [llvm/llvm-project] 44c543: [libc] Add timezone extensions to struct tm and ti...

Jeff Bailey via All-commits all-commits at lists.llvm.org
Thu Jun 11 15:08:26 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 44c543639726d6c40017a20d73b572d26fceb698
      https://github.com/llvm/llvm-project/commit/44c543639726d6c40017a20d73b572d26fceb698
  Author: Jeff Bailey <jbailey at raspberryginger.com>
  Date:   2026-06-11 (Thu, 11 Jun 2026)

  Changed paths:
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    M libc/include/llvm-libc-types/struct_tm.h
    A libc/include/llvm-libc-types/tm_gmtoff_t.h
    M libc/include/time.yaml
    M libc/src/time/strftime_core/converter.h
    M libc/src/time/time_utils.h
    M libc/test/src/time/strftime_test.cpp

  Log Message:
  -----------
  [libc] Add timezone extensions to struct tm and time.h (#203381)

Added timezone extensions to struct tm and time.h:

* struct tm: Added tm_gmtoff and tm_zone, with __tm_gmtoff and __tm_zone
aliases defined as macros.
* time.h: Added tm_gmtoff_t type.

Updated gmtime and localtime to initialize these fields, and enabled %z
and %Z support in strftime.

These changes are implemented unconditionally. While the timezone
database loading is not yet implemented (so local time offsets default
to UTC/0), the timezone formatting and struct field support is fully
complete. Implementing this conditionally would require complex
build-time configuration and conditional inclusion of code, which is
avoided as this implementation is already a complete improvement over
the previous state.

Assisted-by: Automated tooling, human reviewed.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list