)]}'
{
  "commit": "ff88e7524fd8cb2f8af76df2f7bb7425e5e6ac33",
  "tree": "f90328de97dd3480a6efe67ad1e89a48618b7b09",
  "parents": [
    "745f38daed24e4bffb27e5ef27d6900aee26cc4a"
  ],
  "author": {
    "name": "Lars Kellogg-Stedman",
    "email": "lars@oddbit.com",
    "time": "Fri Jun 05 12:27:29 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 05 17:27:29 2026 +0100"
  },
  "message": "Fix build errors with gcc 16.1.1 (#319)\n\nResolve build failures with gcc 16.1.1 by moving the C++ standard library\nincludes before the pico-sdk includes so that `__unused` is defined before\nit is used.\n\nWithout these changes, the build fails with:\n\n    In file included from /home/lars/src/pico-sdk/src/common/boot_picoboot_headers/include/boot/picoboot.h:15,\n                    from /home/lars/src/picotool/model/model.h:8,\n                    from /home/lars/src/picotool/model/model.cpp:1:\n    /usr/include/bits/struct_mutex.h:35:9: error: declaration does not declare anything [-fpermissive]\n      35 |   short __unused;\n          |         ^~~~~~~~\n    In file included from /usr/include/c++/16/x86_64-redhat-linux/bits/gthr-default.h:35,\n                    from /usr/include/c++/16/x86_64-redhat-linux/bits/gthr.h:157,\n                    from /usr/include/c++/16/ext/atomicity.h:37,\n                    from /usr/include/c++/16/bits/shared_ptr_base.h:61,\n                    from /usr/include/c++/16/bits/shared_ptr.h:53,\n                    from /usr/include/c++/16/memory:82,\n                    from /home/lars/src/picotool/model/model.h:43:\n    /usr/include/c++/16/ext/concurrence.h:124:34: error: cannot convert ‘\u003cbrace-enclosed initializer list\u003e’ to ‘__pthread_internal_list*’ in initialization\n      124 |     __gthread_mutex_t _M_mutex \u003d __GTHREAD_MUTEX_INIT;\n          |                                  ^~~~~~~~~~~~~~~~~~~~\n    /usr/include/c++/16/ext/concurrence.h:179:44: error: cannot convert ‘\u003cbrace-enclosed initializer list\u003e’ to ‘__pthread_internal_list*’ in initialization\n      179 |     __gthread_recursive_mutex_t _M_mutex \u003d __GTHREAD_RECURSIVE_MUTEX_INIT;\n          |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n    make[2]: *** [model/CMakeFiles/model.dir/build.make:79: model/CMakeFiles/model.dir/model.cpp.o] Error 1\n    make[1]: *** [CMakeFiles/Makefile2:802: model/CMakeFiles/model.dir/all] Error 2\n    make: *** [Makefile:136: all] Error 2\n\nSigned-off-by: Lars Kellogg-Stedman \u003clars@oddbit.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17bf8243386fb30db299f4d48b54be8a49654b6e",
      "old_mode": 33188,
      "old_path": "model/model.h",
      "new_id": "8ef3c05a48f3e13bc2ce28874625d5ca23a6ee59",
      "new_mode": 33188,
      "new_path": "model/model.h"
    }
  ]
}
