)]}' { "commit": "5e469419dc4660e38ae81027decf65ab37b4ba9f", "tree": "b69c9d3adfdb58aafc5df7ecbb6bea394a4da895", "parents": [ "e25150972a8bd079503b73602946be3b1a41d2ee" ], "author": { "name": "bnc", "email": "bnc@google.com", "time": "Thu Dec 05 14:16:25 2019 -0800" }, "committer": { "name": "Copybara-Service", "email": "copybara-worker@google.com", "time": "Thu Dec 05 14:17:04 2019 -0800" }, "message": "Fix gcc compilation error.\n\nQUICHE fails to compile with gcc with the following error message:\n\nquic/core/quic_crypto_stream.cc: In constructor \u0027QuicCryptoStream::QuicCryptoStream(QuicSession*)\u0027:\nquic/core/quic_crypto_stream.cc:39:52: error: use of deleted function \u0027QuicCryptoStream::CryptoSubstream::CryptoSubstream(QuicCryptoStream::CryptoSubstream\u0026\u0026)\u0027\n {this, ENCRYPTION_FORWARD_SECURE}} {\n ^\nIn file included from quic/core/quic_crypto_stream.cc:5:\nquic/core/quic_crypto_stream.h:158:30: note: \u0027QuicCryptoStream::CryptoSubstream::CryptoSubstream(QuicCryptoStream::CryptoSubstream\u0026\u0026)\u0027 is implicitly deleted because the default definition would be ill-formed:\n struct QUIC_EXPORT_PRIVATE CryptoSubstream {\n ^~~~~~~~~~~~~~~\nquic/core/quic_crypto_stream.h:158:30: error: use of deleted function \u0027QuicStreamSendBuffer::QuicStreamSendBuffer(QuicStreamSendBuffer\u0026\u0026)\u0027\nIn file included from quic/core/quic_stream.h:27,\n from quic/core/quic_crypto_stream.h:15,\n from quic/core/quic_crypto_stream.cc:5:\nquic/core/quic_stream_send_buffer.h:65:3: note: declared here\n QuicStreamSendBuffer(QuicStreamSendBuffer\u0026\u0026 other) \u003d delete;\n ^~~~~~~~~~~~~~~~~~~~\n\nThis CL changes QuicCryptoStrem::substreams_ type from array to std::array, and\nuses aggregate initialization instead of initializer list as required for\nstd::array. See also\nhttps://stackoverflow.com/questions/8192185/using-stdarray-with-initialization-lists\n\nI manually confirmed that this compiles in Chromium using clang, and compiles in\nEnvoy using either gcc or clang. I have no idea why.\n\ngfe-relnote: n/a, no functional change.\nPiperOrigin-RevId: 284051434\nChange-Id: I936020d8847e8109e73b9ffe1493ca1b74e159dc\n", "tree_diff": [ { "type": "modify", "old_id": "e22e830d3810d3fdd99024f5e1ef51aeced93767", "old_mode": 33188, "old_path": "quic/core/quic_crypto_stream.cc", "new_id": "3bc94e8628b70c629941dae9739685c2379a8a36", "new_mode": 33188, "new_path": "quic/core/quic_crypto_stream.cc" }, { "type": "modify", "old_id": "357303a65bbf26b2e2d5daab71114dc0ed96078a", "old_mode": 33188, "old_path": "quic/core/quic_crypto_stream.h", "new_id": "10b0b53af9938dfcbca53b8f11ebced33e79d585", "new_mode": 33188, "new_path": "quic/core/quic_crypto_stream.h" } ] }