)]}'
{
  "log": [
    {
      "commit": "cfa01b8b4c99097f7e0086dab7faa8a6070c9b63",
      "tree": "9ffda8bde9cdd49d42a55815592acdd69104c07f",
      "parents": [
        "94e037e6de94dd33ec023e676010d8f4cf8692e3",
        "f18a3c14d8f1755f0d3c8e9e71a4f51931722824"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 16:07:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 16:07:52 2026 +0200"
      },
      "message": "Merge pull request #86 from GuillaumeGomez/used\n\nAdd support for `used` variable attribute in libgccjit"
    },
    {
      "commit": "f18a3c14d8f1755f0d3c8e9e71a4f51931722824",
      "tree": "9ffda8bde9cdd49d42a55815592acdd69104c07f",
      "parents": [
        "de4a5c081656319b2a5ec59acafaef980baf87b2"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 15:41:43 2026 +0200"
      },
      "committer": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 15:41:43 2026 +0200"
      },
      "message": "Add support for `used` variable attribute in libgccjit\n"
    },
    {
      "commit": "94e037e6de94dd33ec023e676010d8f4cf8692e3",
      "tree": "0c824010efb4355d55e5834db35e8e2c7e20c13c",
      "parents": [
        "31396c2f72909f5973b6acab17242f4e4fece99a",
        "de4a5c081656319b2a5ec59acafaef980baf87b2"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 15:40:05 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 21 15:40:05 2026 +0200"
      },
      "message": "Merge pull request #85 from GuillaumeGomez/alias\n\nAdd support for new `alias` variable attribute in libgccjit"
    },
    {
      "commit": "de4a5c081656319b2a5ec59acafaef980baf87b2",
      "tree": "0c824010efb4355d55e5834db35e8e2c7e20c13c",
      "parents": [
        "31396c2f72909f5973b6acab17242f4e4fece99a"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 15:07:03 2026 +0200"
      },
      "committer": {
        "name": "Guillaume Gomez",
        "email": "contact@guillaume-gomez.fr",
        "time": "Tue Jul 21 15:17:41 2026 +0200"
      },
      "message": "Add support for new `alias` variable attribute in libgccjit\n"
    },
    {
      "commit": "31396c2f72909f5973b6acab17242f4e4fece99a",
      "tree": "0a620bac0c1d207e79a5da578b46603fa3e9d198",
      "parents": [
        "6249f1b21d0c17856c6fa87def9edd0eaa968caf"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 20 13:39:01 2026 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 20 15:21:14 2026 -0400"
      },
      "message": "Fix AVX instruction when using the Intel syntax\n"
    },
    {
      "commit": "6249f1b21d0c17856c6fa87def9edd0eaa968caf",
      "tree": "3c148238bb22a0f8172f4429fb765bd664361719",
      "parents": [
        "248e43125850ce08c5c0582ddbe812538c2b2728"
      ],
      "author": {
        "name": "Folkert de Vries",
        "email": "flokkievids@gmail.com",
        "time": "Tue Jul 14 15:59:28 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 09:59:28 2026 -0400"
      },
      "message": "libgccjit: Expose `va_arg` and `va_start`\n\n* add `gcc_jit_context_new_va_arg`\n\n* define `BT_VALIST_REF`\n\n* define `jit_langhook_type_promotes_to`"
    },
    {
      "commit": "248e43125850ce08c5c0582ddbe812538c2b2728",
      "tree": "fc6acd5262bf3439dcb02ffa869ef2e7ab4db584",
      "parents": [
        "391685ff5720267dc5c813c6cbe48d7eb2369049"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Thu Oct 16 15:24:26 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Add support for Aarch64 CPU features\n\ngcc/ChangeLog:\n\n\t* config.gcc: Mention new aarch64-jit.o file.\n\t* config/aarch64/aarch64-jit.cc: Detect CPU features.\n\t* config/aarch64/aarch64-jit.h: New target hook.\n\t* config/aarch64/t-aarch64: Mention new aarch64-jit.cc file.\n\t* config/i386/i386-jit.cc: Remove target-dependent type\n\tdetection.\n\ngcc/jit/ChangeLog:\n\n\t* jit-target.cc: Move target-dependent type detection to common\n\tfile.\n\t(jit_add_target_info_space): New function.\n\t* jit-target.h (jit_add_target_info_space): New function.\n\ngcc/testsuite/ChangeLog:\n\n\t* jit.dg/all-non-failing-tests.h: Mention new test.\n\t* jit.dg/test-target-info-aarch64.c: New test.\n\nCo-authored-by: winstonallo \u003carthurbiedchar@gmail.com\u003e\n"
    },
    {
      "commit": "391685ff5720267dc5c813c6cbe48d7eb2369049",
      "tree": "7860a1b6ec1b18c07ecdbe69f2e6cef10309345e",
      "parents": [
        "e54183de396433819ec569081948c9f48f74142e"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Sun May 31 19:31:07 2026 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Allow output operand for asm goto\n"
    },
    {
      "commit": "e54183de396433819ec569081948c9f48f74142e",
      "tree": "9a77001844f68bb4a5c89281482743818ec007c4",
      "parents": [
        "efef6bd16cfef5602350deed8aecff24a68a1309"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri May 29 12:43:01 2026 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Add support for the detection of the avx512vp2intersect CPU feature\n"
    },
    {
      "commit": "efef6bd16cfef5602350deed8aecff24a68a1309",
      "tree": "03846b7e3b9757d2d56fdc1c50773cf13279425d",
      "parents": [
        "93513edb4255067a96c3fe2ce8015afee5ce128f"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Sun Apr 05 14:02:46 2026 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Add support for the detection of the movrs CPU feature\n"
    },
    {
      "commit": "93513edb4255067a96c3fe2ce8015afee5ce128f",
      "tree": "88fb94e5f4fe30649f665d0543af0fac84b102e7",
      "parents": [
        "6ea462744518a2f271c4d3134e588b44628731b9"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Wed Jan 28 14:22:02 2026 -0500"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "Fix warnings\n"
    },
    {
      "commit": "6ea462744518a2f271c4d3134e588b44628731b9",
      "tree": "e20d511c4c1532dd331c1b6b76f9ee53f4f27c62",
      "parents": [
        "74b021f3d8bdb03bccbc708a4c8a2c7fd4781b63"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Wed Jan 28 12:56:58 2026 -0500"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Add a way to set the language name and the context filename\n"
    },
    {
      "commit": "74b021f3d8bdb03bccbc708a4c8a2c7fd4781b63",
      "tree": "525d9706aeb44ea8955e655a9d4ad89a9a2fc1e6",
      "parents": [
        "b661736bf15277b0255e4469afa869e9787c43ef"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Tue Nov 04 12:46:24 2025 -0500"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:22 2026 -0400"
      },
      "message": "libgccjit: Fix UB in gcc_jit_context_new_array_constructor\n"
    },
    {
      "commit": "b661736bf15277b0255e4469afa869e9787c43ef",
      "tree": "0f2ee2c70e296d03a19350193909694a6f5b0862",
      "parents": [
        "4efb07fd295de080a6ca34d292f881f8d10cb3fd"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Thu Oct 09 14:58:10 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "libgccjit: Add a function to check if LTO is supported\n"
    },
    {
      "commit": "4efb07fd295de080a6ca34d292f881f8d10cb3fd",
      "tree": "db6a799842c22ac4af2cfae9f6c1d112c10b8d29",
      "parents": [
        "e304bf414ba1c36d070ae180297387eb959d9c01"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Oct 03 10:10:17 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Disable LTO check that makes LTO failing in some cases\n"
    },
    {
      "commit": "e304bf414ba1c36d070ae180297387eb959d9c01",
      "tree": "6ab2e30ee5e72287e62c7b49ce390f2f7431732f",
      "parents": [
        "145dcbe11a063c3e93b523236937a35ebc88be12"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "guillaume1.gomez@gmail.com",
        "time": "Fri Aug 08 16:37:05 2025 +0200"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Add `lvalue::set_name` (#78)\n"
    },
    {
      "commit": "145dcbe11a063c3e93b523236937a35ebc88be12",
      "tree": "cb144122c5eb2c78ca1b1c81d0afbfe107bed27a",
      "parents": [
        "b3c41528e83affc5ca33bb29ecf5ff4c064762ae"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "guillaume1.gomez@gmail.com",
        "time": "Fri Jul 18 15:31:54 2025 +0200"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "gcc/jit/ChangeLog: (#77)\n\n* jit-recording.h: Add lvalue::get_name method\n\t* libgccjit.cc (gcc_jit_lvalue_get_name): Likewise\n\t* libgccjit.h (gcc_jit_lvalue_get_name): Likewise\n\t* libgccjit.map: Likewise\n\ngcc/testsuite/ChangeLog:\n\n\t* jit.dg/test-tls.c: Add test for gcc_jit_lvalue_get_name\n"
    },
    {
      "commit": "b3c41528e83affc5ca33bb29ecf5ff4c064762ae",
      "tree": "5dd53cdbaa83d1df39fc816eb3b119acf6e3de83",
      "parents": [
        "31539e4c5c3c43bfc9e41b7a84eb063010a8b2e5"
      ],
      "author": {
        "name": "Fractal Fir(Michał Kostrubiec)",
        "email": "michkos2005@gmail.com",
        "time": "Wed Jul 09 00:27:45 2025 +0200"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Added support for setting TREE_ADDRESSABLE (#76)\n"
    },
    {
      "commit": "31539e4c5c3c43bfc9e41b7a84eb063010a8b2e5",
      "tree": "cdd1800bab9b32a4c5ec2da31df1485dfeae8469",
      "parents": [
        "65cb1edebf5854f88e0308f689f10c69020f4ecd"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Jul 04 07:42:41 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Compile GCC on Ubuntu ARM\n"
    },
    {
      "commit": "65cb1edebf5854f88e0308f689f10c69020f4ecd",
      "tree": "bc1c1546cb3ba549aa8b1d943e1161c9f752673c",
      "parents": [
        "273738ab253654554ebe3309efd2be13a74c61aa"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Sun Jun 15 12:26:23 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "libgccjit: Don\u0027t abort on fatal errors\n"
    },
    {
      "commit": "273738ab253654554ebe3309efd2be13a74c61aa",
      "tree": "2e51a5812fe4068f283e870b527d70113071c5b7",
      "parents": [
        "5c0515bf736ff6a9d18a310dd3cde97be1701afd"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Thu Mar 27 14:36:56 2025 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Fix get_size for long double\n"
    },
    {
      "commit": "5c0515bf736ff6a9d18a310dd3cde97be1701afd",
      "tree": "98a21a16bdb1216d38224778be36d6ce449cd548",
      "parents": [
        "6e90844f34889bd83ef0e8b36a7c8a5aca35ff20"
      ],
      "author": {
        "name": "Jakub Beránek",
        "email": "berykubik@gmail.com",
        "time": "Wed Mar 19 14:05:35 2025 +0100"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "Use rust-lang mirror for downloading GCC dependencies\n"
    },
    {
      "commit": "6e90844f34889bd83ef0e8b36a7c8a5aca35ff20",
      "tree": "4b64ea525bd85c6d07ac94da17a5e4a289214e40",
      "parents": [
        "80dfa8d2fdb677b2909903caaed609393f22f7e7"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Feb 14 15:34:59 2025 -0500"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:21 2026 -0400"
      },
      "message": "libgccjit: Add support for the x87 CPU feature\n"
    },
    {
      "commit": "80dfa8d2fdb677b2909903caaed609393f22f7e7",
      "tree": "a536ccac64caa6a77387c3e4baa56deb87b65ca4",
      "parents": [
        "126e3346952c34c80753e961f23b5c6048b6e566"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Mar 25 10:05:54 2024 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "libgccjit: Fix for -fanalyzer used in libgccjit\n"
    },
    {
      "commit": "126e3346952c34c80753e961f23b5c6048b6e566",
      "tree": "bdd83cd0588026ea69e5779f962830d7fb90d8de",
      "parents": [
        "8697cb41e9f7678240e9f76ed9481e8aba7815a6"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Tue May 24 17:44:53 2022 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "libgccjit: Allow sending a const pointer as argument\n\ngcc/jit/ChangeLog:\n\n\t* jit-recording.h: Remove memento_of_get_const::accepts_writes_from,\n\tmemento_of_get_type::is_same_type_as: new method.\n\ngcc/testsuite/ChangeLog:\n\n\t* jit.dg/all-non-failing-tests.h: Add test-const-pointer-argument.c.\n\t* jit.dg/test-const-pointer-argument.c: New test.\n"
    },
    {
      "commit": "8697cb41e9f7678240e9f76ed9481e8aba7815a6",
      "tree": "ccbb40637a34a56ba47d47b8322c4c9df9aeeb8e",
      "parents": [
        "e9c22a7217effba2bc967180e07f00266bb7f7e2"
      ],
      "author": {
        "name": "Martin Rodriguez Reboredo",
        "email": "yakoyoku@gmail.com",
        "time": "Wed Jan 03 22:09:19 2024 +0000"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "jit: Fix volatile loads and stores\n\nRelated to PR d/110516 but for libgccjit.\n\n2024-01-03  Martin Rodriguez Reboredo  \u003cyakoyoku@gmail.com\u003e\n\ngcc/jit/\n\t* jit-playback.cc: Append TREE_THIS_VOLATILE and TREE_SIDE_EFFECTS to\n\ta dereference if underlying type is volatile.\n\nSigned-off-by: Martin Rodriguez Reboredo \u003cyakoyoku@gmail.com\u003e\n"
    },
    {
      "commit": "e9c22a7217effba2bc967180e07f00266bb7f7e2",
      "tree": "9f277b425eac1e3cbccfde42e9ecaa89618afdd2",
      "parents": [
        "34779466bf50204ff387be710f179150d7e7d0c4"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "guillaume1.gomez@gmail.com",
        "time": "Mon Jul 22 17:10:08 2024 +0200"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "Fix licenses\n"
    },
    {
      "commit": "34779466bf50204ff387be710f179150d7e7d0c4",
      "tree": "d602b69d9d9feab82a45d8ff007557e4af163ce2",
      "parents": [
        "1de1f8d7e36366fd73d24de0aa49f9120096a4d1"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Sun Sep 01 09:34:19 2024 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "Add support for the weak variable attribute\n"
    },
    {
      "commit": "1de1f8d7e36366fd73d24de0aa49f9120096a4d1",
      "tree": "66f722d6d6b97de9200f2ebebe39a1c947e5a3cb",
      "parents": [
        "7f42d93200f6ca1f6a208c185595717e90fe3675"
      ],
      "author": {
        "name": "Guillaume Gomez",
        "email": "guillaume1.gomez@gmail.com",
        "time": "Sun Apr 21 15:43:20 2024 +0200"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "Add `gcc_jit_rvalue_set_type`\n"
    },
    {
      "commit": "7f42d93200f6ca1f6a208c185595717e90fe3675",
      "tree": "e4e74f7b21524e0f995d924602924b4b59dc785a",
      "parents": [
        "cbbe4471bf836a27d110531c7313afb5e0edccad"
      ],
      "author": {
        "name": "tempdragon",
        "email": "645703113@qq.com",
        "time": "Sun Feb 18 23:38:48 2024 +0800"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "feat(gccjit): Allow set_loccation to various classes\n\nIncluding:\n1. field\n2. function\n3. rvalue\n"
    },
    {
      "commit": "cbbe4471bf836a27d110531c7313afb5e0edccad",
      "tree": "b47b771c675ae0296b898128e2641ff8459c6d10",
      "parents": [
        "f9aa536177b81fb480a106f6aa1cfa5355307198"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Nov 03 17:49:18 2023 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "Fix get_size of size_t\n"
    },
    {
      "commit": "f9aa536177b81fb480a106f6aa1cfa5355307198",
      "tree": "a6fd6889671c866784eae17606f687400aa09c7c",
      "parents": [
        "591246b4c36350093cd86962c05727f707f8963b"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Sun Apr 16 13:19:20 2023 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:20 2026 -0400"
      },
      "message": "Fix bug related to the personality function\n"
    },
    {
      "commit": "591246b4c36350093cd86962c05727f707f8963b",
      "tree": "77e40138984afe73268d737a2b4009c0fa2812fb",
      "parents": [
        "9e79fd4a6d819d3c2503b8f416df97cc07a43e09"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Oct 14 20:38:48 2022 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:19 2026 -0400"
      },
      "message": "Add support for try/catch\n"
    },
    {
      "commit": "9e79fd4a6d819d3c2503b8f416df97cc07a43e09",
      "tree": "01b4e922ada94749076610e058ced4ed683caae3",
      "parents": [
        "d453c2884eb47bc556ef0ba387abb09af5c3121f"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Mar 28 21:10:41 2022 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:19 2026 -0400"
      },
      "message": "Add support for packed struct\n"
    },
    {
      "commit": "d453c2884eb47bc556ef0ba387abb09af5c3121f",
      "tree": "fcb9d5e8bf9a0bd6cd25767efcfe554c02f6794e",
      "parents": [
        "61aac5734a1a6ed904e438c663f5bce2dc08c634"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Fri Feb 16 12:15:56 2024 -0500"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 21:42:19 2026 -0400"
      },
      "message": "Distribute version without 128-bit integers\n"
    },
    {
      "commit": "61aac5734a1a6ed904e438c663f5bce2dc08c634",
      "tree": "d5a960875f33d2b84ff482a45976d9c066c7cd23",
      "parents": [
        "ca3810f001338bb4d15da43160e017d453f234e8"
      ],
      "author": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon May 31 09:38:14 2021 -0400"
      },
      "committer": {
        "name": "Antoni Boucher",
        "email": "bouanto@zoho.com",
        "time": "Mon Jul 13 12:06:23 2026 -0400"
      },
      "message": "Build and upload artifact on GitHub Actions\n"
    },
    {
      "commit": "ca3810f001338bb4d15da43160e017d453f234e8",
      "tree": "152eda195d49fd3842b80656c0a2daae2a162fe9",
      "parents": [
        "d23837ede804a02a121c93b38aca207e2913f308"
      ],
      "author": {
        "name": "Joyee Cheung",
        "email": "joyee@igalia.com",
        "time": "Mon Jul 13 11:35:47 2026 -0400"
      },
      "committer": {
        "name": "Jason Merrill",
        "email": "jason@redhat.com",
        "time": "Mon Jul 13 11:35:47 2026 -0400"
      },
      "message": "c++: Fix conversion to enum with fixed bool underlying type [PR96496]\n\nFor an enumeration with a fixed underlying type, [expr.static.cast]/8\nrequires the operand to be converted to the underlying type first, and\nthen to the enumeration type.\n\nPreviously, ocp_convert would convert the operand directly to the\nenumeration type via convert_to_integer_maybe_fold.  For non-bool\nunderlying types this gives the required value, but for an underlying\ntype of bool it truncates the operand to the enum\u0027s 1-bit precision,\nkeeping only the low bit and contradicting [conv.bool]: e.g.\nconverting 2 yielded the enum value corresponding to false.\n\nThis patch fixes it by following the specification and converting\noperands with a fixed underlying type to that type first, then to the\nenumeration type.  For bool this routes the operand through the\nexisting boolean-handling code with its truth value conversion, so it\nnow goes through -Wint-in-bool-context diagnostics just like a cast to\nbool.  The conversion now no longer emits -Wconversion if the operand\nis out of range since the value is converted first through well-defined\nconversions, consistent with explicit casts to the underlying type\nitself.  This patch also includes tests for the changed warning\nbehavior.\n\n\tPR c++/96496\n\ngcc/cp/ChangeLog:\n\n\t* cvt.cc (ocp_convert): For an enumeration type with a fixed\n\tunderlying type, convert the operand to that type first, as\n\tspecified by [expr.static.cast]/8.  Update the comment quoting\n\t[expr.static.cast]/8.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp0x/enum-bool-conv.C: New test.\n\t* g++.dg/warn/Wconversion-enum-fixed.C: New test.\n\t* g++.dg/warn/Wint-in-bool-context-bool-enum.C: New test.\n\nSigned-off-by: Joyee Cheung \u003cjoyee@igalia.com\u003e\n"
    },
    {
      "commit": "d23837ede804a02a121c93b38aca207e2913f308",
      "tree": "bc8f6f00e2640565234477514452c1b763f4005c",
      "parents": [
        "1a4d8dc0d2dc045bbb93654ae66fb80276dc6690"
      ],
      "author": {
        "name": "Jeevitha Palanisamy",
        "email": "jeevitha@linux.ibm.com",
        "time": "Thu Jul 02 01:31:36 2026 -0500"
      },
      "committer": {
        "name": "Jeevitha",
        "email": "jeevitha@linux.ibm.com",
        "time": "Mon Jul 13 10:07:31 2026 -0500"
      },
      "message": "rs6000: Add TDOmode support\n\nIntroduce the new opaque mode `TDOmode` for the `__dmr1024` type, which\nmay be supported on a future Power processor, and treat it similarly\nto the existing MMA opaque types when diagnosing invalid function\nparameter and return values. Update the diagnostics to distinguish\nbetween Dense Math and MMA types in error messages.\n\n2026-07-13  Jeevitha Palanisamy  \u003cjeevitha@linux.ibm.com\u003e\n\ngcc/\n\t* config/rs6000/rs6000-call.cc (rs6000_return_in_memory): Handle\n\tTDOmode and emit \"Dense Math\" diagnostics.\n\t(rs6000_function_arg): Reject TDOmode function parameters and\n\temit \"Dense Math\" diagnostics.\n\t* config/rs6000/rs6000-modes.def: Add TDOmode.\n"
    },
    {
      "commit": "1a4d8dc0d2dc045bbb93654ae66fb80276dc6690",
      "tree": "024eaa83443eedd86874b6d4f31f22494b34b1b3",
      "parents": [
        "07c6e564b41b2572d357287e6b8071971a2ca3c1"
      ],
      "author": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Tue Jul 07 10:27:33 2026 +0200"
      },
      "committer": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Mon Jul 13 15:25:03 2026 +0200"
      },
      "message": "libstdc++: Assert that produced layout_stride::mapping is unique.\n\nThis add an assertions checking if the combination of strides\nand extents passed to layout_stride::mapping is unique.\n\nTo avoid excessive performance impact, in non-debug mode only\nchecks that are are O(rank) (i.e. similar cost as operator())\nare performed. To achieve that, for the ranks greater or equal,\nwe perform two separate checks:\n* required_span_size() \u003e mdspan::__size(_M_extents) - this is\n  a necessary but not sufficient condition, that is O(rank) and\n  is always performed.\n* building a permutation using insertion-sort based algorithm,\n  this is O(rank^2) and is performed only in debug modes.\n\nThe check for non-zero stride values (performed for all non-zero\nranks) is done only if the size of the multidimensional index space\nis not empty. This follows the resolution of LWG4603, and provides\nconsistent behavior for constructing layout_stride mapping from\nlayout_left/right directly or from strides extracted from it.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/std/mdspan (layout_stride::mapping::_M_check_unique):\n\tDefine.\n\t(layout_stride::mapping(const extents_type\u0026, span\u003c....\u003e)):\n\tAdd __glibcxx_assert on _M_check_unique.\n\t* testsuite/23_containers/mdspan/layouts/stride_neg.cc:\n\tTest for the new added assertions.\n\nReviewed-by: Jonathan Wakely \u003cjwakely@redhat.com\u003e\nSigned-off-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n"
    },
    {
      "commit": "07c6e564b41b2572d357287e6b8071971a2ca3c1",
      "tree": "9b258d4f9aa98efe96d6bd60328dd2b9852c5f84",
      "parents": [
        "10f6223d833874199e17226fbb0c562b69a1e72f"
      ],
      "author": {
        "name": "Kyrylo Tkachov",
        "email": "ktkachov@nvidia.com",
        "time": "Wed Jul 08 12:16:37 2026 +0000"
      },
      "committer": {
        "name": "Kyrylo Tkachov",
        "email": "ktkachov@nvidia.com",
        "time": "Mon Jul 13 15:07:26 2026 +0200"
      },
      "message": "testsuite: scan the vrp102.c property in evrp\n\nThe folding checked by vrp102.c is already computed by ranger during\nevrp.  Scan the evrp dump instead of vrp1 so the test observes the\nproperty where it is established and does not require the diamond to\nsurvive until vrp1.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/tree-ssa/vrp102.c: Scan evrp instead of vrp1.\n\nSigned-off-by: Kyrylo Tkachov \u003cktkachov@nvidia.com\u003e\n"
    },
    {
      "commit": "10f6223d833874199e17226fbb0c562b69a1e72f",
      "tree": "5d4f674fafc6265c65c72d0eb77c81f2c9815970",
      "parents": [
        "ee27c516c7b6f0ee364b165aed0c35101da8e77a"
      ],
      "author": {
        "name": "Dylan Rees",
        "email": "dylan.rees@arm.com",
        "time": "Mon Jul 13 09:57:18 2026 +0000"
      },
      "committer": {
        "name": "Pengfei Li",
        "email": "Pengfei.Li2@arm.com",
        "time": "Mon Jul 13 12:25:20 2026 +0000"
      },
      "message": "middle-end: Eliminate redundant scalar duplication at different vector widths\n\nThe fix to improve the folding of low-to-highpart builtins resulted\nin redundant duplication instructions. The compiler was placing the\nuniform vector arguments for low/highpart intrinsics in separate\nregisters despite them duplicating the same scalar value. This turns\nout to be a result of the ordering of the duplication instructions,\nwhen a narrow duplication of a scalar value appears before a wider\nduplication of that same scalar the compiler is unable to link them\ntogether into a single operation.\n\nIt is desirable in this case to create a single wider vector and\ntake the lower half for narrower uses of the same vector, since we\ncan then use a single load instruction. This patch fixes this logic\nwithin CSE by matching vector duplicates during \u0027cse_prescan\u0027, if\nthey are duplicating the same pseudo into vectors of different\nwidths but the same element size. In \u0027cse_main\u0027 these matches are\nprocessed and the wider vector duplicate insn is emitted before\nall matching duplications, narrower duplicate insns will\nbe converted to a SUBREG of this initial duplication and duplicates\nof the same width will reuse it.\n\nTwo test cases were updated to be more flexible with regexs since\nhardcoded values were causing unnecessary failures despite the\ncode being logically correct.\n\ngcc/ChangeLog:\n\n\t* cse.cc (struct cse_vec_duplicate_match): New struct.\n\t(struct cse_basic_block_data): New member added.\n\t(cse_prescan_cache_vec_dup): New function to cache any vector\n\tduplications and check for potential matches.\n\t(cse_prescan_path): Extended pre_scan loop to cache vector\n\tduplication matches + New loop added to assign a list of\n\tmatches to a block of data inside new struct member.\n\t(cse_main): New loop to emit wider vector duplication earlier\n\tand update narrower vector duplicate to SUBREG insn.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/simd/fold_to_highpart_7.c:\n\tExtended test.\n\t* gcc.target/i386/pr81501-9a.c: Updated test.\n\t* gcc.target/i386/pr81501-9b.c: Updated test.\n"
    },
    {
      "commit": "ee27c516c7b6f0ee364b165aed0c35101da8e77a",
      "tree": "1366e1d26822b77d6fe469ba45b534ca88096979",
      "parents": [
        "71a5babb361165f0be6848e6ad8fb209d486684e"
      ],
      "author": {
        "name": "Dylan Rees",
        "email": "dylan.rees@arm.com",
        "time": "Mon Jul 13 09:57:17 2026 +0000"
      },
      "committer": {
        "name": "Pengfei Li",
        "email": "Pengfei.Li2@arm.com",
        "time": "Mon Jul 13 12:25:08 2026 +0000"
      },
      "message": "aarch64: Improve simd highpart builtin folding\n\nThe current helper function folding calls to lowpart builtins into\nhighpart builtins calls does not handle cases where we have a 64b\nwide uniform vector, which can be extended to 128b, used for\nhigh part operations requiring 128b vector inputs. This change\nadds an additional check on the statement arguments and widens\nuniform vectors before adding to the \u0027call_args\u0027 of the new call\nto the equivalent highpart builtin. Relevant function comments were\nalso updated.\n\ngcc/ChangeLog:\n\n\t* config/aarch64/aarch64-builtins.cc (aarch64_fold_lo_call_to_hi):\n\tNew branch to check for uniform vectors, extend and then add\n\tthem to the new highpart builtin call.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/aarch64/simd/fold_to_highpart_7.c: New test.\n"
    },
    {
      "commit": "71a5babb361165f0be6848e6ad8fb209d486684e",
      "tree": "7995ed8ea90a455e55dec41b6b73dfac9fb752db",
      "parents": [
        "3bbe1a86ccecb180a4d32de6eab97bcc624a410f"
      ],
      "author": {
        "name": "Kyrylo Tkachov",
        "email": "ktkachov@nvidia.com",
        "time": "Thu Jul 09 02:35:26 2026 -0700"
      },
      "committer": {
        "name": "Kyrylo Tkachov",
        "email": "ktkachov@nvidia.com",
        "time": "Mon Jul 13 13:36:20 2026 +0200"
      },
      "message": "aarch64: Add C++ testcase for aligned may_alias types [PR124146]\n\nThe existing tests exercise C.  Add a C++ counterpart to the original\nreproducer, which ICEs without the fix and compiles successfully with it.\n\nPushing to trunk.\n\ngcc/testsuite/ChangeLog:\n\n\tPR target/124146\n\t* g++.target/aarch64/pr124146.C: New test.\n\nSigned-off-by: Kyrylo Tkachov \u003cktkachov@nvidia.com\u003e\n"
    },
    {
      "commit": "3bbe1a86ccecb180a4d32de6eab97bcc624a410f",
      "tree": "1b552e394d02f4db694614891dacc0d0faf5b32c",
      "parents": [
        "6b5be6137f1322d9239b85ff39ad083cdc963791"
      ],
      "author": {
        "name": "Josef Melcr",
        "email": "josef.melcr@suse.com",
        "time": "Tue Jun 23 17:46:08 2026 +0200"
      },
      "committer": {
        "name": "Josef Melcr",
        "email": "josef.melcr@suse.com",
        "time": "Mon Jul 13 10:58:51 2026 +0200"
      },
      "message": "ipa: Add missing call to duplication hooks [PR ipa/125121]\n\nThis patch adds a missing call to edge duplication hooks in\ncgraph_edge::make_callback.\n\nIn PR125121, we get an ICE in ipa-sra when compiling with -fno-ipa-cp,\nbecause the analysis in ipa-prop runs after sra generates its summaries.\nBecause of the missing call to the hooks, the summaries required by sra\ndon\u0027t get copied over for the newly added callback edges, leading to\nsegfaults.  This patch adds the call to the hooks to remedy this.  It\nalso changes some of the initialization logic for summaries for callback\nedges to make it a little more consistent.\n\n\tPR ipa/125121\n\ngcc/ChangeLog:\n\n\t* cgraph.cc (cgraph_edge::make_callback): Add missing call to\n\tduplication hooks.\n\t* ipa-prop.cc (init_callback_edge_summary): Remove function.\n\t(ipa_compute_jump_functions_for_edge): Remove call to\n\tinit_callback_edge_summary, fix comment.\n\t(ipa_edge_args_sum_t::duplicate): Fix the initialization of jump\n\tfunctions vector for callback edges.\n\ngcc/testsuite/ChangeLog:\n\n\t* c-c++-common/gomp/pr125121.c: New test.\n\nSigned-off-by: Josef Melcr \u003cjosef.melcr@suse.com\u003e\n"
    },
    {
      "commit": "6b5be6137f1322d9239b85ff39ad083cdc963791",
      "tree": "e4481ee39ab68ab3ae18a8e3c7d8e7606893b1f7",
      "parents": [
        "1ac363487c56192fd7e6999393f25ad545894b78"
      ],
      "author": {
        "name": "Eikansh Gupta",
        "email": "eikansh.gupta@oss.qualcomm.com",
        "time": "Mon Jul 13 14:00:40 2026 +0530"
      },
      "committer": {
        "name": "Eikansh Gupta",
        "email": "eikansh.gupta@oss.qualcomm.com",
        "time": "Mon Jul 13 14:05:38 2026 +0530"
      },
      "message": "MAINTAINERS: Add myself to write after approval and DCO\n\nChangeLog:\n\n\t* MAINTAINERS.yml: Add myself.\n\t* MAINTAINERS (Write After Approval): Regenerate.\n\t(Contributing under the DCO): Regenerate.\n\nSigned-off-by: Eikansh Gupta \u003ceikansh.gupta@oss.qualcomm.com\u003e\n"
    },
    {
      "commit": "1ac363487c56192fd7e6999393f25ad545894b78",
      "tree": "24357cf0756639e3172b2d885f44a1b35c1ac8f2",
      "parents": [
        "6df03d626ffe309c4ca1e36fb08441325dc1c46e"
      ],
      "author": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Mon Jul 13 10:08:55 2026 +0200"
      },
      "committer": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Mon Jul 13 10:08:55 2026 +0200"
      },
      "message": "build: Fix Solaris clearcap.map installation\n\nSince\n\ncommit 5f1256233b6a192677dcb4d8a32672c86967120d\nAuthor: Rainer Orth \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\nDate:   Sun Jul 5 14:59:27 2026 +0200\n\n    Hardcode Solaris v2 mapfile syntax with Solaris ld\n\nthe clearcap.map linker map file was installed with a wrong name.  This\nis only noticed when testing an installed compiler with a part of the\ntestsuite that excercises the -mclear-hwcap option.\n\nTested on i386-pc-solaris2.11.\n\n2026-07-12  Rainer Orth  \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\n\n\tgcc:\n\t* config/t-sol2 (install-clearcap-map): Install as clearcap.map.\n"
    },
    {
      "commit": "6df03d626ffe309c4ca1e36fb08441325dc1c46e",
      "tree": "9af5e12c049faa5a750f875562ed1e87e6a59531",
      "parents": [
        "d71e9413975ba7b34503de170a357d060669cfd9"
      ],
      "author": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 03:06:43 2026 +0000"
      },
      "committer": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 03:46:58 2026 +0000"
      },
      "message": "doc: Delete some redundant \"the\"s.\n\ngcc/ChangeLog\n\t* doc/extend.texi (Common Attributes): Delete instances of\n\textra \"the\".\n\t* doc/invoke.texi (Visium Options): Likewise.\n\t* doc/tree-ssa.texi (SSA Operands): Likewise.\n"
    },
    {
      "commit": "d71e9413975ba7b34503de170a357d060669cfd9",
      "tree": "a7b194704c30ecf30a2b7bb1a793a0f7f1e3e134",
      "parents": [
        "1c483d3f54b15ac6a5cfc56e2b5bf778a4fcba45"
      ],
      "author": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 02:58:07 2026 +0000"
      },
      "committer": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 03:46:41 2026 +0000"
      },
      "message": "doc: Fix alphabetization for C Dialect Options\n\ngcc/ChangeLog\n\t* doc/invoke.texi (Options Summary) [C Language Options]:\n\tGroup --ansi with -ansi since they are documented together.\n\tCorrectly alphabetize -ffso-struct.\n\t(C Dialect Options): Likeise correctly alphabetize -ffso-struct.\n"
    },
    {
      "commit": "1c483d3f54b15ac6a5cfc56e2b5bf778a4fcba45",
      "tree": "c1d5e78d08ac3f1b0768125302d5d994ca92a550",
      "parents": [
        "9d6a5f078fd61cb273d91e45901b923b17786a7e"
      ],
      "author": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 02:42:59 2026 +0000"
      },
      "committer": {
        "name": "Sandra Loosemore",
        "email": "sloosemore@baylibre.com",
        "time": "Mon Jul 13 03:46:19 2026 +0000"
      },
      "message": "doc: Clean up documentation for -fdeps-* options\n\nArsen spotted that the introductory paragraph for the -fdeps-* options\nappeared under -fpermitted-flt-eval-methods because of the way @table\nelements are formatted.  I\u0027ve rearranged the text to fix that.  I also\nadded a reference for -fdeps-format and tried to clarify what useful\nvalues for -fdeps-target\u003d@var{file} are.  This group of options was\nalso missing entries in the Option Summary, and finally the options\nin this section are (mostly) alphabetized so I moved the whole chunk\nof text to the right place.\n\ngcc/ChangeLog\n\t* doc/invoke.texi (Option Summary): Add -fdeps-file, -fdeps-format,\n\tand -fdeps-target.\n\t(C Dialect Options): Properly alphabetize entries for the above\n\toptions, group them together, move the introductory paragraph\n\tinto the discussion of this group of items, and make the docs\n\tmore descriptive.\n"
    },
    {
      "commit": "9d6a5f078fd61cb273d91e45901b923b17786a7e",
      "tree": "b660a74067bfe5b530849fe2b26bf5c186dace7e",
      "parents": [
        "d556f558b9db9a136ac9ec4cc804dd899d2e63cd"
      ],
      "author": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Mon Jul 13 00:16:29 2026 +0000"
      },
      "committer": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Mon Jul 13 00:16:29 2026 +0000"
      },
      "message": "Daily bump."
    },
    {
      "commit": "d556f558b9db9a136ac9ec4cc804dd899d2e63cd",
      "tree": "2115ee2d83ef84af8498ed17072ad5eff57ee3d3",
      "parents": [
        "f06e56614b948ad88dabf63020f47713b7dea0ec"
      ],
      "author": {
        "name": "James K. Lowden",
        "email": "jklowden@cobolworx.com",
        "time": "Sat Jul 11 17:56:58 2026 -0400"
      },
      "committer": {
        "name": "James K. Lowden",
        "email": "jklowden@cobolworx.com",
        "time": "Sun Jul 12 15:07:17 2026 -0400"
      },
      "message": "cobol: Accept FD name as CALL parameter.\n\nA nonstandard extension CALL may pass an FD.  On the mainframe the\ncalled cannot be a COBOL program and the passed parameter is the\nfile\u0027s DCB.  With this patch the parser is accepts an FD name as a\nCALL parameter and interprets it, for now, as a buffer name, with a\nwarning.  Without -dialect ibm it is an error [Wcall-fd]. Further\ndevelopment is needed to emulate mainframe semantics.  Begins to\naddress RT 3619.\n\nAlso introduce __funcsig__ as a debugging convenience to print the\nfull name of __PRETTY_FUNCTION__ without type and parameters.\n\ngcc/cobol/ChangeLog:\n\n\t* cbldiag.h (enum cbl_diag_id_t): Add IbmCallFd.\n\t* cobol1.cc (cobol_langhook_handle_option): Handle Wcall-fd.\n\t* gcobol.1: Document Wcall-fd.\n\t* lang-specs.h: Add Wcall-fd.\n\t* lang.opt: Same\n\t* messages.cc: Add Wcall-fd as IBM dialect option.\n\t* parse.y: Use was_fd_name() to prevent misuse.\n\t* parse_ante.h (field_find): Add incompatible semantics warning.\n\t(parser_move_carefully): Same.\n\t* symbols.cc (symbols_update): Add FD name to symbol map.\n\t* symbols.h (update_symbol_map2): Declare overload for file.\n\t(was_fd_name): Declare function.\n\t* symfind.cc (struct funcname): Define to minimize __PRETTY_FUNCTION__.\n\t(__funcsig__): Define function-name macro.\n\t(class sym_name_t): Redefine public members as const.\n\t(class symbol_file_names_t) Define maps for FD names.\n\t(update_symbol_map2): Define overload for file.\n\t(was_fd_name): Define.\n\t(symbol_find): Use new symbol_file_names class.\n"
    },
    {
      "commit": "f06e56614b948ad88dabf63020f47713b7dea0ec",
      "tree": "429690d887b9faa6e30ff3d4600eda2a6c405f4c",
      "parents": [
        "77650ddd3820d02a9d1ddb17c3af80b4eabaeca1"
      ],
      "author": {
        "name": "Jin Ma",
        "email": "jinma@linux.alibaba.com",
        "time": "Fri Jul 10 17:43:40 2026 +0800"
      },
      "committer": {
        "name": "review-ci",
        "email": "review-ci@local",
        "time": "Sun Jul 12 21:09:35 2026 +0800"
      },
      "message": "RISC-V: Remove scratch register from bitfield extract splitter\n\nThe early-clobber scratch in *\u003cany_extract\u003e3 is unnecessary: slli\nreads its source before writing, so the destination register can\nsafely hold the intermediate value.  This reduces register pressure\nand makes the split output simpler.\n\ngcc/ChangeLog:\n\n\t* config/riscv/riscv.md (*\u003cany_extract:optab\u003e\u003cGPR:mode\u003e3):\n\tRemove (clobber (match_scratch)) and use operand 0 as the\n\tintermediate destination for the shift-left half of the split.\n"
    },
    {
      "commit": "77650ddd3820d02a9d1ddb17c3af80b4eabaeca1",
      "tree": "b0e85d85834ca68967c9ddbe22cb89e3b939910f",
      "parents": [
        "b4bdc0d1051918efaa2a4c3bc131f4b8c06addf5"
      ],
      "author": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:53:14 2026 -0400"
      },
      "committer": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:53:14 2026 -0400"
      },
      "message": "match: Remove redundant build_one_cst (type) [PR104280]\n\ninteger_onep@0 is present, so use @0 instead of build_one_cst (type)\nto remove function call.\n\nBootstrapped and tested on x86_64-pc-linux-gnu.\n\n\tPR tree-optimization/104280\n\ngcc/ChangeLog:\n\n\t* match.pd: Remove redundant build_one_cst (type) [PR104280]\n\nSigned-off-by: Kael Andrew Franco \u003ckaelfandrew@gmail.com\u003e\n"
    },
    {
      "commit": "b4bdc0d1051918efaa2a4c3bc131f4b8c06addf5",
      "tree": "bf8d5b8701b8d2dc80c412f036c1fb407cd6b25a",
      "parents": [
        "bb5d3acc84c001f9ae7564874996560c191d2a79"
      ],
      "author": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:52:01 2026 -0400"
      },
      "committer": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:52:01 2026 -0400"
      },
      "message": "match: Remove redundant build_zero_cst (type) [PR114009]\n\nSince PR114009 simplify patterns have integer_zerop, integer_zerop@2 can be used\ninstead of build_zero_cst (type) to remove function call.\n\nBootstrapped and tested on x86_64-pc-linux-gnu.\n\n\tPR tree-optimization/114009\n\ngcc/ChangeLog:\n\n\t* match.pd: Remove redundant build_zero_cst (type) [PR114009]\n\nSigned-off-by: Kael Andrew Franco \u003ckaelfandrew@gmail.com\u003e\n"
    },
    {
      "commit": "bb5d3acc84c001f9ae7564874996560c191d2a79",
      "tree": "0b3dc5fa037b2d8c533dff1384ce8414cb06c67b",
      "parents": [
        "b207851b2d1b26b3b9ee7b8cfab637ee531acfc1"
      ],
      "author": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:50:29 2026 -0400"
      },
      "committer": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 07:50:29 2026 -0400"
      },
      "message": "match: Remove one build_minus_one_cst (type) in r15-6257.\n\nSince all operands has the same type, integer_minus_onep@1 can be used\ninstead of build_minus_one_cst (type) to remove function call.\n\nBootstrapped and tested on x86_64-pc-linux-gnu.\n\ngcc/ChangeLog:\n\n\t* match.pd: Remove one build_minus_one_cst (type) in r15-6257.\n\nSigned-off-by: Kael Andrew Franco \u003ckaelfandrew@gmail.com\u003e\n"
    },
    {
      "commit": "b207851b2d1b26b3b9ee7b8cfab637ee531acfc1",
      "tree": "a2120f046ab93a90dcd397c6586de1d30f45be4c",
      "parents": [
        "aeaa6a1ada6d7b3252ae579ef1f842d4a38a4e7a"
      ],
      "author": {
        "name": "Paul Thomas",
        "email": "pault@gcc.gnu.org",
        "time": "Sun Jul 12 12:27:29 2026 +0100"
      },
      "committer": {
        "name": "Paul Thomas",
        "email": "pault@gcc.gnu.org",
        "time": "Sun Jul 12 12:31:06 2026 +0100"
      },
      "message": "Fortran: Constraints involving coarray ultimate components [PR101951,PR101967]\n\n2026-07-12  Steve Kargl  \u003ckargl@gcc.gnu.org\u003e\n\ngcc/fortran\n\tPR fortran/101951\n\tPR fortran/101967\n\t* match.cc (gfc_match_allocate): It is an error if the type-spec\n\tderived type or the source expr has a coarray ultimate component.\n\tSubstitute \u0027typespec\u0027 with \u0027type-spec\u0027 in error messages for\n\tconsistency with standards.\n\ngcc/testsuite/\n\tPR fortran/101951\n\t* gfortran.dg/f2018c937.f90: New test.\n\tPR fortran/101967\n\t* gfortran.dg/f2018c949.f90: New test.\n\n\t* gfortran.dg/allocate_alloc_opt_4.f90: Substitute \u0027typespec\u0027 with\n\t\u0027type-spec\u0027 in error checks.\n\t* gfortran.dg/allocate_derived_1.f90: Ditto.\n"
    },
    {
      "commit": "aeaa6a1ada6d7b3252ae579ef1f842d4a38a4e7a",
      "tree": "36de445f0b9d95fbbc268d6ca2ad7650aade7c50",
      "parents": [
        "e15e9cff8f813cbb3a8fd5505dbf3f15e1ece525"
      ],
      "author": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 06:52:28 2026 -0400"
      },
      "committer": {
        "name": "Kael Andrew Alonzo Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Sun Jul 12 06:52:28 2026 -0400"
      },
      "message": "MAINTAINERS: Add myself to MAINTAINERS\n\nAdd kael@gcc.gnu.org and kaelfandrew@gmail.com to MAINTAINERS.\n\nChangeLog:\n\n\t* MAINTAINERS (Write After Approval): Add myself.\n\t(Contributing under the DCO): Add myself.\n\t* MAINTAINERS.yml: Add myself.\n\nSigned-off-by: Kael Andrew Franco \u003ckaelfandrew@gmail.com\u003e\n"
    },
    {
      "commit": "e15e9cff8f813cbb3a8fd5505dbf3f15e1ece525",
      "tree": "e5ebf50671054fc96e5e383dbe55a75be36ab6da",
      "parents": [
        "194b23b7ebe12015e2aa2989ada73f4e1c682c84"
      ],
      "author": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Sun Jul 12 03:07:37 2026 -0500"
      },
      "committer": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Sun Jul 12 03:16:40 2026 -0500"
      },
      "message": "rs6000: Add -mdense-math option\n\nAdd the -mdense-math/-mno-dense-math compiler option to control emission\nof Dense Math Facility (DMF) instructions.  The option is backed by\nOPTION_MASK_DMF and exposes a TARGET_DMF macro for use throughout the\nbackend.\n\nWhen -mcpu\u003dfuture is specified and -mdense-math is not mentioned\nexplicitly, DMF is enabled automatically.  Explicitly requesting\n-mdense-math on a non-future target is a hard error.\n\n2026-07-09  Surya Kumari Jangala  \u003cjskumari@linux.ibm.com\u003e\n\ngcc:\n\t* config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): Add OPTION_MASK_DMF.\n\t(POWERPC_MASKS): Likewise.\n\t* config/rs6000/rs6000.cc (rs6000_option_override_internal): Enable\n\tOPTION_MASK_DMF by default when TARGET_FUTURE is set and the\n\tflag was not explicitly given; emit an error and clear the flag\n\twhen -mdense-math is requested on a non-future target.\n\t(rs6000_opt_masks): Add \"dense-math\" entry for OPTION_MASK_DMF.\n\t* config/rs6000/rs6000.opt (mdense-math): New option backed by Mask(DMF).\n\t* config/rs6000/rs6000.opt.urls: Regenerated.\n\t* doc/invoke.texi: Add -mdense-math.\n"
    },
    {
      "commit": "194b23b7ebe12015e2aa2989ada73f4e1c682c84",
      "tree": "96465ca03d3de8cc87ae5c6a0bc736fab631a52e",
      "parents": [
        "3cca524e337a886d479e630c7a3e6aef4656b425"
      ],
      "author": {
        "name": "Manuel Jacob",
        "email": "me@manueljacob.de",
        "time": "Sat Jul 11 22:42:04 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Sat Jul 11 22:45:55 2026 -0600"
      },
      "message": "build: Preserve all *_FOR_TARGET environment variables if already set.\n\nSome of the *_FOR_TARGET environment variables (e.g. CC_FOR_TARGET) were\nalready preserved because they use the NCN_STRICT_CHECK_TARGET_TOOLS macro\ndirectly. Other *_FOR_TARGET environment variables (e.g. AS_FOR_TARGET) use the\nACX_CHECK_INSTALLED_TARGET_TOOL macro, which falls back to\nNCN_STRICT_CHECK_TARGET_TOOLS but overwrote the environment variable in some\ncases before that. E.g. in the case `$build !\u003d $host`, the environment variable\nwas not preserved.\n\nWith this patch, each of the *_FOR_TARGET environment variables and their\nunsuffixed (“for host”) correspondents are handled consistently in the sense\nthat a non-empty value takes precedence over:\n\n- cached values\n- values inferred by checking for a suitable program in PATH\n- tools in the directory passed to --with-build-time-tools (applies only to *_FOR_TARGET)\n\nChangelog\n\t* configure: Regenerated.\n\nconfig\n\t* acx.m4 (ACX_CHECK_INSTALLED_TARGET_TOOL): Fix handling of\n\tenvironment variables.\n\nSigned-off-by: Manuel Jacob \u003cme@manueljacob.de\u003e\n"
    },
    {
      "commit": "3cca524e337a886d479e630c7a3e6aef4656b425",
      "tree": "fee45703a2466fa90c296bb49f1f249e0f829fe3",
      "parents": [
        "c585baad310a4a5394ff90222faa6933d261fc90"
      ],
      "author": {
        "name": "MITSUNARI Shigeo",
        "email": "herumi@nifty.com",
        "time": "Sat Jul 11 22:38:41 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Sat Jul 11 22:38:41 2026 -0600"
      },
      "message": "i386: Add BMI2 MULX pattern for highpart-only multiplication\n\nAdd a new instruction pattern that uses MULX to compute only the high\npart of an unsigned multiplication on BMI2 targets.  Previously, when\nonly the high part was needed, GCC would emit MULQ followed by a MOV\nto retrieve the result from RDX.  With this pattern, MULX writes the\nhigh part directly to the destination register, saving one instruction.\n\nThis benefits unsigned 32-bit integer division by constants that require\n33-bit magic multipliers (e.g., division by 7), reducing the sequence\nfrom 4 instructions to 3 on BMI2 targets.\n\nBefore:\n    movabsq $2635249153617166336, %rcx\n    movl    %edi, %eax\n    mulq    %rcx\n    movl    %edx, %eax\n\nAfter:\n    movabsq $2635249153617166336, %rax\n    movl    %edi, %edx\n    mulx    %rax, %rax, %rax\n\ngcc/ChangeLog:\n\n\t* config/i386/i386.md (*bmi2_umul\u003cmode\u003e3_highpart): New pattern.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/i386/bmi2-mulx-highpart-1.c: New test.\n\nSigned-off-by: MITSUNARI Shigeo \u003cherumi@nifty.com\u003e\n"
    },
    {
      "commit": "c585baad310a4a5394ff90222faa6933d261fc90",
      "tree": "a639e65b3bdee1aac92fe78390ce83dde0bbacb3",
      "parents": [
        "490c72b690f17215385fc46595f0bd1fec36bc21"
      ],
      "author": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Sat Jul 11 22:36:11 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Sat Jul 11 22:36:42 2026 -0600"
      },
      "message": "expmed: Optimize 32-bit unsigned division by constants on 64-bit targets\n\nFor 32-bit unsigned integer division by constants that require a wider\nmagic multiplier (mh !\u003d 0), use a pre-shifted magic constant in a mode\ntwice as wide and a single high-part multiply instead of the traditional\nsub/shift/add sequence, when that is no more expensive.\n\nThe (size+1)-bit magic constant (2^size + ml) is pre-shifted by\n(size - post_shift) bits so that the quotient is obtained directly from\nthe high part of the widened multiply, then truncated back to the\noriginal mode.  The widened sequence is only used when its cost, measured\nwith seq_cost, does not exceed that of the classic sub/shift/add sequence.\n\nThis reduces the instruction count for divisions like x/7 from 7\ninstructions to 4 on x86_64.\n\nBefore (x / 7):\n    movl    %edi, %eax\n    imulq   $613566757, %rax, %rax\n    shrq    $32, %rax\n    subl    %eax, %edi\n    shrl    %edi\n    addl    %edi, %eax\n    shrl    $2, %eax\n\nAfter:\n    movabsq $2635249153617166336, %rcx\n    movl    %edi, %eax\n    mulq    %rcx\n    movl    %edx, %eax\n\ngcc/ChangeLog:\n\n\t* expmed.cc (expand_wide_mulh_udiv): New function.\n\t(expand_divmod): Use it for unsigned constant division needing a\n\twide multiplier on 64-bit targets, when no more expensive than the\n\tsub/shift/add sequence.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/i386/mulq-highpart.c: New test.\n\nSigned-off-by: MITSUNARI Shigeo \u003cherumi@nifty.com\u003e\n"
    },
    {
      "commit": "490c72b690f17215385fc46595f0bd1fec36bc21",
      "tree": "77af1e41028c04d78cb8e3c17a362a1a82ff929a",
      "parents": [
        "69a2daacba6353d1aab3118415b89afd479c4c76"
      ],
      "author": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Sun Jul 12 00:16:27 2026 +0000"
      },
      "committer": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Sun Jul 12 00:16:27 2026 +0000"
      },
      "message": "Daily bump."
    },
    {
      "commit": "69a2daacba6353d1aab3118415b89afd479c4c76",
      "tree": "9917a7bbb9f2ace6721a7926254f9b40079f4c19",
      "parents": [
        "f92b46f7f2a8d0821f9fd49d4cc3f248aa009ae6"
      ],
      "author": {
        "name": "Jerry DeLisle",
        "email": "jvdelisle@gcc.gnu.org",
        "time": "Sat Jul 11 10:35:29 2026 -0700"
      },
      "committer": {
        "name": "Jerry DeLisle",
        "email": "jvdelisle@gcc.gnu.org",
        "time": "Sat Jul 11 10:39:34 2026 -0700"
      },
      "message": "fortran: [PR126210] Restrict host-assoc symbol skip to derived types\n\nThe fix for PR126170 made read_module() skip re-importing any\nsymbol already visible via host association from the same\nmodule, matched only by name.\n\n\tPR fortran/126210\n\ngcc/fortran/ChangeLog:\n\n\t* module.cc (read_module): Only skip re-importing a symbol\n\talready visible via host association from the same module\n\twhen that symbol is a derived type.\n\ngcc/testsuite/ChangeLog:\n\n\t* gfortran.dg/pr126210.f90: New test.\n"
    },
    {
      "commit": "f92b46f7f2a8d0821f9fd49d4cc3f248aa009ae6",
      "tree": "36ddf8423b47940b0ae894ae664cbef3c064de7a",
      "parents": [
        "2601cb4d27364e2ae5c0eb4f53e186e0e0ecadde"
      ],
      "author": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Sat Jul 11 12:22:03 2026 -0500"
      },
      "committer": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Sat Jul 11 12:22:03 2026 -0500"
      },
      "message": "Revert \"rs6000: Add -mdense-math option\"\n\nThis reverts commit 2601cb4d27364e2ae5c0eb4f53e186e0e0ecadde.\n"
    },
    {
      "commit": "2601cb4d27364e2ae5c0eb4f53e186e0e0ecadde",
      "tree": "0cfd21fbd219680f7c48fd9c5033209ebb105d8c",
      "parents": [
        "1646ca5c7323d6ddce15a3fc859adc212c919e0a"
      ],
      "author": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Thu Jul 09 03:46:23 2026 -0500"
      },
      "committer": {
        "name": "Surya Kumari Jangala",
        "email": "jskumari@linux.ibm.com",
        "time": "Sat Jul 11 06:44:39 2026 -0500"
      },
      "message": "rs6000: Add -mdense-math option\n\nAdd the -mdense-math/-mno-dense-math compiler option to control emission\nof Dense Math Facility (DMF) instructions.  The option is backed by\nOPTION_MASK_DMF and exposes a TARGET_DMF macro for use throughout the\nbackend.\n\nWhen -mcpu\u003dfuture is specified and -mdense-math is not mentioned\nexplicitly, DMF is enabled automatically.  Explicitly requesting\n-mdense-math on a non-future target is a hard error.\n\n2026-07-09  Surya Kumari Jangala  \u003cjskumari@linux.ibm.com\u003e\n\ngcc:\n\t* config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): Add OPTION_MASK_DMF.\n\t(POWERPC_MASKS): Likewise.\n\t* config/rs6000/rs6000.cc (rs6000_option_override_internal): Enable\n\tOPTION_MASK_DMF by default when TARGET_FUTURE is set and the\n\tflag was not explicitly given; emit an error and clear the flag\n\twhen -mdense-math is requested on a non-future target.\n\t(rs6000_opt_masks): Add \"dense-math\" entry for OPTION_MASK_DMF.\n\t* config/rs6000/rs6000.opt (mdense-math): New option backed by Mask(DMF).\n\t* doc/invoke.texi: Add -mdense-math.\n"
    },
    {
      "commit": "1646ca5c7323d6ddce15a3fc859adc212c919e0a",
      "tree": "36ddf8423b47940b0ae894ae664cbef3c064de7a",
      "parents": [
        "0a82c5e1187c68acd5bbe7afa1c2f870a653d369"
      ],
      "author": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Sat Jul 11 10:31:50 2026 +0200"
      },
      "committer": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Sat Jul 11 10:31:50 2026 +0200"
      },
      "message": "libgcc: Support -mcall-ms2sysv-xlogues on NetBSD/x86\n\nThe gcc.target/x86_64/abi/ms-sysv/ms-sysv.c tests FAIL on NetBSD/x86\nwith many undefined references to __sse_resms64f etc.  The fix is\nidentical to\n\ncommit df09e09c0bad09421984e4f52344baf5d81a3570\nAuthor: Rainer Orth \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\nDate:   Fri May 29 16:24:40 2026 +0200\n\n    libgcc: Support -mcall-ms2sysv-xlogues on FreeBSD/x86\n\nHowever, there\u0027s no need to emit .note.GNU-stack sections which are\nunused on NetBSD, unlike FreeBSD.\n\nBootstrapped without regressions on amd64-pc-netbsd10.1 and\nx86_64-pc-linux-gnu.\n\n2026-07-05  Rainer Orth  \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\n\n\tlibgcc:\n\t* config.host \u003ci[34567]86-*-netbsdelf*\u003e (tmake_file): Add\n\ti386/t-msabi.\n\t\u003cx86_64-*-netbsd*\u003e: Likewise.\n"
    },
    {
      "commit": "0a82c5e1187c68acd5bbe7afa1c2f870a653d369",
      "tree": "4f897e3dedd414fad14e45626516c57fb85ba65f",
      "parents": [
        "592daa395c512e83eb5018b6877c3888d74ff937"
      ],
      "author": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Sat Jul 11 00:09:27 2026 -0400"
      },
      "committer": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Sat Jul 11 00:14:12 2026 -0400"
      },
      "message": "cobol: Use snprintf instead of strncpy in charmaps.cc.\n\nThis change eliminates compiler warnings about strncpy.\n\nlibgcobol/ChangeLog:\n\n\t* charmaps.cc (helpful_iconv_open): Use snprintf() instead of strncpy().\n"
    },
    {
      "commit": "592daa395c512e83eb5018b6877c3888d74ff937",
      "tree": "25ecc94434b28b7791cbeb1d2cb8da181ee770f7",
      "parents": [
        "d1d3cf24edfc1dd26218c895a4aba609a689ad2d"
      ],
      "author": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Fri Jul 10 23:48:32 2026 -0400"
      },
      "committer": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Sat Jul 11 00:00:27 2026 -0400"
      },
      "message": "cobol: Use strncpy properly.\n\ngcc/cobol/ChangeLog:\n\n\t* copybook.h (class copybook_t): Mollify cppcheck.\n\t* lexio.h (struct filespan_t): Likewise.\n\t* symbols.h (symbol_typedef): Add declaration.\n\nlibgcobol/ChangeLog:\n\n\t* charmaps.cc (helpful_iconv_open): Use strncpy() properly.\n\t(char_from_figconst): Initialize return value.\n\ngcc/testsuite/ChangeLog:\n\n\t* cobol.dg/group2/BINARY_and_COMP-5.cob: Removed.\n\t* cobol.dg/group2/BINARY_and_COMP-5.out: Removed.\n\t* cobol.dg/group2/Non-numeric_data_in_numeric_items__1_.cob: Removed.\n\t* cobol.dg/group2/Non-numeric_data_in_numeric_items__1_.out: Removed.\n"
    },
    {
      "commit": "d1d3cf24edfc1dd26218c895a4aba609a689ad2d",
      "tree": "fd986a7a097db2fa7dfd06e1f9d994bc25899699",
      "parents": [
        "4302e16581b490a196a11de3a54a424f52e27340"
      ],
      "author": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Sat Jul 11 00:16:37 2026 +0000"
      },
      "committer": {
        "name": "GCC Administrator",
        "email": "gccadmin@gcc.gnu.org",
        "time": "Sat Jul 11 00:16:37 2026 +0000"
      },
      "message": "Daily bump."
    },
    {
      "commit": "4302e16581b490a196a11de3a54a424f52e27340",
      "tree": "e26dfd65e622a55d02f3c72a2b4c6d8d3dd623e1",
      "parents": [
        "081959973e38fde06077cbfa70e036e4f018489c"
      ],
      "author": {
        "name": "Andrew Pinski",
        "email": "andrew.pinski@oss.qualcomm.com",
        "time": "Fri Jul 10 16:55:19 2026 -0700"
      },
      "committer": {
        "name": "Andrew Pinski",
        "email": "andrew.pinski@oss.qualcomm.com",
        "time": "Fri Jul 10 17:01:08 2026 -0700"
      },
      "message": "vect: Add back testcases for trapping math with comparisons [PR36190]\n\nThese were originally renamed to no-trapping-math-vect-*.c in r0-87196-g04b03edb56633f\nbut were fixed in r0-107313-gf9613c9a919462 but never added back to the\ntrapping versions.\nThis adds them back this time with an explict -ftrapping-math.  Note vect-ifcvt-11.c\nalready exists now so need to name it vect-ifcvt-11a.c.\n\nCommitted as obvious after testing these testcases work on x86_64-linux-gnu.\n\n\tPR testsuite/36190\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/vect/vect-111.c: New test.\n\t* gcc.dg/vect/vect-ifcvt-11a.c: New test.\n\t* gcc.dg/vect/vect-ifcvt-12.c: New test.\n\t* gcc.dg/vect/vect-ifcvt-13.c: New test.\n\t* gcc.dg/vect/vect-ifcvt-14.c: New test.\n\t* gcc.dg/vect/vect-ifcvt-15.c: New test.\n\nSigned-off-by: Andrew Pinski \u003candrew.pinski@oss.qualcomm.com\u003e\n"
    },
    {
      "commit": "081959973e38fde06077cbfa70e036e4f018489c",
      "tree": "cf8d718dcea75f310cbbf982274d7c56d98d207a",
      "parents": [
        "a1ff104826c59ead40f8e864cd1aa1ce2e5fc6ba"
      ],
      "author": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 23:09:04 2026 +0100"
      },
      "committer": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 23:09:04 2026 +0100"
      },
      "message": "PR tree-optimization/57371: Improved comparison of integers to FP constants.\n\nThis patch improves the tree-level optimization of (fptype)ivar !\u003d CST\nin match.pd (historically tracked under PR 57371).  Joseph Myers\u0027\ndescription in comment #1 provides an excellent overview of the issues,\nthat historically it\u0027s the trapping behaviour of (fptype)ivar conversion\nthat is the primary concern, which is why the current code in match.pd\nchecks fmt.can_represent_integral_type_p (itype).  The first of the\nimprovements with this patch is to check flag_trapping_math to control\nwhether FP_OVERFLOW/FP_INEXACT needs to be preserved.\n\nThe main optimization concerns checking whether the comparison\nagainst CST is unambiguous allowing it to be replaced with a integer\ncomparison.  For reference, consider the table below which shows the\ndefault conversion of integers to IEEE 32-bit float.\n\n(float)16777211 \u003d\u003e 16777211.0f;\n(float)16777212 \u003d\u003e 16777212.0f;\n(float)16777213 \u003d\u003e 16777213.0f;\n(float)16777214 \u003d\u003e 16777214.0f;\n(float)16777215 \u003d\u003e 16777215.0f;\n(float)16777216 \u003d\u003e 16777216.0f;\n(float)16777217 \u003d\u003e 16777216.0f;  // rounded\n(float)16777218 \u003d\u003e 16777218.0f;\n(float)16777219 \u003d\u003e 16777220.0f;  // rounded\n(float)16777220 \u003d\u003e 16777220.0f;\n(float)16777221 \u003d\u003e 16777220.0f;  // rounded\n(float)16777222 \u003d\u003e 16777222.0f;\n(float)16777223 \u003d\u003e 16777224.0f;  // rounded\n(float)16777224 \u003d\u003e 16777224.0f;\n(float)16777225 \u003d\u003e 16777224.0f;  // rounded\n(float)16777226 \u003d\u003e 16777226.0f;\n\nObserve that it\u0027s safe to optimize (float)i \u003d\u003d 16777212.0f to the\nequivalent i \u003d\u003d 16777212 (as this is the only integer that can\nconvert to that floating point constant), but that it\u0027s unsafe to\noptimize (float)i \u003d\u003d 16777220.0f, as with default rounding there\nare three possible integer values that FLOAT_EXPR to 16777220.0f.\nThe pragmatic check used in this patch is to confirm that (float)(i-1)\nand (float)(i+1) are both distinct from (float)i before simplifying\nthe comparison to an integer-typed comparison.\n\nFinally, this patch also handles non-default rounding modes.\nIn the table above, it\u0027s safe to optimize (float)i \u003d\u003d 16777222.0f\nin IEEE\u0027s default rounding mode, but not in all FP rounding modes.\nThis eventuality is handled by testing whether the (float)i, the\n(float)(i-1) and the (float)(i+1) are all exactly rounded when\n-frounding-math is specified.\n\nThe original motivation for this patch was Claudiu\u0027s issue/analysis at\nhttps://github.com/foss-for-synopsys-dwc-arc-processors/gcc/issues/118\nwhich predicted a dramatic +26% performance improvement on EEMBC\u0027s\niirflt01 benchmark.\n\n2026-07-10  Roger Sayle  \u003croger@nextmovesoftware.com\u003e\n\ngcc/ChangeLog\n\tPR tree-optimization/57371\n\t* fold-const.cc (fold_cmp_float_cst_p): New helper function.\n\t* fold-const.h (fold_cmp_float_cst_p): Prototype here.\n\t* match.pd ((FTYPE) N CMP CST): Use the new helper\n\tfold_cmp_float_cst_p to check that transformation to an integer\n\tcomparison is safe.\n\ngcc/testsuite/ChangeLog\n\tPR tree-optimization/57371\n\t* c-c++-common/pr57371-6.c: New test case.\n\t* c-c++-common/pr57371-7.c: Likewise.\n\t* c-c++-common/pr57371-8.c: Likewise.\n\t* c-c++-common/pr57371-9.c: Likewise.\n\t* c-c++-common/pr57371-10.c: Likewise.\n"
    },
    {
      "commit": "a1ff104826c59ead40f8e864cd1aa1ce2e5fc6ba",
      "tree": "9ef1283054ba813a03bb02e45754248b2ceed996",
      "parents": [
        "ec31d8cb81aa2f9b74c3b91fb87080b9c86cea23"
      ],
      "author": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 23:04:03 2026 +0100"
      },
      "committer": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 23:04:03 2026 +0100"
      },
      "message": "PR target/48609: Improve RTL expansion of complex value return.\n\nThis patch address the inefficient return of complex values (with the x86\nABI) where the result is returned to the caller in an integer register.\nCurrently this results in RTL expansion spilling the value to memory\nand reloading it in an integer register.  The patch below recognizes\nthis case, and composes the real and imaginary parts using shifts and\naddition.  The real part always appears first in memory, so is lowpart\non little-endian targets, and the highpart on big-endian targets.\n\nConsider the new test case:\n\n_Complex float mem;\n_Complex float foo(_Complex float x) { return x; }\n_Complex float bar() { return mem; }\n\nCurrently, with -O2 GCC generates:\n\nfoo:    movss   %xmm0, -8(%rsp)\n        shufps  $85, %xmm0, %xmm0\n        movss   %xmm0, -4(%rsp)\n        movq    -8(%rsp), %xmm0\n        ret\n\nbar:\tmovss   mem(%rip), %xmm0\n        movss   %xmm0, -8(%rsp)\n        movss   mem+4(%rip), %xmm0\n        movss   %xmm0, -4(%rsp)\n        movq    -8(%rsp), %xmm0\n        ret\n\nWith this patch, we now generate:\n\nfoo:\tret\n\nbar:\tmovl    mem+4(%rip), %edx\n        movl    mem(%rip), %eax\n        salq    $32, %rdx\n        addq    %rdx, %rax\n        movq    %rax, %xmm0\n        ret\n\nFor those folks noticing that bar could be improved further, I\u0027ve\na follow-up patch to the i386\u0027s STV2 pass, to perform concatsidi2 in\nSSE registers.\n\n2026-07-10  Roger Sayle  \u003croger@nextmovesoftware.com\u003e\n\ngcc/ChangeLog\n\tPR target/48609\n\t* expr.cc (emit_group_load_1): When passing a complex value in an\n\tinteger mode of the same size, explicitly construct (hi\u003c\u003cN)+lo to\n\tavoid spilling to memory before reload.\n\ngcc/testsuite/ChangeLog\n\tPR target/48609\n\t* gcc.target/i386/pr48609-2.c: New test case.\n"
    },
    {
      "commit": "ec31d8cb81aa2f9b74c3b91fb87080b9c86cea23",
      "tree": "e63f1b79e0cd4a476b337b9025e2891f8b233d8d",
      "parents": [
        "c401a634f17436cd486878fd58716be1a5a58165"
      ],
      "author": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 22:59:24 2026 +0100"
      },
      "committer": {
        "name": "Roger Sayle",
        "email": "roger@nextmovesoftware.com",
        "time": "Fri Jul 10 22:59:24 2026 +0100"
      },
      "message": "PR target/99668: Improved complex to vector RTL expansion.\n\nThis patch improves the RTL expansion of casts (VIEW_CONVERT_EXPR)\nfrom complex numbers to two-component vectors with the same inner\ntype.  Currently, expand spills the complex number to memory to\nperform this conversion.  With the patch below we now convert the\nV_C_E into the equivalent of (v2x){__real__ z,__imag__ z}, using\nthe backend\u0027s vec_init_optab.\n\nThe motivating example from the Bugzilla PR is:\n\ntypedef double v2df __attribute__((vector_size(16)));\nv2df foo (_Complex double x)\n{\n  return *(v2df *)\u0026x;\n}\n\nCurrently, with -O2 GCC implements this by spilling to memory:\n\nfoo:\tmovsd   %xmm0, -24(%rsp)\n        movsd   %xmm1, -16(%rsp)\n        movupd  -24(%rsp), %xmm0\n        ret\n\nwith this enhancement to RTL expansion, we now generate:\n\nfoo:\tunpcklpd        %xmm1, %xmm0\n        ret\n\nThe improvement with -m32 -msse2 -O2 is even more pronounced.\n\nFrom:   subl    $28, %esp\n        movsd   32(%esp), %xmm1\n        movsd   40(%esp), %xmm2\n        movsd   %xmm1, (%esp)\n        movsd   %xmm2, 8(%esp)\n        movupd  (%esp), %xmm0\n        addl    $28, %esp\n        ret\n\nTo:\tmovq    4(%esp), %xmm0\n        movhpd  12(%esp), %xmm0\n\tret\n\n2026-07-10  Roger Sayle  \u003croger@nextmovesoftware.com\u003e\n\t    Richard Biener  \u003crguenther@suse.de\u003e\n\ngcc/ChangeLog\n\tPR target/99668\n\t* expr.cc (try_expand_complex_as_vector): Try to use vec_init_optab\n\tto convert a complex number to a two-component vector with the same\n\tinner type.\n\t(expand_expr_real_1) \u003ccase VIEW_CONVERT_EXPR\u003e: Check whether the\n\tabove function can be used to implement this VIEW_CONVERT_EXPR.\n\ngcc/testsuite/ChangeLog\n\tPR target/99668\n\t* gcc.target/i386/pr99668.c: New test case.\n"
    },
    {
      "commit": "c401a634f17436cd486878fd58716be1a5a58165",
      "tree": "10e25f16b8a756fb834623df027c5f73575f03b4",
      "parents": [
        "f935a7a9013d0748ba1f42dc532df3d278707bf6"
      ],
      "author": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Fri Jul 10 14:47:11 2026 -0400"
      },
      "committer": {
        "name": "Robert Dubner",
        "email": "rdubner@symas.com",
        "time": "Fri Jul 10 15:05:34 2026 -0400"
      },
      "message": "cobol: Address endian issues.\n\nThere are on the order of four ways that endianness impacts the COBOL front end\nand the libgcobol.so library.\n\n1) The COBOL BINARY data type is always big-endian; the COMP-5 data type takes\non the endianness of the target architecture.\n\n2) The options -fexec-charset and -fexec-national-charset specify the character\nsets used for DISPLAY and NATIONAL variables.  Those can independently be\nmulti-byte little-endian or big-endian, and they are independent of the\nendianness of the target architecture.\n\n3) The host machine can be either big-e or little-e.\n\n4) The target machine likewise.\n\nWe got this far with the compiler because I assumed -- without even knowing I\nwas assuming -- the machine architectures were little-endian.  So, when tested\nwith single-byte-coded ASCII or EBCDIC, or with little-endian UTF-16LE and\nUTF-32LE, I could get things working without too much trouble.\n\nI am not going to attempt to detail the myriad ways my code didn\u0027t work when\nI specified \"-fexec-charset\u003dutf-16be\".  Nor am I going to describe what\nhappened when I first tried to create GCOBOL on a big-endian IBM System Z.\n\nBut that explains the size of this patch.  With these changes, GCOBOL is able\nto handle \"-fexec-charset\u003dutf-16be\" on the x86_64.  With these changes GCOBOL\nis beginning to be able to handle single-byte-encoded ASCII or EBCDIC on the\nSystem Z.\n\ngcc/cobol/ChangeLog:\n\n\t* Make-lang.in: Copy charmaps.cc and valconv.cc without using SED to\n\talter their contents.\n\t* cbldiag.h (struct cbl_loc_t): Mollify cppcheck.\n\t* compare.cc (alpha_compare_figconst): Endianness.\n\t(alpha_compare): Endianness.\n\t* genapi.cc (get_class_condition_string): Endianness.\n\t(parser_statement_end): Fix initialization.\n\t(initialize_variable_internal): Likewise.\n\t(leave_section_internal): Likewise.\n\t(parser_init_list): Likewise.\n\t(parser_alphabet): Pass \"cbl_alphabet_t *\" instead of\n\t\"cbl_alphabet_t \u0026\"\n\t(parser_alphabet_use): Likewise.\n\t(program_end_stuff): Endianness.\n\t(establish_using): Endianness; use out-of-band metadata to handle\n\tpassing intermediate_e variables BY VALUE.\n\t(parser_trim): Endianness.\n\t(parser_sort): Change call to parser_alphabet_use().\n\t(parser_file_sort): Likewise.\n\t(parser_file_merge): Likewise.\n\t(create_and_call): Change handling of BY VALUE; handle RETURN-CODE\n\tproperly for dialects IBM, MF, and GNU.\n\t(actually_create_the_static_field): Endianness.\n\t(parser_symbol_add): Endianness.\n\t* genapi.h (parser_alphabet): Change declaration.\n\t(parser_alphabet_use): Likewise.\n\t(parser_file_merge): Make a couple of formal parameters \"const\".\n\t* genmath.cc: Incorporate cobol-endian.h.\n\t* genutil.cc (binary_from_numdisp): Endianness.\n\t(get_binary_value): Endianness.\n\t(safe_cast): Prevent aliasing.\n\t(safe_assign): New routine that extracts the binary value from a\n\tnumeric source, and assigns it to the target, converting as\n\tnecessary based on the target\u0027s TREE_TYPE.\n\t* genutil.h (safe_assign): New declaration.\n\t* messages.cc: Incorporate cobol-endian.h.\n\t* move.cc (mh_source_is_literalN): Use streamlined, endian-safe\n\troutines.\n\t* parse.y: Incorporate cobol-endian.h; set big_endian_e for\n\tFldNumericBin5 when the target machine is big-endian.\n\t* parse_ante.h (mode_syntax_only): Formatting.\n\t(struct prototype_type_t): Likewise.\n\t(is_allowed_name): Likewise.\n\t(prototype_args): Likewise.\n\t(verify_args): Likewise.\n\t(valid_pointer_relop): Likewise.\n\t(blankit): Eliminate.\n\t(cbl_field_t::blank_initial): Handle multi-byte characters.\n\t(cbl_field_t::set_initial): Formatting.\n\t(data_division_ready): Likewise.\n\t(field_binary_usage): Likewise.\n\t(ast_end_program): Likewise.\n\t* parse_util.h (intrinsic_invalid_parameter): Eliminate FldIndex as\n\tan invalid parameter type.\n\t* symbols.cc (symbols_alphabet_set): Remove FldIndex from list of\n\tinvalid types.\n\t(cbl_alphabet_t::reencode): Handle big-endian multi-byte charsets.\n\t(iconv_cd): Use helpful_iconv_open().\n\t(symbol_label_add): Eliminate overwritten assignment.\n\t* util.cc (cbl_field_t::encode_numeric): Handle big-endian\n\tnumeric-display values.\n\nlibgcobol/ChangeLog:\n\n\t* charmaps.cc (defined): Use conditional compilation to locate .h\n\tfiles; incorporate cobol-endian.h.\n\t(__gg__iconverter): Conditional use of malloc/xmalloc.\n\t(fixcode): Convert utf16 and utf32 to utf-16le/be and utf-32le/based\n\ton target endianness.  Convert utf16le/be and utf32le/be to\n\tutf-16le/be and utf-32le/be to accommodate FreeBSD, which has only\n\tthe hyphenated versions.\n\t(helpful_iconv_open): Use fixcode();\n\t(char_from_figconst): New routine.\n\t* charmaps.h (CHARMAPS_H): Format comment.\n\t(ascii_cr): New definition.\n\t(ascii_lbrace): Likewise.\n\t(ascii_rbrace): Likewise.\n\t(ascii_newline): Likewise.\n\t(ebcdic_return): Likewise.\n\t(ebcdic_newline): Likewise.\n\t(helpful_iconv_open): New declaration.\n\t(DEFAULT_32_ENCODING): Change to...\n\t(HOST_32_ENCODING): New constant, based on host endianness.\n\t(error_msg_direct): Eliminate debugging comment.\n\t(charmap_as_unsigned_chars): New utility.\n\t(charmap_load_unaligned): Likewise.\n\t(charmap_store_unaligned): Likewise.\n\t(store_uint16): Likewise.\n\t(store_uint32): Likewise.\n\t(class cbl_iconv_t): Use helpful_iconv_open().\n\t(class charmap_t): Endianness.\n\t(char_from_figconst): New declaration.\n\t* gfileio.cc (relative_file_delete): Endianness.\n\t(relative_file_start): Endianness.\n\t(relative_file_rewrite): Endianness.\n\t(relative_file_write): Endianness.\n\t(write_a_char): Endianness.\n\t(sequential_file_write): Endianness.\n\t(relative_file_read): Endianness.\n\t* gmath.cc (__gg__pow): Formatting.\n\t(uint128_lo64): Endianness.\n\t(uint128_hi64): Endianness.\n\t(uint128_from_limbs): Endianness.\n\t(int256_get_u128): Endianness.\n\t(int256_set_u128): Endianness.\n\t(int256_is_negative): Endianness.\n\t(int128_abs_as_uint128): Endianness.\n\t(add_int256_to_int256): Endianness.\n\t(negate_int256): Endianness.\n\t(divide_int256_by_int64): Endianness.\n\t(squeeze_int256): Endianness.\n\t(get_int256_from_qualified_field): Endianness.\n\t(__gg__add_fixed_phase1): Endianness.\n\t(__gg__addf1_fixed_phase2): Endianness.\n\t(__gg__fixed_phase2_assign_to_c): Endianness.\n\t(__gg__add_float_phase1): Endianness.\n\t(__gg__addf1_float_phase2): Endianness.\n\t(__gg__addf3): Endianness.\n\t(__gg__subtractf1_fixed_phase2): Endianness.\n\t(__gg__subtractf2_fixed_phase1): Endianness.\n\t(__gg__subtractf1_float_phase2): Endianness.\n\t(__gg__subtractf2_float_phase1): Endianness.\n\t(__gg__subtractf3): Endianness.\n\t(__gg__multiplyf1_phase1): Endianness.\n\t(multiply_int128_by_int128): Endianness.\n\t(__gg__multiplyf1_phase2): Endianness.\n\t(__gg__multiplyf2): Endianness.\n\t(shift_in_place128): Endianness.\n\t(int256_as_decimal): Endianness.\n\t(clz_uint64): Endianness.\n\t(defined): Endianness.\n\t(shift_left_int256): Endianness.\n\t(divide_int128_by_int128): Endianness.\n\t(__gg__dividef1_phase2): Endianness.\n\t(__gg__dividef23): Endianness.\n\t(__gg__dividef45): Endianness.\n\t* inspect.cc (as_chars): Endianness.\n\t(funky_find): Endianness.\n\t(funky_find_wide): Endianness.\n\t(funky_find_wide_backward): Endianness.\n\t(append_normalized_character): Endianness.\n\t(normalize_id): Endianness.\n\t(normalize_id_sbc): Endianness.\n\t(the_alpha_and_omega): Endianness.\n\t(the_alpha_and_omega_sbc): Endianness.\n\t(the_alpha_and_omega_backward): Endianness.\n\t(inspect_backward_format_1): Endianness.\n\t(__gg__inspect_format_1): Endianness.\n\t(inspect_backward_format_2): Endianness.\n\t(__gg__inspect_format_2): Endianness.\n\t(normalize_for_inspect_format_4): Endianness.\n\t(__gg__inspect_format_4): Endianness.\n\t* intrinsic.cc (as_chars): Endianness.\n\t(xrealloc): Compile for both cobol1 and libgcobol.so.\n\t(mconvert_to_c_string): Endianness.\n\t(ensure_char_capacity):  Endianness.\n\t(struct input_state): Allocate buffers using the proper sizes.\n\t(get_all_time): Endianness.\n\t(__gg__char): Endianness.\n\t(__gg__formatted_current_date): Endianness.\n\t(__gg__formatted_date): Endianness.\n\t(__gg__formatted_datetime): Endianness.\n\t(__gg__formatted_time): Endianness.\n\t(change_case): Endianness.\n\t(__gg__median): Endianness.\n\t(numval): Endianness.\n\t(numval_c): Endianness.\n\t(__gg__ord): Endianness.\n\t(__gg__trim_a): Endianness.\n\t(__gg__numval_f): Endianness.\n\t(__gg__test_numval_f): Endianness.\n\t(ismatch): Endianness.\n\t(iscasematch): Endianness.\n\t(strstr): Endianness.\n\t(strcasestr): Endianness.\n\t(strlaststr): Endianness.\n\t(strcaselaststr): Endianness.\n\t(__gg__substitute): Endianness.\n\t(__gg__locale_date): Endianness.\n\t(__gg__locale_time): Endianness.\n\t* io.cc (__compat_file_status_word): Endianness.\n\t* libgcobol.cc (as_chars): Endianness.\n\t(as_unsigned_chars): Endianness.\n\t(load_unaligned): Endianness.\n\t(store_unaligned): Endianness.\n\t(signed_int128_max): Endianness.\n\t(checked_realloc): Endianness.\n\t(collated): Endianness.\n\t(edited_to_binary): Endianness.\n\t(native_to_binary_signed): Endianness.\n\t(native_to_binary_unsigned): Endianness.\n\t(digit_rt): Endianness.\n\t(num_disp_dive_rt): Endianness.\n\t(numeric_display_to_binary): Endianness.\n\t(get_binary_value_local): Endianness.\n\t(__gg__power_of_ten): Endianness.\n\t(value_is_too_big): Endianness.\n\t(binary_to_big_endian): Endianness.\n\t(binary_to_native_binary): Endianness.\n\t(int128_to_field): Endianness.\n\t(__gg__field_from_string): Endianness.\n\t(field_from_ascii): Endianness.\n\t(uber_compare): Endianness.\n\t(__gg__dirty_to_binary): Endianness.\n\t(get_scaled_rdigits): Endianness.\n\t(format_for_display_internal): Endianness.\n\t(compare_88): Endianness.\n\t(get_float128): Endianness.\n\t(__gg__compare_field_class): Endianness.\n\t(compare_strings): Endianness.\n\t(__gg__compare_2): Endianness.\n\t(__gg__double_to_target): Endianness.\n\t(__gg__sort_table): Endianness.\n\t(init_var_both): Endianness.\n\t(alpha_to_alpha_move_from_location): Endianness.\n\t(alpha_to_alpha_move): Endianness.\n\t(__gg__move): Endianness.\n\t(__gg__move_literala): Endianness.\n\t(__gg__sort_workfile): Endianness.\n\t(__gg__merge_files): Endianness.\n\t(move_string): Endianness.\n\t(normalize_for_inspect_format_4): Endianness.\n\t(__gg__string): Endianness.\n\t(display_both): Endianness.\n\t(__gg__float128_from_qualified_field): Endianness.\n\t(float128_to_int128): Endianness.\n\t(float128_to_location): Endianness.\n\t(__gg__onetime_initialization): Endianness.\n\t(is_numeric_display_numeric): Endianness.\n\t(classify_alphabetic_type): Endianness.\n\t(accept_envar): Endianness.\n\t(__gg__set_envar): Endianness.\n\t(command_line_plan_b): Endianness.\n\t(__gg__get_command_line): Endianness.\n\t(__gg__set_pointer): Endianness.\n\t(__gg__alphabet_use): Formatting.\n\t(__gg__fetch_call_by_value_value): Eliminate.\n\t(__gg__unstring): Endianness.\n\t(match_declarative): Formatting.\n\t(default_exception_handler): Formatting.\n\t(__gg__check_fatal_exception): Endianness.\n\t(__gg__float128_from_location): Endianness.\n\t(__gg__adjust_encoding): Endianness.\n\t(__gg__func_exception_file): Endianness.\n\t(__gg__is_float_infinite): Formatting.\n\t(__gg__float32_from_128): Endianness.\n\t(__gg__float32_from_64): Endianness.\n\t(__gg__float64_from_128): Endianness.\n\t(__gg__just_mangle_name): Endianness.\n\t(__gg__function_handle_from_name): Proper initialization.\n\t(__gg__variables_to_init): Likewise.\n\t(__gg__mirror_range): Formatting.\n\t(__gg__allocate): Formatting.\n\t(__gg__module_name): Formatting.\n\t(__gg__set_exception_environment): Formatting.\n\t(__gg__set_env_name): Endianness.\n\t(__gg__set_env_value): Endianness.\n\t(__gg__refer_from_string): Endianness.\n\t(__gg__refer_from_psz): Endianness.\n\t(__gg__compare_string_all): Endianness.\n\t(__gg__compare_string_1): Endianness.\n\t(__gg__compare_string_1a): Endianness.\n\t(__gg__compare_string_2): Endianness.\n\t(__gg__compare_string_2a): Endianness.\n\t(__gg__compare_string_4): Endianness.\n\t(__gg__compare_string_4a): Endianness.\n\t(__gg_compare_string_different): Endianness.\n\t(__gg__compare_numeric_all): Endianness.\n\t(__gg__compare_binary_to_string): Endianness.\n\t* libgcobol.h (defined): Endianness.\n\t(COBOL_BIG_ENDIAN): Endianness.\n\t(COBOL_LITTLE_ENDIAN): Endianness.\n\t* stringbin.cc (__gg__binary_to_string_encoded): Endianness.\n\t(digit_rt): Support for num_disp_dive_rt().\n\t(num_disp_dive_rt): Recurse conversion of numeric-display to binary.\n\t(__gg__numeric_display_to_binary): Use num_disp_dive_rt().\n\t* stringbin.h (__gg__numeric_display_to_binary): Remove declaration.\n\t* valconv.cc (defined): Use IN_GCC_FRONTEND to find .h files;\n\tincorporate cobol-endian.h.\n\t(TOUPPER): Simple toupper() routine.\n\t(__gg__string_to_numeric_edited): Use TOUPPER.\n\t* cobol-endian.h: New file.  Provides access to big-e versus\n\tlittle-e variables and preprocessor definitions.\n\ngcc/testsuite/ChangeLog:\n\n\t* cobol.dg/group2/Assorted_SPECIAL-NAMES_CLASS.cob: Modified for\n\tendian neutrality.\n\t* cobol.dg/group2/Non-numeric_data_in_numeric_items__2_.out: Likewise.\n\t* cobol.dg/group2/FUNCTION_TRIM_with_NATIONAL_characters.cob: Likewise.\n\t* cobol.dg/group2/Hexadecimal_literal.cob: Likewise.\n\t* cobol.dg/group2/PACKED-DECIMAL_basic_comp-3_comp-6__2_.cob: Likewise.\n\t* cobol.dg/group2/PACKED-DECIMAL_basic_comp-3_comp-6__2_.out: Likewise.\n\t* cobol.dg/group2/compare_national_to_display.cob: Likewise.\n\t* cobol.dg/group2/Complex_HEX__VALUE_and_MOVE_-_UTF-16.cob: Removed.\n\t* cobol.dg/group2/Complex_HEX__VALUE_and_MOVE_-_UTF-16.out: Removed.\n\t* cobol.dg/group2/DISPLAY__Sign_ASCII.out: Removed.\n\t* cobol.dg/group2/Non-numeric_data_in_numeric_items__2_.cob: Removed.\n\t* cobol.dg/group2/DISPLAY__Sign_ASCII.cob: Removed.\n\t* cobol.dg/group2/BINARY_and_COMP-5__little-endian_.cob: New test.\n\t* cobol.dg/group2/BINARY_and_COMP-5__little-endian_.out: New test.\n\t* cobol.dg/group2/Checking_IS_NUMERIC.cob: New test.\n\t* cobol.dg/group2/Checking_IS_NUMERIC.out: New test.\n\t* cobol.dg/group2/Non-numeric_data_in_numeric-display__1_.cob: New test.\n\t* cobol.dg/group2/Non-numeric_data_in_packed_decimal.cob: New test.\n\t* cobol.dg/group2/Non-numeric_data_in_packed_decimal.out: New test.\n\t* cobol.dg/group2/Numeric-display_sign_encoding__2_.cob: New test.\n\t* cobol.dg/group2/Numeric-display_sign_encoding__2_.out: New test.\n\t* cobol.dg/group2/Numeric-display_sign_encoding_sanity_check.cob: New test.\n\t* cobol.dg/group2/Numeric-display_sign_encoding_sanity_check.out: New test.\n"
    },
    {
      "commit": "f935a7a9013d0748ba1f42dc532df3d278707bf6",
      "tree": "8696c92eee940c3d6fa7a188d22ddb1806010e18",
      "parents": [
        "755885f5424c5b843e8b82c3afb4aa1a1d4a6e58"
      ],
      "author": {
        "name": "Jerry DeLisle",
        "email": "jvdelisle@gcc.gnu.org",
        "time": "Thu Jul 09 19:24:49 2026 -0700"
      },
      "committer": {
        "name": "Jerry DeLisle",
        "email": "jvdelisle@gcc.gnu.org",
        "time": "Fri Jul 10 11:06:39 2026 -0700"
      },
      "message": "fortran: [PR126170] Fix LTO ICE in copy_function_or_variable\n\nA redundant USE of a module already visible via host association,\nwritten inside a contained procedure, caused gfortran\u0027s module\nreader to create a second copy of that module\u0027s derived\ntype.\n\nPR fortran/126170\n\ngcc/fortran/ChangeLog:\n\n\tPR fortran/126170\n\t* class.cc (gfc_find_derived_vtab): Fix up a stale\n\tnon-use-associated duplicate vtab symbol.\n\t(gfc_is_finalizable): Same fix-up, for the finalizer wrapper\n\tsymbol.\n\t* module.cc (read_module): Skip re-importing a symbol already\n\tvisible via host association from the same module.\n\ngcc/testsuite/ChangeLog:\n\n\tPR fortran/126170\n\t* gfortran.dg/lto/pr126170_0.f90: New test.\n\t* gfortran.dg/lto/pr126170_1.f90: New test.\n"
    },
    {
      "commit": "755885f5424c5b843e8b82c3afb4aa1a1d4a6e58",
      "tree": "1893416fc2027cabe817dedcb0daee1fa7799311",
      "parents": [
        "940db23b6b8461a97eead393a1adf85ef0905862"
      ],
      "author": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:25:24 2026 +0200"
      },
      "committer": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:25:24 2026 +0200"
      },
      "message": "testsuite: Fix gcc.target/x86_64/abi tests on NetBSD\n\nSeveral of the gcc.target/x86_64/abi tests FAIL on NetBSD/amd64:\n\nFAIL: gcc.target/x86_64/abi/ms-sysv/ms-sysv.c -mcall-ms2sysv-xlogues -O0 -g3 \"-DGEN_ARGS\u003d-p0\\ --omit-rbp-clobbers\" (test for excess errors)\nExcess errors:\ngcc.target/x86_64/abi/ms-sysv/ms-sysv.c:394:19: warning: array subscript has type \u0027char\u0027 [-Wchar-subscripts]\n\nFAIL: gcc.target/x86_64/abi/ms-sysv/ms-sysv.c  -O2 \"-DGEN_ARGS\u003d-p1\" (test for ex\ncess errors)\nExcess errors:\ngcc.target/x86_64/abi/ms-sysv/ms-sysv.c:394:19: warning: array subscript has type \u0027char\u0027 [-Wchar-subscripts]\ngcc/ms-sysv/ms-sysv-generated.h:42:1: error: bp cannot be used in \u0027asm\u0027 here\n\nThe first issue is fixed by casting the isspace arg to unsigned char,\nthe second matches the fix for FreeBSD/amd64:\n\ncommit ffc4b179a3bc254b7303d7f9ddbe3e9291851cec\nAuthor: Rainer Orth \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\nDate:   Sat Apr 25 05:10:01 2026 +0200\n\n    testsuite: Fix gcc.target/x86_64/abi tests on FreeBSD\n\nTested on amd64-pc-netbsd10.1, amd64-pc-freebsd15.1, i386-pc-solaris2.11,\nand x86_64-pc-linux-gnu.\n\n2026-07-10  Rainer Orth  \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\n\n\tgcc/testsuite:\n\t* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c (long_optarg): Cast\n\tisspace arg to unsigned char.\n\t* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp (runtest_ms_sysv): Add\n\t--omit-rbp-clobbers on NetBSD.\n"
    },
    {
      "commit": "940db23b6b8461a97eead393a1adf85ef0905862",
      "tree": "89456882e4e9d1cd990f2665ad1e99b71a9c4857",
      "parents": [
        "dadfcb36d905c619f196106ceea6e0f37831f5be"
      ],
      "author": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:12:55 2026 +0200"
      },
      "committer": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:12:55 2026 +0200"
      },
      "message": "c++: modules: Allow for EOPNOTSUPP error from posix_fallocate\n\nAll g++/modules tests SEGV on NetBSD/amd64 in a ZFS build directory.\nThis is similar to the FreeBSD case:\n\ncommit a94156b8ee7165c32f73f9cd11c9b8f3b8687d3b\nAuthor: Rainer Orth \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\nDate:   Tue May 5 10:23:12 2026 +0200\n\n    c++: modules: Fix posix_fallocate error handling\n\nHowever, posix_fallocate returns EOPNOTSUPP here, which is distinct from\nENOTSUP.\n\nThis patch allows for both, providing a fallback definition since\nEOPNOTSUPP may be missing.\n\nBootstrapped without regressions on amd64-pc-netbsd10.1,\nx86_64-pc-linux-gnu, and i386-pc-solaris2.11.\n\n2026-07-08  Rainer Orth  \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\n\n\tgcc/cp:\n\t* module.cc (EOPNOTSUPP): Provide fallback.\n\t(elf_out::create_mapping) [HAVE_POSIX_FALLOCATE]: Allow for\n\tEOPNOTSUPP result.\n"
    },
    {
      "commit": "dadfcb36d905c619f196106ceea6e0f37831f5be",
      "tree": "5b14d1b1a691c3e68643ae1bfac0032f0db6d943",
      "parents": [
        "38d41abb75838df35493f150ef756846360b9543"
      ],
      "author": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:10:16 2026 +0200"
      },
      "committer": {
        "name": "Rainer Orth",
        "email": "ro@CeBiTec.Uni-Bielefeld.DE",
        "time": "Fri Jul 10 19:10:16 2026 +0200"
      },
      "message": "libphobos: Disable .note.GNU-stack on NetBSD\n\nWhen linking with a static libgphobos on NetBSD/amd64, gld 2.46 warns\n\ngld-2.46: warning: /usr/lib/crtn.o: missing .note.GNU-stack section implies executable stack\n\nThis is caused by libdruntime/config/common/threadasm.S including the\nnote on NetBSD.  This was introduced in the original druntime repo with\n\ncommit 3d8d4a45c01832fb657c16a656b6e1566d77fb21\nAuthor: Nikolay Tolstokulakov \u003ctolstokulakov.n@laximo.ru\u003e\nDate:   Thu Feb 4 13:40:21 2016 +0600\n\n    netbsd patch\n\napparently by simply matching what FreeBSD and OpenBSD do.  However,\nNetBSD doesn\u0027t use those notes: TARGET_ASM_FILE_END isn\u0027t defined and\nthe bundled GCC 10.5.0 doesn\u0027t emit it either.\n\nTherefore this patch omits it.\n\nThe same issue is still present in upstream DMD in\ndruntime/src/core/thread/fiber/switch_context_asm.S.\n\nBootstapped without regressions on amd64-pc-netbsd10.1.\n\n2026-07-05  Rainer Orth  \u003cro@CeBiTec.Uni-Bielefeld.DE\u003e\n\n\tlibphobos:\n\t* libdruntime/config/common/threadasm.S: Don\u0027t emit\n\t.note.GNU-stack on NetBSD.\n"
    },
    {
      "commit": "38d41abb75838df35493f150ef756846360b9543",
      "tree": "5d1519ea43127090a33dd5686b7ecc5f59bb5ae5",
      "parents": [
        "0ac16fdbee1509efe9cbdee89ae9fa7be9b87e78"
      ],
      "author": {
        "name": "Jim Lin",
        "email": "jim@andestech.com",
        "time": "Fri Jul 10 10:43:04 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Fri Jul 10 10:43:04 2026 -0600"
      },
      "message": "RISC-V: Don\u0027t drop multilibs matching the default march/mabi\n\nA multilib entry that shares march/mabi with the default may\ndiffer in other options such as mcmodel, so it is not equivalent\nto the default multilib.  Stop returning false for these entries\nin riscv_multi_lib_info_t::parse so they are still recorded.\n\ngcc/ChangeLog:\n\n\t* common/config/riscv/riscv-common.cc\n\t(riscv_multi_lib_info_t::parse): Remove early-out for multilibs\n\tmatching only the default march/mabi.\n"
    },
    {
      "commit": "0ac16fdbee1509efe9cbdee89ae9fa7be9b87e78",
      "tree": "4614452669aa799541f0a03e0ef7f5dc7ad9a9e7",
      "parents": [
        "c8a5c1d6ed236aea3ff2012ee8947b48a303569b"
      ],
      "author": {
        "name": "Pengfei Li",
        "email": "Pengfei.Li2@arm.com",
        "time": "Tue Jul 07 15:09:53 2026 +0000"
      },
      "committer": {
        "name": "Pengfei Li",
        "email": "Pengfei.Li2@arm.com",
        "time": "Fri Jul 10 15:42:18 2026 +0000"
      },
      "message": "match.pd: Eliminate dead operand in vector permute and insert patterns\n\nWhen shifting a vector by one element and then inserting a new element\ninto the vacated lane, GIMPLE can contain a VEC_PERM_EXPR followed by a\nBIT_INSERT_EXPR. For example, the testcase in this patch has:\n\n\t_1 \u003d VEC_PERM_EXPR \u003cv_2(D), { 0, 0, 0, 0 }, { 1, 2, 3, 4 }\u003e;\n\tshifted_4 \u003d BIT_INSERT_EXPR \u003c_1, val_3(D), 96 (32 bits)\u003e;\n\nOn AArch64, GCC currently generates:\n\n\tmovi    v31.4s, 0\n\text     v0.16b, v0.16b, v31.16b, #4\n\tins     v0.s[3], w0\n\nHere the zero vector is only used to fill the lane that is immediately\noverwritten by the insertion.\n\nThis patch adds a match.pd pattern to detect when all live lanes of the\nVEC_PERM_EXPR result come from a single source operand, and replaces the\nother operand if the updated VEC_PERM_EXPR is still supported by the\ntarget. This avoids materializing a zero filler vector. After this\npatch, GCC will generate:\n\n\text     v0.16b, v0.16b, v0.16b, #4\n\tins     v0.s[3], w0\n\nBootstrapped and tested on aarch64-linux-gnu and x86_64-linux-gnu.\n\ngcc/ChangeLog:\n\n\t* match.pd: Simplify vector permute and insert patterns.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/fold-vecperm-insert-1.c: New test.\n"
    },
    {
      "commit": "c8a5c1d6ed236aea3ff2012ee8947b48a303569b",
      "tree": "969a544262fd78bc2dcbe3d2823b8d19a7c21a2c",
      "parents": [
        "fe37b9c1c4ecb5dbb3762755ad1bd6eccf524afd"
      ],
      "author": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 16:27:34 2026 +0200"
      },
      "committer": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 16:59:19 2026 +0200"
      },
      "message": "libstdc++: Fix typos in comment in start_lifetime_as/neg.cc.\n\nFix typos in comment pointed by Jakub and remove trailing\nwhitespaces.\n\nlibstdc++-v3/ChangeLog:\n\n\t* testsuite/std/memory/start_lifetime_as/neg.cc: Fix\n\ttypos in comment and remove trailing whitespaces.\n"
    },
    {
      "commit": "fe37b9c1c4ecb5dbb3762755ad1bd6eccf524afd",
      "tree": "a82d9cb67138dc10c029bf2a9c3bc6538b8ec0df",
      "parents": [
        "1df48a01e07e30592e0119232b1aaf3d41be03f4"
      ],
      "author": {
        "name": "James K. Lowden",
        "email": "jklowden@cobolworx.com",
        "time": "Thu Jul 09 15:36:50 2026 -0400"
      },
      "committer": {
        "name": "James K. Lowden",
        "email": "jklowden@cobolworx.com",
        "time": "Fri Jul 10 10:43:22 2026 -0400"
      },
      "message": "cobol: Replace NUL input with space, with diagnostic.\n\nOld-school COBOL input may embed NUL characters in alphanumeric\nliterals. GNU Flex unfortunately treats NUL as end-of-file marker.\n\nDetect the situation in the lexio file-reader.  Replace NUL with\nSPACE, increment error count, and emit message. Fixes RT 3622.\n\n\t* lexio.h (parse_error_inc): Declare function.\n\t(struct filespan_t::next_line): Detect and remove NUL,\n"
    },
    {
      "commit": "1df48a01e07e30592e0119232b1aaf3d41be03f4",
      "tree": "f802a9b025652df3f6c0309348fbcc90db8dd2b9",
      "parents": [
        "600145403597f5b4dcc422eb28a2f1c21e8cca7e"
      ],
      "author": {
        "name": "Kael Andrew Franco",
        "email": "kaelfandrew@gmail.com",
        "time": "Fri Jul 10 08:28:13 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Fri Jul 10 08:28:13 2026 -0600"
      },
      "message": "[PATCH] match: Use tree_expr_nonnegative_p for (X / Y) (\u003d\u003d, !\u003d) 0 -\u003e X (\u003c,\u003e\u003d) Y [PR125738]\n\nTYPE_UNSIGNED did not cover non-negative X and Y so use tree_expr_nonnegative_p\nto relax condition on optimizations.\ngcc/testsuite/gcc.dg/tree-ssa/pr64130.c fails because match.pd optimize funsigned () before\nevrp pass. Fix this by removing funsigned () and one scan-tree-dump.\n\nBootstrapped and tested on x86_64-pc-linux-gnu.\n\n\tPR tree-optimization/125738\n\tPR tree-optimization/64130\n\ngcc/ChangeLog:\n\n\t* match.pd: Use tree_expr_nonnegative_p for (X / Y) (\u003d\u003d,!\u003d) 0 -\u003e X (\u003c,\u003e\u003d) Y.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/pr125738.c: New test.\n\t* gcc.dg/tree-ssa/pr64130.c: Remove scan-tree-dump [2, 8589934591].\n\t(funsigned): Remove.\n\t(funsigned2): Rename to funsigned.\n\nSigned-off-by: Kael Franco \u003ckaelfandrew@gmail.com\u003e\n"
    },
    {
      "commit": "600145403597f5b4dcc422eb28a2f1c21e8cca7e",
      "tree": "2733ad4ab0a20dee4b46d1e5273c105a52f740ca",
      "parents": [
        "62bc11d461f6e5a150c6c0593a0cec5851b76b19"
      ],
      "author": {
        "name": "Léo Hardt",
        "email": "leom.hardt@inf.ufrgs.br",
        "time": "Fri Jul 10 08:17:37 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Fri Jul 10 08:17:37 2026 -0600"
      },
      "message": "[PATCH] gm2,sel-sched-ir: Remove Unused Declarations from GCC.\n\nGood evening,\n\nThe two declarations mentioned below are not used.\nThis patch removes them from the code.\n\n * current_succs was introduced in e855c69, and\n   it is not used since then. Perhaps a previous\n   working version of the code used it and was\n   refactored away. One may note that there is\n   only one commit for \u0027git log -S current_succs\u0027,\n   and that it was featured on Jan\u0027s \"Unused Vars\"\n   e-mail from the year after it was added:\n\n   https://gcc.gnu.org/legacy-ml/gcc/2010-05/msg00688.html\n\n   If I might speculate, the comment suggests it was\n   supposed to hold the value of compute_succs_info,\n   but in the productive code, the value is simply\n   returned.\n\n * ggc_force_collect is an old variable, which\n   was made into a parameter of ggc_collect in\n   0edf2e81. An \u0027extern\u0027 declaration for it was\n   later added in 1eee94d, when merging the gm2\n   front-end into this repository.\n\nBootstrapped successfully on my machine.\n\ngcc/m2/ChangeLog:\n\n\t* plugin/m2rte.cc: Removed unused extern bool\n\tggc_force_collect.\n\ngcc/ChangeLog:\n\n\t* sel-sched-ir.cc (struct succs_info): Removed\n\tunused variable current_succs.\n"
    },
    {
      "commit": "62bc11d461f6e5a150c6c0593a0cec5851b76b19",
      "tree": "685b0b96151a4dfa9b20673f901afb4e9503aa11",
      "parents": [
        "8663c3db6e6177b96b7770b7d13ec7b74e1bac1c"
      ],
      "author": {
        "name": "Jonathan Wakely",
        "email": "jwakely@redhat.com",
        "time": "Fri Jun 05 15:51:23 2026 +0100"
      },
      "committer": {
        "name": "Jonathan Wakely",
        "email": "redi@gcc.gnu.org",
        "time": "Fri Jul 10 14:55:18 2026 +0100"
      },
      "message": "libstdc++: Fix Cylindrical Bessel functions for infinity [PR119143]\n\nThe result should be zero at infinity.\n\nlibstdc++-v3/ChangeLog:\n\n\tPR libstdc++/119143\n\t* include/tr1/bessel_function.tcc (__cyl_bessel_jn_asymp):\n\tReturn zero for infinite x.\n\t* testsuite/special_functions/08_cyl_bessel_j/check_inf.cc: New\n\ttest.\n\t* testsuite/special_functions/10_cyl_neumann/check_inf.cc: New\n\ttest.\n\t* testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_inf.cc:\n\tNew test.\n\t* testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_inf.cc:\n\tNew test.\n\nReviewed-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n"
    },
    {
      "commit": "8663c3db6e6177b96b7770b7d13ec7b74e1bac1c",
      "tree": "c92a9dc56620099af4545514e51d967208f1c039",
      "parents": [
        "ce964ffb653f7134f93b662a332a9467677066ac"
      ],
      "author": {
        "name": "Jonathan Wakely",
        "email": "jwakely@redhat.com",
        "time": "Tue Jul 07 18:59:30 2026 +0100"
      },
      "committer": {
        "name": "Jonathan Wakely",
        "email": "redi@gcc.gnu.org",
        "time": "Fri Jul 10 14:49:57 2026 +0100"
      },
      "message": "libstdc++: Adjust error handling for filesystem::read_symlink on Windows\n\nDo not set errno in the helper functions __open_for_stat and\n__check_handle_type, because those are used from std::filesystem APIs\nwhich should set a std::error_code instead of changing errno. Move\nsetting errno into the Windows-specific __stat_windows function and\nchange the helper functions to use a std::error_code parameter instead.\n\nAlso simplify the Windows implementation of fs::read_symlink by moving\nthe error handling for non-symlinks into windows_read_symlink_handle.\n\nlibstdc++-v3/ChangeLog:\n\n\t* src/c++17/fs_ops.cc (windows_read_symlink_handle): Use\n\t__detail::__is_handle_symlink and report an error for\n\tnon-symlinks.\n\t(filesystem::read_symlink): Remove error handling for\n\tnon-symlinks.\n\t* src/filesystem/ops-common.h (__detail::__open_for_stat): Use\n\tstd::error_code parameter to report errors instead of setting\n\terrno.\n\t(__detail::__check_handle_type): Likewise.\n\t(__detail::__is_handle_symlink): Likewise.\n\t(__detail::__stat_windows): Pass std::error_code to helper\n\tfunctions and set errno to report errors.\n\nReviewed-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n"
    },
    {
      "commit": "ce964ffb653f7134f93b662a332a9467677066ac",
      "tree": "e2e1b349421dbb3998cca26bf43014226577473d",
      "parents": [
        "875a6c6192a68f75ad213f2a1b3804e7724073e7"
      ],
      "author": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 15:02:13 2026 +0200"
      },
      "committer": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 15:09:55 2026 +0200"
      },
      "message": "libstdc++: Test has_unique_object_representations with incomplete types.\n\nCovers LWG4113, \"Disallow has_unique_object_representations\u003cIncomplete[]\u003e\".\n\nlibstdc++-v3/ChangeLog:\n\n\t* testsuite/20_util/has_unique_object_representations/neg.cc:\n\tNew test.\n"
    },
    {
      "commit": "875a6c6192a68f75ad213f2a1b3804e7724073e7",
      "tree": "c010a0616b0a7fa0d80f9182f52a62e989c39eb0",
      "parents": [
        "7fa4a7d62fb895088e387457654a8e5c61983157"
      ],
      "author": {
        "name": "Daniel Barboza",
        "email": "daniel.barboza@oss.qualcomm.com",
        "time": "Thu Apr 09 08:40:11 2026 -0300"
      },
      "committer": {
        "name": "Daniel Barboza",
        "email": "daniel.barboza@oss.qualcomm.com",
        "time": "Fri Jul 10 09:28:28 2026 -0300"
      },
      "message": "match.pd: right shift compare canonicalization [PR124808]\n\nCanonicalize right shift non-equality comparisons with constants by\nturn them into a comparison with a left shifted constant.  Assuming the\ngeneric format:\n\n(A \u003e\u003e CST1) CMP CST2\n\nFor CMP (\u003c, \u003e\u003d) we\u0027ll compare A with CST2 left shifted by CST1:\n\n- (A \u003e\u003e CST1) \u003c CST2  -\u003e A \u003c (CST2 \u003c\u003c CST1)\n- (A \u003e\u003e CST1) \u003e\u003d CST2 -\u003e A \u003e\u003d (CST2 \u003c\u003c CST1)\n\nAnd for CMP (\u003c\u003d, \u003e) we need to IOR the lower CST1 bits from the left\nshift:\n\n- (A \u003e\u003e CST1) \u003c\u003d CST2 -\u003e A \u003c\u003d (CST2 \u003c\u003c CST1) | mask\n- (A \u003e\u003e CST1) \u003e CST2  -\u003e A \u003e (CST2 \u003c\u003c CST1) | mask\n\nGiven that the right hand side changes involves just constants, in the\nend we\u0027ll replace a rshift + cmp with just a cmp.\n\nBootstrapped and regression tested in x86, aarch64 and RISC-V.\n\n\tPR tree-optimization/124808\n\ngcc/ChangeLog:\n\n\t* match.pd(`(A \u003e\u003e CST1) CMP CST2`): New pattern.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.dg/tree-ssa/pr124808-2.c: New test.\n\t* gcc.dg/tree-ssa/pr124808.c: New test.\n"
    },
    {
      "commit": "7fa4a7d62fb895088e387457654a8e5c61983157",
      "tree": "9799383acd426abde50ca5650a050968f9cca9c2",
      "parents": [
        "c8c1f777617df6f1816900b779f32c80e016d7bd"
      ],
      "author": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 13:17:13 2026 +0200"
      },
      "committer": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 14:09:35 2026 +0200"
      },
      "message": "libstdc++: Mandate complete type for start_lifetime_as_array.\n\nThis implements remaining part of P2679R2, \"Fixing std::start_lifetime_as\nand std::start_lifetime_as_array\".\n\nFor incomplete type _Tp, the is_implicit_lifetime_v\u003c_Tp\u003e check inside\nstart_lifetime_as already leads to following \"invalid use of incomplete\ntype \u0027struct Incomplete\u0027\" error.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/bits/stl_construct.h (std::start_lifetime_as_array):\n\tstatic_assert that _Tp is complete type.\n\t* testsuite/std/memory/start_lifetime_as/neg.cc: New test.\n\nReviewed-by: Jonathan Wakely \u003cjwakely@redhat.com\u003e\nSigned-off-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n"
    },
    {
      "commit": "c8c1f777617df6f1816900b779f32c80e016d7bd",
      "tree": "f3def572e7803bd197f6326538de9be2871517b1",
      "parents": [
        "20b4b5e6b4344dbbf06b8faa8389885bcc7aa544"
      ],
      "author": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 08:43:02 2026 +0200"
      },
      "committer": {
        "name": "Tomasz Kamiński",
        "email": "tkaminsk@redhat.com",
        "time": "Fri Jul 10 12:45:10 2026 +0200"
      },
      "message": "libstdc++: Validate bound consistently in repeat_view constructors.\n\nAdd checks for bound being non-negative to _Tp\u0026\u0026 __value and\npiecewise_construct_t constructor. The later resolves LWG3772,\n\"repeat_view\u0027s piecewise constructor is missing Postconditions\".\n\nWe use __detail::__is_signed_integer_like\u003c_Bound\u003e as the condition\nfor performing the check, to avoid checking it for unsigned integers\nfor which it is trivially met. As _Bound is constrained to either\nunreachable_sentinel_t or integer-like, this gives equivalent behavior\nto standard specified !same_as\u003c_Bound, unreachable_sentinel_t\u003e.\n\nlibstdc++-v3/ChangeLog:\n\n\t* include/std/ranges (repeat_view::repeat_view): Assert that\n\t__bound \u003e\u003d 0 consistently. Replace !same_as\u003cunreachable_sentinel\u003e\n\twith __is_signed_integer_like check.\n\nReviewed-by: Jonathan Wakely \u003cjwakely@redhat.com\u003e\nSigned-off-by: Tomasz Kamiński \u003ctkaminsk@redhat.com\u003e\n"
    },
    {
      "commit": "20b4b5e6b4344dbbf06b8faa8389885bcc7aa544",
      "tree": "17b03c349f7ff52d1ef688e3735c7586836b13b5",
      "parents": [
        "3a578f6fcb8b9e1b84584dc8a789dafa80c9e2ae"
      ],
      "author": {
        "name": "Thomas Schwinge",
        "email": "tschwinge@baylibre.com",
        "time": "Wed Jul 08 23:13:17 2026 +0200"
      },
      "committer": {
        "name": "Arsen Arsenović",
        "email": "arsen@gcc.gnu.org",
        "time": "Fri Jul 10 11:46:15 2026 +0200"
      },
      "message": "gcc/system.h: Allow for \u0027#define INCLUDE_ITERATOR\u0027 to \u0027#include \u003citerator\u003e\u0027\n\nThis avoids:\n\n    In file included from /gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/bits/basic_ios.h:37:0,\n                     from /gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/ios:44,\n                     from /gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/ostream:38,\n                     from /gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/iterator:64,\n                     from ../../source-gcc/gcc/[...]\n    /gnu/store/jdibb0iw7n0y56pq3rvz9fmzb4j60acr-gcc-5.5.0/include/c++/bits/locale_facets.h:247:53: error: macro \"toupper\" passed 2 arguments, but takes just 1\n           toupper(char_type *__lo, const char_type* __hi) const\n                                                         ^\n    [...]\n\n\tgcc/\n\t* system.h [INCLUDE_ITERATOR]: \u0027#include \u003citerator\u003e\u0027.\n"
    },
    {
      "commit": "3a578f6fcb8b9e1b84584dc8a789dafa80c9e2ae",
      "tree": "c482fca367c5855cb0611065d1af6d5437a88906",
      "parents": [
        "b208156a2b3cf1e4f989d3d5fea65095453d5dcb"
      ],
      "author": {
        "name": "Arsen Arsenović",
        "email": "aarsenovic@baylibre.com",
        "time": "Fri Jun 19 18:21:14 2026 +0000"
      },
      "committer": {
        "name": "Arsen Arsenović",
        "email": "arsen@gcc.gnu.org",
        "time": "Fri Jul 10 11:46:15 2026 +0200"
      },
      "message": "gcc/cp-tree: require that temp_override deduces on first constructor arg\n\nThis helps force a conversion from the second argument into whatever\ntype the variable truly is.\n\nThis change ended up being unnecessary, but it is probably useful for\nothers anyway.\n\ngcc/cp/ChangeLog:\n\n\t* cp-tree.h (temp_override): In provided-value constructor,\n\tdon\u0027t deduce based on provided value.\n"
    },
    {
      "commit": "b208156a2b3cf1e4f989d3d5fea65095453d5dcb",
      "tree": "fb9f4a83be2959f2299b643679181fefcf1c67a9",
      "parents": [
        "f7a75a1506d91fcc76890732a0f720952e01e8fa"
      ],
      "author": {
        "name": "Mark Wielaard",
        "email": "mark@klomp.org",
        "time": "Fri Jul 10 11:25:59 2026 +0200"
      },
      "committer": {
        "name": "Mark Wielaard",
        "email": "mark@klomp.org",
        "time": "Fri Jul 10 11:25:59 2026 +0200"
      },
      "message": "Regenerate i386.opt.urls\n\nriscv also got an -munroll-only-small-loops option. This means that\nthe doc urls for the existing -munroll-only-small-loops for i386 got\nrenamed (so they have distinct names). riscv.opt.urls already got\nregenerated. Now also regenerate i386.opt.urls\n\nFixes: d15703b27aa4 RISC-V: Add small loop unrolling support via -munroll-only-small-loops\n\ngcc/ChangeLog:\n\n\t* config/i386/i386.opt.urls: Regenerate.\n"
    },
    {
      "commit": "f7a75a1506d91fcc76890732a0f720952e01e8fa",
      "tree": "33a7d19d2a970bee4b7fcfe6aa66906d9a58f692",
      "parents": [
        "619b1f8b85d54930c17c608698658ac7cd45e5f1"
      ],
      "author": {
        "name": "Konstantinos Eleftheriou",
        "email": "konstantinos.eleftheriou@vrull.eu",
        "time": "Sat Jun 14 17:39:54 2025 +0200"
      },
      "committer": {
        "name": "Philipp Tomsich",
        "email": "philipp.tomsich@vrull.eu",
        "time": "Fri Jul 10 10:05:59 2026 +0200"
      },
      "message": "fold-mem-offsets: Convert from DF to RTL-SSA\n\nThis patch converts the fold-mem-offsets pass from DF to RTL-SSA.\nAlong with this conversion, the way the pass collects information was\ncompletely reworked.  Instead of visiting each instruction multiple\ntimes, this is now done only once.\n\nMost significant changes are:\n* The pass operates mainly on insn_info objects from RTL-SSA.\n* Single iteration over all nondebug INSNs for identification\n  of fold-mem-roots.  Then walk of the fold-mem-roots\u0027 DEF-chain\n  to collect foldable constants.\n* The class fold_mem_info holds vectors for the DEF-chain of\n  the to-be-folded INSNs (fold_agnostic_insns, which don\u0027t need\n  to be adjusted, and fold_insns, which need their constant to\n  be set to zero).\n* Introduction of a single-USE mode, which only collects DEFs,\n  that have a single USE and therefore are safe to transform\n  (the fold-mem-root will be the final USE).  This mode is fast\n  and will always run (unless disabled via -fno-fold-mem-offsets).\n* Introduction of a multi-USE mode, which allows DEFs to have\n  multiple USEs, but all USEs must be part of any fold-mem-root\u0027s\n  DEF-chain.  The analysis of all USEs is expensive and therefore,\n  this mode is disabled for highly connected CFGs, unless\n  -fexpensive-optimizations (enabled by default at -O2) forces it on.\n  Note that multi-USE mode will miss some opportunities that the\n  single-USE mode finds (e.g. multi-USE mode fails for\n  fold-mem-offsets-3.c).\n\nThe following testing was done:\n* Bootstrapped and regtested on aarch64-linux, x86-64-linux and\n  arm-linux.\n* SPEC CPU tested on aarch64.\n\nA compile time analysis with\n  `/bin/time -v ./install/usr/local/bin/gcc -O2 all.i`\n(all.i from PR117922) shows:\n * -fno-fold-mem-offsets:    1681 s (user time)\n                             23626232 kBytes (max resident set size)\n * -ffold-mem-offsets:       1849 s (user time)\n                             23625708 kBytes (max resident set size)\n\nMulti-USE mode (on by default at -O2 via -fexpensive-optimizations) does\nnot have an impact on the duration or the memory footprint.\n\ngcc/ChangeLog:\n\n\tPR rtl-optimization/117922\n\t* fold-mem-offsets.cc (INCLUDE_ALGORITHM):  Added definition.\n\t(INCLUDE_FUNCTIONAL): Likewise.\n\t(class pass_fold_mem_offsets): Moved to bottom of file.\n\t(class change_info): New.\n\t(def_shadowed_by_cond_exec_p): New.\n\t(get_single_def_in_bb): Converted to RTL-SSA.\n\t(get_fold_mem_offset_root): Converted to RTL-SSA.\n\t(get_uses): Removed.\n\t(fold_offsets): Converted to RTL-SSA.\n\t(fold_offsets_value): New.\n\t(fold_offsets_1): Converted to RTL-SSA.\n\t(has_foldable_uses_p): Converted to RTL-SSA.\n\t(get_fold_mem_root): Removed.\n\t(insn_uses_not_in_bitmap): New.\n\t(drop_unsafe_candidates): New.\n\t(do_commit_offset): Converted to RTL-SSA.\n\t(do_analysis): Removed.\n\t(do_commit_insn): Converted to RTL-SSA.\n\t(do_fold_info_calculation): Removed.\n\t(sort_changes): New.\n\t(struct regno_changes): New.\n\t(sort_pairs): New.\n\t(do_check_validity): Removed.\n\t(get_last_def): New.\n\t(move_uses_to_prev_def): New.\n\t(compute_validity_closure): Removed.\n\t(change_in_vec_p): New.\n\t(cancel_changes_for_group): New.\n\t(find_keys_to_remove): New.\n\t(free_changes_info): New.\n\t(update_insns): New.\n\t(fold_mem_offsets_1): New.\n\t(pass_fold_mem_offsets::execute): Moved to bottom of file.\n\t(fold_mem_offsets): New.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.target/aarch64/fold-mem-offsets.C: New test.\n\t* gcc.target/aarch64/fold-mem-offsets.c: New test.\n\nSigned-off-by: Philipp Tomsich \u003cphilipp.tomsich@vrull.eu\u003e\n"
    },
    {
      "commit": "619b1f8b85d54930c17c608698658ac7cd45e5f1",
      "tree": "f303a847fff0c8dd4d2f8568bdc639295c95fe45",
      "parents": [
        "44bf2e20c4eef737d461bfa566e78aaa3ad59948"
      ],
      "author": {
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com",
        "time": "Fri Jul 10 09:13:37 2026 +0200"
      },
      "committer": {
        "name": "Jakub Jelinek",
        "email": "jakub@gcc.gnu.org",
        "time": "Fri Jul 10 09:13:37 2026 +0200"
      },
      "message": "c++: Don\u0027t advertise __has_cpp_attribute (gnu::trivial_abi)\n\nI\u0027ve noticed we advertise __has_cpp_attribute (gnu::trivial_abi)\nand __has_attribute (gnu::trivial_abi).  It is true we have\ngnu::trivial_abi in the tables, but solely to give errors on those\nwhen using the gnu:: scope and to suggest [[clang::trivial_abi]]\nor __attribute__((trivial_abi)).\n\n2026-07-10  Jakub Jelinek  \u003cjakub@redhat.com\u003e\n\n\tPR c++/107187\n\t* c-lex.cc (c_common_has_attribute): Don\u0027t advertise\n\t__has_cpp_attribute (gnu::trivial_abi) in C++.\n\n\t* g++.dg/cpp0x/attr-trivial_abi8.C: New test.\n\nReviewed-by: Jason Merrill \u003cjason@redhat.com\u003e\n"
    },
    {
      "commit": "44bf2e20c4eef737d461bfa566e78aaa3ad59948",
      "tree": "eb1c6fa2893f4c985c352a84701db8c5cc11fbb2",
      "parents": [
        "bcde988003026d127541c0fd2f750c6612af81bd"
      ],
      "author": {
        "name": "Thomas Schwinge",
        "email": "tschwinge@baylibre.com",
        "time": "Fri Jul 10 00:52:46 2026 +0200"
      },
      "committer": {
        "name": "Thomas Schwinge",
        "email": "tschwinge@baylibre.com",
        "time": "Fri Jul 10 08:46:40 2026 +0200"
      },
      "message": "nvptx: Resolve \u0027flexible_array_member_type_p\u0027 conflict\n\n    [...]/source-gcc/gcc/config/nvptx/nvptx.cc:2485:1: error: ‘bool flexible_array_member_type_p(const_tree)’ was declared ‘extern’ and later ‘static’ [-fpermissive]\n     2485 | flexible_array_member_type_p (const_tree type)\n          | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    In file included from [...]/source-gcc/gcc/config/nvptx/nvptx.cc:30:\n    [...]/source-gcc/gcc/tree.h:7022:13: note: previous declaration of ‘bool flexible_array_member_type_p(const_tree)’\n     7022 | extern bool flexible_array_member_type_p (const_tree);\n          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThat\u0027s due to recent commit ed1d15e94f5ce28a9fdba6e3b255efef420c93f0\n\"c: harmonize checking for flex array member type\".\n\n\tgcc/\n\t* config/nvptx/nvptx.cc (flexible_array_member_type_p): Rename to\n\t\u0027nvptx_flexible_array_member_type_p\u0027.\n"
    },
    {
      "commit": "bcde988003026d127541c0fd2f750c6612af81bd",
      "tree": "5de42ed538a05e0be4bd0748d048f5d27756897b",
      "parents": [
        "1f949c2f1ab60a8b3e3d99faff337a921150d2f4"
      ],
      "author": {
        "name": "Eric Botcazou",
        "email": "ebotcazou@adacore.com",
        "time": "Fri Jul 10 08:37:12 2026 +0200"
      },
      "committer": {
        "name": "Eric Botcazou",
        "email": "ebotcazou@adacore.com",
        "time": "Fri Jul 10 08:39:32 2026 +0200"
      },
      "message": "Ada: Suppress access checks during analysis of expanded dispatching calls\n\nExpanded dispatching calls had been historically analyzed with all checks\ndisabled, but this was recently changed, thus causing the generation of a\nlot of additional and useless access checks.\n\ngcc/ada/\n\t* exp_disp.adb (Expand_Dispatching_Call): Reenable the suppression\n\tof access checks during analysis of expanded dispatching calls.\n"
    },
    {
      "commit": "1f949c2f1ab60a8b3e3d99faff337a921150d2f4",
      "tree": "99feaff3a1eb5eb5f1994fdd0779225f6beddf12",
      "parents": [
        "ae29eb3e2d4efeb4175060582d9eb665ff1813d2"
      ],
      "author": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Thu Jul 09 20:48:00 2026 -0600"
      },
      "committer": {
        "name": "Jeff Law",
        "email": "jeffrey.law@oss.qualcomm.com",
        "time": "Thu Jul 09 20:48:00 2026 -0600"
      },
      "message": "Fix m68k bootstrap due to diagnostic\n\nAndreas S. noted I put the !! in the wrong place and should have kept\nthe macro parameter in its own parens.  Fix with the attached patch.\n\ngcc\n\t* config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Adjust parens\n\tso they wrap the macro parameter.\n"
    },
    {
      "commit": "ae29eb3e2d4efeb4175060582d9eb665ff1813d2",
      "tree": "d9ee2d568ba0e363c6c6192d383001f3e63569df",
      "parents": [
        "cc621069b211cccbb7b8e0e7fc5c1138ffd4704a"
      ],
      "author": {
        "name": "Pan Li",
        "email": "pan2.li@intel.com",
        "time": "Wed Jul 08 21:55:33 2026 +0800"
      },
      "committer": {
        "name": "Pan Li",
        "email": "pan2.li@intel.com",
        "time": "Fri Jul 10 09:55:31 2026 +0800"
      },
      "message": "RISC-V: Adjust test case due to vf[sz]ext.vf4 overlap\n\nRemove the xfail due to vf4 changes.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/riscv/rvv/base/pr112431-16.c: Remove xfail.\n\t* gcc.target/riscv/rvv/base/pr112431-17.c: Ditto.\n\nSigned-off-by: Pan Li \u003cpan2.li@intel.com\u003e\n"
    },
    {
      "commit": "cc621069b211cccbb7b8e0e7fc5c1138ffd4704a",
      "tree": "ade3b113c3178583cfd2b9109d13c130de361181",
      "parents": [
        "e45e4854b81b9fe75ebf2c0af7f9004cb1ea87d0"
      ],
      "author": {
        "name": "Pan Li",
        "email": "pan2.li@intel.com",
        "time": "Wed Jul 08 13:57:43 2026 +0800"
      },
      "committer": {
        "name": "Pan Li",
        "email": "pan2.li@intel.com",
        "time": "Fri Jul 10 09:55:30 2026 +0800"
      },
      "message": "RISC-V: Adjust the scan asm for v[sz]ext.vf2 for v1 and v12\n\nThe previous match v1 may match the v12 as well, therefore\nadd the non-num boundary.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m1.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-m4.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i16-mf4.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m1.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-m2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i32-mf2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m1.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-m2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf2.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf4.c:\n\t* gcc.target/riscv/rvv/autovec/group_overlap/vsext_vf2-i8-mf8.c:\n\nSigned-off-by: Pan Li \u003cpan2.li@intel.com\u003e\n"
    }
  ],
  "next": "e45e4854b81b9fe75ebf2c0af7f9004cb1ea87d0"
}
