Fix "unknown pragma" on zlib clang workarounds

This commit is contained in:
Nekotekina 2020-02-23 10:29:42 +03:00
parent 758902382d
commit fa0bf6a92c
3 changed files with 16 additions and 1 deletions

View file

@ -925,10 +925,14 @@ public:
z_stream zs{}; z_stream zs{};
uLong zsz = compressBound(obj.getBufferSize()) + 256; uLong zsz = compressBound(obj.getBufferSize()) + 256;
auto zbuf = std::make_unique<uchar[]>(zsz); auto zbuf = std::make_unique<uchar[]>(zsz);
#ifndef _MSC_VER
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wold-style-cast"
#endif
deflateInit2(&zs, 9, Z_DEFLATED, 16 + 15, 9, Z_DEFAULT_STRATEGY); deflateInit2(&zs, 9, Z_DEFLATED, 16 + 15, 9, Z_DEFAULT_STRATEGY);
#ifndef _MSC_VER
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif
zs.avail_in = static_cast<uInt>(obj.getBufferSize()); zs.avail_in = static_cast<uInt>(obj.getBufferSize());
zs.next_in = reinterpret_cast<uchar*>(const_cast<char*>(obj.getBufferStart())); zs.next_in = reinterpret_cast<uchar*>(const_cast<char*>(obj.getBufferStart()));
zs.avail_out = static_cast<uInt>(zsz); zs.avail_out = static_cast<uInt>(zsz);
@ -961,10 +965,14 @@ public:
std::vector<uchar> gz = cached.to_vector<uchar>(); std::vector<uchar> gz = cached.to_vector<uchar>();
std::vector<uchar> out; std::vector<uchar> out;
z_stream zs{}; z_stream zs{};
#ifndef _MSC_VER
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wold-style-cast"
#endif
inflateInit2(&zs, 16 + 15); inflateInit2(&zs, 16 + 15);
#ifndef _MSC_VER
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif
zs.avail_in = static_cast<uInt>(gz.size()); zs.avail_in = static_cast<uInt>(gz.size());
zs.next_in = gz.data(); zs.next_in = gz.data();
out.resize(gz.size() * 6); out.resize(gz.size() * 6);

View file

@ -422,10 +422,14 @@ logs::file_writer::file_writer(const std::string& name)
// Compressed log, make it inaccessible (foolproof) // Compressed log, make it inaccessible (foolproof)
if (m_fout2.open(log_name + ".gz", fs::rewrite + fs::unread)) if (m_fout2.open(log_name + ".gz", fs::rewrite + fs::unread))
{ {
#ifndef _MSC_VER
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wold-style-cast"
#endif
if (deflateInit2(&m_zs, 9, Z_DEFLATED, 16 + 15, 9, Z_DEFAULT_STRATEGY) != Z_OK) if (deflateInit2(&m_zs, 9, Z_DEFLATED, 16 + 15, 9, Z_DEFAULT_STRATEGY) != Z_OK)
#ifndef _MSC_VER
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif
m_fout2.close(); m_fout2.close();
} }

View file

@ -832,11 +832,14 @@ std::vector<fs::file> SCEDecrypter::MakeFile()
strm.avail_out = BUFSIZE; strm.avail_out = BUFSIZE;
strm.next_in = data_buf.get()+data_buf_offset; strm.next_in = data_buf.get()+data_buf_offset;
strm.next_out = tempbuf; strm.next_out = tempbuf;
#ifndef _MSC_VER
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wold-style-cast" #pragma GCC diagnostic ignored "-Wold-style-cast"
#endif
int ret = inflateInit(&strm); int ret = inflateInit(&strm);
#ifndef _MSC_VER
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
#endif
while (strm.avail_in) while (strm.avail_in)
{ {
ret = inflate(&strm, Z_NO_FLUSH); ret = inflate(&strm, Z_NO_FLUSH);