)]}'
{
  "commit": "501b49a3ab4f0d099457b6e5b62c709a1d2311be",
  "tree": "6303562ae7f1953a23165f8f7b546b48d7fdc7d1",
  "parents": [
    "03df22eb2727dc732928fd0901c3a0cd46c689d7"
  ],
  "author": {
    "name": "Scott Graham",
    "email": "scottmg@chromium.org",
    "time": "Wed Aug 05 13:03:37 2020 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon Aug 10 18:49:02 2020 +0000"
  },
  "message": "clang: Add support for C++ modules in deps\n\nThis adds support for {{module_deps}}. This expansion is to be used by\nthe \"cxx\" tool. When the deps of a target include dependencies on\nmodules (defined as a target that includes a .modulemap file, which is\nbuilt to a .pcm), module_deps will be filled out with the required flags\nto depend on those modules.\n\nThe targets that are depended upon must currently have a (handwritten)\n.modulemap file in their sources.\n\nThe dependency semantics (as described in NinjaCBinaryTargetWriterTest)\nare:\n- .modulemap are built to .pcm by cxx_module\n- .pcm aren\u0027t linked against\n- The .cc of a target that uses modules depend on the .pcm (\"implicit\"\ndependency in ninja terminology)\n- The .cc sources of targets that depend on a module have implicit\ndependencies on the pcm of the dependent modules target as well.\n- A .a or executable does not depend on the .pcm.\n\nBug: fuchsia:27276\nChange-Id: I84c26975b93db71e5309ad607fce900fe2705f90\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/9602\nCommit-Queue: Scott Graham \u003cscottmg@chromium.org\u003e\nReviewed-by: Brett Wilson \u003cbrettw@chromium.org\u003e\nReviewed-by: Petr Hosek \u003cphosek@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "168d64e456baeb5d3b35eea7f6306bcd92cc3fca",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "257f474af2917e6b424f38b9aadeaf334395b17f",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "modify",
      "old_id": "d0c04c8f63dc29b6a1439247b1cc21a2164b8a8e",
      "old_mode": 33188,
      "old_path": "src/gn/c_substitution_type.cc",
      "new_id": "618e846c02a87dd46492f0cea8f1187a8c792286",
      "new_mode": 33188,
      "new_path": "src/gn/c_substitution_type.cc"
    },
    {
      "type": "modify",
      "old_id": "63eb627872d245adfdb3a1730986ee03105fe2f4",
      "old_mode": 33188,
      "old_path": "src/gn/c_substitution_type.h",
      "new_id": "e4255fdbc3aec213bff53df600bcc6be96687af1",
      "new_mode": 33188,
      "new_path": "src/gn/c_substitution_type.h"
    },
    {
      "type": "modify",
      "old_id": "05e78d0dae5837f25711808126a761a62abea8c7",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer.cc",
      "new_id": "9f8ef637f1e1949cb617de5d28632d4107fe53ac",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "1288511c8296a3409aa784cbfcb08d1478da2bf9",
      "old_mode": 33188,
      "old_path": "src/gn/function_toolchain.cc",
      "new_id": "52ac8f7a55a85bda2e761cc4fd307908377a0bc8",
      "new_mode": 33188,
      "new_path": "src/gn/function_toolchain.cc"
    },
    {
      "type": "modify",
      "old_id": "62edd4f65be86e4fe87589b5cc788753bb1145b9",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "5f4a14bbcdd3eb5d7434fbc817a004428a40be2a",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "695c4000e2426395e5987f342c3ea0f2fa7e7664",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.h",
      "new_id": "c2e63e4aaf402274035336255c4e8c53432ec786",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "f650e44548022a3abf7390b44e2e322eb966e1ae",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer_unittest.cc",
      "new_id": "391d1d731044e435e9dd9215a82df06fa1517659",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e284f24a123fd2f4b70fd6c34ecd6ab0432a6db1",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "b6bbb9f591f9964bff15de3b8620db8a0515e5cd",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "a4d13840188d3ee2bbb4a6ae27b9d45f62ac0496",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_type.cc",
      "new_id": "06c21b36ef172073745cb8928ff50ad779c99d4f",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_type.cc"
    },
    {
      "type": "modify",
      "old_id": "7ec929f21733368e9a7506baea139b1ca932523c",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_type.h",
      "new_id": "28f6c66b64af3a60c31751f8ad8ffac34f05629e",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_type.h"
    },
    {
      "type": "modify",
      "old_id": "6fe83cee37cd9115914de7415042a83d78f1ca9b",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_writer.cc",
      "new_id": "c9624d75624adac117ad63517f95363608a5e84f",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "8e5709b2a2913d22b2b4fe8a02c334cf20294074",
      "old_mode": 33188,
      "old_path": "src/gn/substitution_writer_unittest.cc",
      "new_id": "fc3c44692a746d6d452c6ef36ab3f76864281489",
      "new_mode": 33188,
      "new_path": "src/gn/substitution_writer_unittest.cc"
    }
  ]
}
