)]}'
{
  "commit": "ecb843c77de84add5fa315ff06ea99494aa27374",
  "tree": "bcbf19fa3bc5916decce65311096cc9bf48aa39f",
  "parents": [
    "ebdd571ddf4711320bb8628df1d4179d3f2e8e75"
  ],
  "author": {
    "name": "Yap Zhi Heng",
    "email": "yapzhhg@gmail.com",
    "time": "Sun Jun 07 22:42:53 2026 +0800"
  },
  "committer": {
    "name": "Arthur Cohen",
    "email": "arthur.cohen@embecosm.com",
    "time": "Wed Jul 08 17:22:48 2026 +0200"
  },
  "message": "gccrs: Introduce CStr language item\n\ngcc/rust/ChangeLog:\n\t* util/rust-lang-item.h (LangItem::Kind): New CSTR kind.\n\t* util/rust-lang-item.cc (LangItem::lang_items): Ditto.\n\t* backend/rust-compile-type.cc (visit(TyTy::ReferenceType)): Add specific record\n\ttype for CStr.\n\t* typecheck/rust-tyty.h (ReferenceType): Add function definition for is_dyn_cstr_type.\n\t* typecheck/rust-tyty.cc (ReferenceType::is_dyn_object): Update to include\n\tis_dyn_cstr_type.\n\t(ReferenceType::is_dyn_cstr_type): Add implementation to check whether the\n\tReferenceType is of type CStr.\n\t* typecheck/rust-hir-type-check-base.cc(resolve_literal): Update C_STRING case to\n\tresolve to the CStr language item instead.\n\ngcc/testsuite/ChangeLog:\n\t* rust/execute/torture/c_string.rs: Add CStr language item definition.\n\t* rust/compile/c_string_null_byte_check.rs: Ditto.\n\t* rust/execute/torture/c_string_ensure_null_term.rs: New test.\n\nSigned-Off-By: Yap Zhi Heng \u003cyapzhhg@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35d56cc47908beb7bf08d184e28656438b775b99",
      "old_mode": 33188,
      "old_path": "gcc/rust/backend/rust-compile-type.cc",
      "new_id": "da6a8ee4a00040b083b267acb6f636625ab6376d",
      "new_mode": 33188,
      "new_path": "gcc/rust/backend/rust-compile-type.cc"
    },
    {
      "type": "modify",
      "old_id": "9cded2dbca95ee0933d0651d73f150072d6918f8",
      "old_mode": 33188,
      "old_path": "gcc/rust/typecheck/rust-hir-type-check-base.cc",
      "new_id": "ade16808e2e7aa8a87ba794cd36d2dbab6184d84",
      "new_mode": 33188,
      "new_path": "gcc/rust/typecheck/rust-hir-type-check-base.cc"
    },
    {
      "type": "modify",
      "old_id": "144cca0e93836a752fa55325d74b2d1bbd27c462",
      "old_mode": 33188,
      "old_path": "gcc/rust/typecheck/rust-tyty.cc",
      "new_id": "9ad09a323d068456c18fab9710cb5290909ed15e",
      "new_mode": 33188,
      "new_path": "gcc/rust/typecheck/rust-tyty.cc"
    },
    {
      "type": "modify",
      "old_id": "1079314a429aa76b588f5b596e4bdcb1e349aac6",
      "old_mode": 33188,
      "old_path": "gcc/rust/typecheck/rust-tyty.h",
      "new_id": "b27de7422c817d07c79d837736a605fff2c6e1e7",
      "new_mode": 33188,
      "new_path": "gcc/rust/typecheck/rust-tyty.h"
    },
    {
      "type": "modify",
      "old_id": "21e2c81e9e696474ecdb0f4fc728bc0dd8f03d99",
      "old_mode": 33188,
      "old_path": "gcc/rust/util/rust-lang-item.cc",
      "new_id": "2f770454657568227cf9d73a296c70429a98ad22",
      "new_mode": 33188,
      "new_path": "gcc/rust/util/rust-lang-item.cc"
    },
    {
      "type": "modify",
      "old_id": "5a765282b8cd16b9c2ad53d6fb173315fc116d4b",
      "old_mode": 33188,
      "old_path": "gcc/rust/util/rust-lang-item.h",
      "new_id": "75f4090b97de2780a7dbfc77f6730894c853931b",
      "new_mode": 33188,
      "new_path": "gcc/rust/util/rust-lang-item.h"
    },
    {
      "type": "modify",
      "old_id": "ac464bb2828c7a3147179d8c103af8da42e1da6c",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/rust/compile/c_string_null_byte_check.rs",
      "new_id": "040ba9ad468f6361bf2b3da28748d6803f48c694",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/rust/compile/c_string_null_byte_check.rs"
    },
    {
      "type": "modify",
      "old_id": "af96d05915a0ca61f1b840a94074e60002990000",
      "old_mode": 33188,
      "old_path": "gcc/testsuite/rust/execute/torture/c_string.rs",
      "new_id": "5aef4db0c21a92774f01c09fa1fad7ab8b53a280",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/rust/execute/torture/c_string.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "26e0fed2173cd7f0c288674994a60f56e123ab13",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/rust/execute/torture/c_string_ensure_null_term.rs"
    }
  ]
}
