Comments (5)
I think it is probably not worthwhile to "fix" a list of unhelpful warnings each time someone decides to use a new compiler or enable different warnings.
from libdeflate.
Level 4 warnings in MSVC is quite well defined across versions. So the truncation of 32bits of data isn't a problem in this case?
from libdeflate.
No. None of these is a real bug, and in none of these cases would it be an improvement, in my opinion, to add a cast to work around the warning. In some cases, attempting to "silence" compulsive compiler warnings can cause or hide real bugs.
I would take the report more seriously if you were using the recommended compiler (GCC) with the recommended compiler flags or if these warnings were on by default (they're not; I have compiled the code with MSVC and encountered no warnings).
For now I am closing this issue.
from libdeflate.
Default MSVC projects use LVL3 warnings is why you won't see any :). Seems strange to recommend only 1 compiler for a lib though. Ideally should be compatibility with as many as possible. My project uses gcc clang and msvc on the highest warning levels. Unless you mean gcc has had the most testing.
from libdeflate.
The source code is compatible with all three compilers you named. GCC is recommended because it is cross-platform (especially, not tied to the software ecosystem of a particular vendor), produces better-performing binaries, and has been better tested for this code.
Compiler warnings do not have much to do with compatibility, as they are not standardized and are purely advisory. You can have as few of them or as many of them as you want. If I compile libdeflate with clang's -Weverything
, there are 107 warnings emitted. Would it really be worthwhile to make source code changes to work around them? I am much more interested in whether the code has the correct behavior --- not merely whether it satisfies certain stylistic constraints. So I would rather spend time on more effective measures.
from libdeflate.
Related Issues (20)
- Build type does not default to Release with CMake 3.10 and earlier HOT 5
- Version `1.8` is able to decompress data that version `1.17` cannot, but only on Windows HOT 9
- Comparison to zlib and its forks HOT 2
- POSITION_INDEPENDENT_CODE ON for static compilations HOT 2
- v1.14 - v1.18 deflate compatibility HOT 5
- Decompressing Microsoft DOCX Files in Unreal Engine 5 with Libdeflate HOT 4
- Windows Explorer cannot unpack some files generated with libdeflate (reward offered) HOT 9
- Tests fail on Windows in Release mode with VS platform toolset v141 HOT 1
- Please also generate a static source code archive for release HOT 2
- Libdeflate compressed stream in kunzip fail to decompress HOT 12
- Slow level 0 "compression" HOT 2
- I added stream & multi-thread support for libdeflate HOT 16
- ESA matchfinder HOT 4
- crc32 is twice as fast in zlib-ng HOT 19
- how to change sliding window size at runtime? HOT 1
- arm_acle.h compiler errors when building for iOS with Xcode 15.3 HOT 4
- analyzer warning regression: The left operand of '+' is a garbage value due to array index out of bounds HOT 1
- Unaligned access on PowerPC: forgotten macros in `common_defs.h` HOT 11
- 32-bit build error when using cctools 949.0.1 with assembler that doesn't support AVX instructions HOT 7
- VNNI support seems to require something later than GCC 11.1 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libdeflate.