)]}'
{
  "commit": "dfdcc5bdbcd1354f95f50c59b2fa326bb06d89da",
  "tree": "214d1a4650363e2a68e646e5f061e4b5bbecb62d",
  "parents": [
    "87a57c111a8f5667d363bac7cda4b42bb6ff01b3"
  ],
  "author": {
    "name": "Joseph Huber",
    "email": "jhuber6@vols.utk.edu",
    "time": "Wed Jul 19 18:03:02 2023 -0500"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 20 06:15:11 2023 -0700"
  },
  "message": "[libc] Remove global constructors on File type\n\nThe `File` interface currently has a destructor to delete the buffer if\nit is owned by the file. This is problematic for the globally allocated\n`stdout`, `stdin`, and `stderr` files. This causes the file interface to\nhave global constructors to initialize the destructors to use these.\nHowever, these never use the destructors because they don\u0027t own the\nbuffer. This patch removes the destructor and calls in manually in the\nclose implementation. The platform close should never need to access the\nbuffer and it needs to be done before clearing the whole thing, so this\nshould work.\n\nReviewed By: sivachandra\n\nDifferential Revision: https://reviews.llvm.org/D155762\n\nGitOrigin-RevId: cc92212d75dff07644e478c55a6f145c020f6f8e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97dc5ff66f1ca9a387a629b662e723689e312a23",
      "old_mode": 33188,
      "old_path": "src/__support/File/file.h",
      "new_id": "2c6aff3b3be4d8f4e8c8048cd1e9f960a128e337",
      "new_mode": 33188,
      "new_path": "src/__support/File/file.h"
    }
  ]
}
