)]}'
{
  "commit": "4802edd1ac7a5aea8c8488b5baec221d722cbdde",
  "tree": "af966eaf276039183d3c78957587a1b02f491c7c",
  "parents": [
    "dc100ebfdabf9db484bf8069870299a593522aaf"
  ],
  "author": {
    "name": "Eli Friedman",
    "email": "efriedma@quicinc.com",
    "time": "Thu Apr 14 15:20:37 2022 -0700"
  },
  "committer": {
    "name": "Eli Friedman",
    "email": "efriedma@quicinc.com",
    "time": "Fri Apr 15 12:09:57 2022 -0700"
  },
  "message": "Fix size of flexible array initializers, and re-enable assertions.\n\nIn D123649, I got the formula for getFlexibleArrayInitChars slightly\nwrong: the flexible array elements can be contained in the tail padding\nof the struct.  Fix the formula to account for that.\n\nWith the fixed formula, we run into another issue: in some cases, we\nwere emitting extra padding for flexible arrray initializers. Fix\nCGExprConstant so it uses a packed struct when necessary, to avoid this\nextra padding.\n\nDifferential Revision: https://reviews.llvm.org/D123826\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5816a91bd0c2d5aaae3ec091f891d22d3bf89e3a",
      "old_mode": 33188,
      "old_path": "clang/include/clang/AST/Decl.h",
      "new_id": "f93008cdd322d82e2063ad8aabb31aa2927b38e8",
      "new_mode": 33188,
      "new_path": "clang/include/clang/AST/Decl.h"
    },
    {
      "type": "modify",
      "old_id": "915d8db10aca4cf6f599c04bb074ad3b29477c2e",
      "old_mode": 33188,
      "old_path": "clang/lib/AST/Decl.cpp",
      "new_id": "050c3ad2dafc66f36fd068868a063e1ad83b65b2",
      "new_mode": 33188,
      "new_path": "clang/lib/AST/Decl.cpp"
    },
    {
      "type": "modify",
      "old_id": "322602606ebe9d80a567019f0a38eec0afbee07c",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGDecl.cpp",
      "new_id": "e47450f2ba8fe065d1206e0775e7e8bc644f3138",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGDecl.cpp"
    },
    {
      "type": "modify",
      "old_id": "92122f0df7b9ad54cb424a80a1255ada69b4cf62",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGExprConstant.cpp",
      "new_id": "91fdb88d6bb7a615ee3c298723a5d8cd6a8e50ef",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGExprConstant.cpp"
    },
    {
      "type": "modify",
      "old_id": "5184a363f18f5ef0ae30e829caf753eeaa6980c6",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CodeGenModule.cpp",
      "new_id": "bf5f2d1b42719634129e0968921585eff7570c2e",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CodeGenModule.cpp"
    },
    {
      "type": "modify",
      "old_id": "5974d475f816be597ce3fbaf273933f3c55b7203",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGen/flexible-array-init.c",
      "new_id": "b2cf959f7e1220ce30de70ac70631d4c939b6527",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGen/flexible-array-init.c"
    },
    {
      "type": "modify",
      "old_id": "af8486d9d3b52d9af9501e2ea6ba711f5ff9dce3",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenCXX/flexible-array-init.cpp",
      "new_id": "5840cbd8ab781e7f5da7e749554607094248429a",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenCXX/flexible-array-init.cpp"
    }
  ]
}
