| Age | Commit message (Collapse) | Author |
|
|
|
CMake: Use precompiled headers to improve compile times
|
|
|
|
|
|
|
|
Clang erroneously emits this warning when using designated initializers.
|
|
This is similar to Clang's -Wunused-lambda-capture
|
|
Disabling C4100 is similar to -Wno-unused-parameter
|
|
These warnings are already included in /W3.
|
|
|
|
|
|
These are already explicitly or implicitly set in src/CMakeLists.txt
|
|
|
|
|
|
|
|
|
|
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.
Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.
The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.
Following REUSE has a few advantages over the current approach:
- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
`.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
files like binary assets / images is always accurate and up to date
To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.
[REUSE]: https://reuse.software
Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
|
|
|
|
|
|
Now that the entire project is free of variable shadowing, we can enforce this as a compile time error to prevent any further introduction of this logic bug.
|
|
These are similar to Wunused-function on gcc/clang
|
|
It was needed on GCC versions not supporting `-std=c++20`, but GCC 10 and newer (required to compile yuzu) don't need it anymore
|
|
|
|
This increases the memory heap size for constructing precompiled headers to 2x the default.
|
|
|
|
|
|
|
|
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
|
|
general: Enforce multiple warnings in MSVC
|
|
This supplements C4101 by detecting initialized but unreferenced local variables
|
|
This lets us avoid needing to wrap external headers with #pragma warning directives for warnings we treat as errors and avoids generating warnings for external code.
Thanks to MerryMage for pointing this out.
|
|
|
|
This is similar to -Werror=return-type
|
|
Ensures that the source and execution character sets are in UTF-8
|
|
|
|
cmake: Remove yuzu_tester
|
|
We never ended up using yuzu_tester.
Removing it saves code duplication with yuzu_cmd, and distribution size on
prebuilt packages.
For unit testing, we can use catch2 from guest code and dump the results
to a file. Then execute yuzu from a script on ci if we want this to be
automated.
|
|
|
|
|
|
This matches GCC's -Wunused-variable
|
|
This should match some warnings we treat as errors on gcc and clang,
caching bugs early and reducing the number of instances where we have to
edit commits to make CI happy when developing from Windows.
|
|
|
|
This Clang warning complains when offsetof is used on a
non-standard-layout type (i.e. any class using various C++ features),
even though it works fine (and is not undefined behavior as of C++17).
|
|
Prevents the compiler tripping up about Windows headers.
|
|
MSVC lets us fine-tune catching expressions with no side-effects a
little more.
|
|
Allows our CI to catch more potential bugs. This also removes the
[[nodiscard]] attribute of IOFile's Open member function. There are
cases where a file may want to be opened, but have the status of it
checked at a later time.
|
|
This switch is enabled by default in all recent versions of GCC and
Clang.
|
|
WriteBuffer (#4465)
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
|
|
|
|
Ensures that our code always has its linkage explicit.
|