{"push_id":2183650259,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a0b0050887f670caa442dde5a7dda8cc0199bcb2","before":"cd96a22a29f4f898208f5b035b5c2bc2a0977440","commits":[{"sha":"a0b0050887f670caa442dde5a7dda8cc0199bcb2","author":{"name":"utatane.tea@gmail.com","email":"5b6caba828616d83be87379dfbd4f472729de13f@gmail.com"},"message":"Fix WTF::Hasher tuple expansion with variadic args\nhttps://bugs.webkit.org/show_bug.cgi?id=180623\n\nReviewed by JF Bastien.\n\nSource/WTF:\n\nWe expand a tuple with `...`, and use this in a function's argument list.\nAnd in this argument list, we call `add()` for each value. This will be\nexpanded as follows.\n\n    [] (...) { }((add(hasher, std::get<i>(values)), 0)...);\n\nwill become,\n\n    [] (...) { }((add(hasher, std::get<0>(values)), 0), (add(hasher, std::get<1>(values)), 0), ...);\n\nHowever, the evaluation order of the C++ argument is unspecified. Actually,\nin GCC environment, this `add()` is not called in our expected order. As a\nresult, currently we have test failures in TestWTF.\n\nThis patch just uses variadic templates to expand tuples, and call add() in\nour expected order. This patch fixes an existing failure of TestWTF in GCC environment.\n\n* wtf/Hasher.h:\n(WTF::Hasher::computeHash):\n(WTF::addArgs):\n(WTF::addTupleHelper):\n(WTF::add):\n\nTools:\n\n* TestWebKitAPI/Tests/WTF/Hasher.cpp:\n(TestWebKitAPI::TEST):\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@225727 268f45cc-cd09-0410-ab3c-d52691b4dbfc","distinct":true,"url":"https://api.github.com/repos/paul99/webkit-mips/commits/a0b0050887f670caa442dde5a7dda8cc0199bcb2"}]}
{"actor":{"display_login":"kisg"}}