)]}'
{
  "commit": "1ed847f43804efaac09e67ebdd86783d801f7b62",
  "tree": "65efa669d511c1a1cbdc3beef466831181967bf1",
  "parents": [
    "b162ede0dea5bb3a4f802a6c29a5be26b5caf097"
  ],
  "author": {
    "name": "Marius Hillenbrand",
    "email": "mhillen@linux.ibm.com",
    "time": "Wed Dec 08 18:01:26 2021 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Dec 08 12:01:26 2021 -0500"
  },
  "message": "Fix endianness of string literals (#4622)\n\n* Fix endianness of string literals\r\n\r\nTo get correct and consistent encoding and decoding of string literals\r\non big-endian platforms, use spvtools::utils::MakeString and MakeVector\r\n(or wrapper functions) consistently for handling string literals.\r\n\r\n- add variant of MakeVector that encodes a string literal into an\r\n  existing vector of words\r\n- add variants of MakeString\r\n- add a wrapper spvDecodeLiteralStringOperand in source/\r\n- fix wrapper Operand::AsString to use MakeString (source/opt)\r\n- remove Operand::AsCString as broken and unused\r\n- add a variant of GetOperandAs for string literals (source/val)\r\n... and apply those wrappers throughout the code.\r\n\r\nFixes  #149\r\n\r\n* Extend round trip test for StringLiterals to flip word order\r\n\r\nIn the encoding/decoding roundtrip tests for string literals, include\r\na case that flips byte order in words after encoding and then checks for\r\nsuccessful decoding. That is, on a little-endian host flip to big-endian\r\nbyte order and then decode, and vice versa.\r\n\r\n* BinaryParseTest.InstructionWithStringOperand: also flip byte order\r\n\r\nTest binary parsing of string operands both with the host\u0027s and with the\r\nreversed byte order.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "93d5da7aba7c9a6b38b28de34f9cfa1586297e04",
      "old_mode": 33188,
      "old_path": "source/binary.cpp",
      "new_id": "48a94f1eed7eeecec3a71a7c1bb56f29e6965875",
      "new_mode": 33188,
      "new_path": "source/binary.cpp"
    },
    {
      "type": "modify",
      "old_id": "66d24c7e41f940a396684652593aff7371852338",
      "old_mode": 33188,
      "old_path": "source/binary.h",
      "new_id": "eb3beacac34bad16bcb88d39d02389cbe210eb9c",
      "new_mode": 33188,
      "new_path": "source/binary.h"
    },
    {
      "type": "modify",
      "old_id": "c553988f3861b8035a25ca0f710e531a437f734e",
      "old_mode": 33188,
      "old_path": "source/disassemble.cpp",
      "new_id": "250c2bf9186af8dd1298112bba5dc1e135b68ba5",
      "new_mode": 33188,
      "new_path": "source/disassemble.cpp"
    },
    {
      "type": "modify",
      "old_id": "a94db273e73fbd06b44032b8dfad3be8be4263a0",
      "old_mode": 33188,
      "old_path": "source/extensions.cpp",
      "new_id": "049a3ad10ae5aaa19e0a5bb713a34b3a9d4c992a",
      "new_mode": 33188,
      "new_path": "source/extensions.cpp"
    },
    {
      "type": "modify",
      "old_id": "c4bfc763c78f3113cf3be1a0579ca022f35a1b80",
      "old_mode": 33188,
      "old_path": "source/link/linker.cpp",
      "new_id": "21cada709cf292f97a11f65e799fadd237799069",
      "new_mode": 33188,
      "new_path": "source/link/linker.cpp"
    },
    {
      "type": "modify",
      "old_id": "eb08f8fed35ba94ac33c665787a105d9f2c5bd9f",
      "old_mode": 33188,
      "old_path": "source/name_mapper.cpp",
      "new_id": "3b31d33a818c8ef50c84a637b3dd1be3a435ebdf",
      "new_mode": 33188,
      "new_path": "source/name_mapper.cpp"
    },
    {
      "type": "modify",
      "old_id": "c2ed2f87cc431c000f05ab73bf54bbe7327cd7dd",
      "old_mode": 33188,
      "old_path": "source/opt/aggressive_dead_code_elim_pass.cpp",
      "new_id": "9827c535a653ec6c9336c00951aeeb0f04c09494",
      "new_mode": 33188,
      "new_path": "source/opt/aggressive_dead_code_elim_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "d46d24379d74cd1541574a3e5077f0a6229ac655",
      "old_mode": 33188,
      "old_path": "source/opt/amd_ext_to_khr.cpp",
      "new_id": "dd9bafda32b38d03b4d42e361b6b9da4cf91a0f3",
      "new_mode": 33188,
      "new_path": "source/opt/amd_ext_to_khr.cpp"
    },
    {
      "type": "modify",
      "old_id": "39a4a3486eadbc2b3d023fec2e14779e65c3fdea",
      "old_mode": 33188,
      "old_path": "source/opt/feature_manager.cpp",
      "new_id": "a59027167946b67cce9f7110cc16165ceb51a211",
      "new_mode": 33188,
      "new_path": "source/opt/feature_manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "1b28f9b529f523f8f898dc25e8785d092d8c33c1",
      "old_mode": 33188,
      "old_path": "source/opt/graphics_robust_access_pass.cpp",
      "new_id": "336dcd83e4accb9c7c124b840b6f1141c8b64ef2",
      "new_mode": 33188,
      "new_path": "source/opt/graphics_robust_access_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "c0e6bc3f049d240e0d7a94ae6a8b9329bfd83b2a",
      "old_mode": 33188,
      "old_path": "source/opt/inst_debug_printf_pass.cpp",
      "new_id": "4218138f977d4764c37fc296bbb86dde8b7652f2",
      "new_mode": 33188,
      "new_path": "source/opt/inst_debug_printf_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "ce568f6626d557e05161b13427f1140cf449b1ad",
      "old_mode": 33188,
      "old_path": "source/opt/instruction.h",
      "new_id": "57ee70734b316fda6a1ba2215dc4813db4f0bbd7",
      "new_mode": 33188,
      "new_path": "source/opt/instruction.h"
    },
    {
      "type": "modify",
      "old_id": "612a831add6e5db3a981fc677234b3a4b60f2520",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.cpp",
      "new_id": "fef0f7cefafb507a581843ba7acc2b5c75677825",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.cpp"
    },
    {
      "type": "modify",
      "old_id": "2ce16db4e4a45a4908b94e51125a7ee61437f84f",
      "old_mode": 33188,
      "old_path": "source/opt/ir_context.h",
      "new_id": "7bef3054c0ac17df4710d0f7644049ef409eb962",
      "new_mode": 33188,
      "new_path": "source/opt/ir_context.h"
    },
    {
      "type": "modify",
      "old_id": "da9ba8cc01e51c2a3a88b4d7ac9ac8f9f41549d7",
      "old_mode": 33188,
      "old_path": "source/opt/local_access_chain_convert_pass.cpp",
      "new_id": "d2059f5c21b197ef4fa088fdfe50e469fc45f658",
      "new_mode": 33188,
      "new_path": "source/opt/local_access_chain_convert_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "5fd4f658d409727d13f53d254263d762409a0a36",
      "old_mode": 33188,
      "old_path": "source/opt/local_single_block_elim_pass.cpp",
      "new_id": "f48c56aab0848970a241b664391ca75bb8e3433d",
      "new_mode": 33188,
      "new_path": "source/opt/local_single_block_elim_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "051bcada761bc1b590ffd1a60a05862227c6d8c7",
      "old_mode": 33188,
      "old_path": "source/opt/local_single_store_elim_pass.cpp",
      "new_id": "123d03bf518986e7cdafb201de1ab89b6a7c2047",
      "new_mode": 33188,
      "new_path": "source/opt/local_single_store_elim_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "c3c705982c1902647a2240fc6e3850a40c921592",
      "old_mode": 33188,
      "old_path": "source/opt/module.cpp",
      "new_id": "5983abb126dee4fe79eae3c8834a18624f249131",
      "new_mode": 33188,
      "new_path": "source/opt/module.cpp"
    },
    {
      "type": "modify",
      "old_id": "0e65cc8d1463a401472c7dfe1bfcb6f7348dbe52",
      "old_mode": 33188,
      "old_path": "source/opt/remove_duplicates_pass.cpp",
      "new_id": "1ed8e2a046e75500387c33a3d3cb760b2a8f889f",
      "new_mode": 33188,
      "new_path": "source/opt/remove_duplicates_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "e3b9d3e40340a7efe3478385059acecd866216b6",
      "old_mode": 33188,
      "old_path": "source/opt/replace_invalid_opc.cpp",
      "new_id": "1dcd06f591b19e398584549ab2483838dee7280a",
      "new_mode": 33188,
      "new_path": "source/opt/replace_invalid_opc.cpp"
    },
    {
      "type": "modify",
      "old_id": "c86ce5782808e8096470791a2472be88d805c2c8",
      "old_mode": 33188,
      "old_path": "source/opt/strip_debug_info_pass.cpp",
      "new_id": "6a0ebf2482cdd7043f972f3ec555e343e3a88cef",
      "new_mode": 33188,
      "new_path": "source/opt/strip_debug_info_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "8b0f2db7ff6f46e118b961d96a02070fb6ed0474",
      "old_mode": 33188,
      "old_path": "source/opt/strip_reflect_info_pass.cpp",
      "new_id": "f9be960a832bcabd3581d3e0ae30b84c28b3d55b",
      "new_mode": 33188,
      "new_path": "source/opt/strip_reflect_info_pass.cpp"
    },
    {
      "type": "modify",
      "old_id": "7935ad33138dc47758a4fe33b76dda15b177121f",
      "old_mode": 33188,
      "old_path": "source/opt/type_manager.cpp",
      "new_id": "6da4b57b49c2c1dff6516e23285c34ae7287997a",
      "new_mode": 33188,
      "new_path": "source/opt/type_manager.cpp"
    },
    {
      "type": "modify",
      "old_id": "ab252059fac417db13015114183d236c3a7ddc19",
      "old_mode": 33188,
      "old_path": "source/opt/upgrade_memory_model.cpp",
      "new_id": "9d6a5bceb428081a22643ab2a4d0fcad724c35b3",
      "new_mode": 33188,
      "new_path": "source/opt/upgrade_memory_model.cpp"
    },
    {
      "type": "modify",
      "old_id": "46b98456174b1b9d75f7c6439cb77ee616ee3c54",
      "old_mode": 33188,
      "old_path": "source/text_handler.cpp",
      "new_id": "fe12a26e38355bdf0a10e3d98888fde36695fac6",
      "new_mode": 33188,
      "new_path": "source/text_handler.cpp"
    },
    {
      "type": "modify",
      "old_id": "4282aa94963b3ea7eee472f63937020c87059d9e",
      "old_mode": 33188,
      "old_path": "source/util/string_utils.h",
      "new_id": "03e20b3d637b221686052d7add366dcbdee158a3",
      "new_mode": 33188,
      "new_path": "source/util/string_utils.h"
    },
    {
      "type": "modify",
      "old_id": "b9155898ac857991bbc50e4e34dc278d986561f4",
      "old_mode": 33188,
      "old_path": "source/val/instruction.cpp",
      "new_id": "f16fcd7300ae363d2b214be8ab92456ff48922c4",
      "new_mode": 33188,
      "new_path": "source/val/instruction.cpp"
    },
    {
      "type": "modify",
      "old_id": "617cb0660dd26028118474a9afb2b7a270adbb00",
      "old_mode": 33188,
      "old_path": "source/val/instruction.h",
      "new_id": "6d1f9f4f127fdcf268cbe6ffe17a9193793b3327",
      "new_mode": 33188,
      "new_path": "source/val/instruction.h"
    },
    {
      "type": "modify",
      "old_id": "45b6a463e62a9543778dd498878e6625c2504850",
      "old_mode": 33188,
      "old_path": "source/val/validate.cpp",
      "new_id": "7655c960d373926bbd5673c5dbeec6917e065f66",
      "new_mode": 33188,
      "new_path": "source/val/validate.cpp"
    },
    {
      "type": "modify",
      "old_id": "3cdb471c7090484fd5cb260c737e0081469c5615",
      "old_mode": 33188,
      "old_path": "source/val/validate_decorations.cpp",
      "new_id": "50c0db93e9bfa58284309d52f30b0b1daef5b317",
      "new_mode": 33188,
      "new_path": "source/val/validate_decorations.cpp"
    },
    {
      "type": "modify",
      "old_id": "dccbe14908ddc84540c1261cc7eacc1bbf46a694",
      "old_mode": 33188,
      "old_path": "source/val/validate_extensions.cpp",
      "new_id": "479e9e4191e511428e252b7b172f5549cb814ba5",
      "new_mode": 33188,
      "new_path": "source/val/validate_extensions.cpp"
    },
    {
      "type": "modify",
      "old_id": "8d1a0d3f4edfb0e5c7f3f15882c977c7539a73bf",
      "old_mode": 33188,
      "old_path": "source/val/validation_state.cpp",
      "new_id": "9d708be4da43b11bfc41b8c30a01f127034f6801",
      "new_mode": 33188,
      "new_path": "source/val/validation_state.cpp"
    },
    {
      "type": "modify",
      "old_id": "9a13f22ca5d192c551bf58d0f1911f98f9f8ef78",
      "old_mode": 33188,
      "old_path": "test/binary_parse_test.cpp",
      "new_id": "ece750c56139e6d6970ed0ec1b0a2055f8c8bdbb",
      "new_mode": 33188,
      "new_path": "test/binary_parse_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "02daac761b0583566b6a28f3a2369f2d23fbdef0",
      "old_mode": 33188,
      "old_path": "test/binary_to_text.literal_test.cpp",
      "new_id": "5956984b135a42f4665ed9831580da056d217dc6",
      "new_mode": 33188,
      "new_path": "test/binary_to_text.literal_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "c5b92efb2e9cffeeb9bf48887cd2a3a3d9b74131",
      "old_mode": 33188,
      "old_path": "test/opt/instruction_test.cpp",
      "new_id": "2a48134d90a95e72916f4e4bbf32dd0a39cc22bc",
      "new_mode": 33188,
      "new_path": "test/opt/instruction_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "0c5bfc9c3b48e5666e69acd6ed69db4036c0e887",
      "old_mode": 33188,
      "old_path": "test/test_fixture.h",
      "new_id": "029fc8543b22d80898771327dfaa8e6344e8b6c8",
      "new_mode": 33188,
      "new_path": "test/test_fixture.h"
    }
  ]
}
