summaryrefslogtreecommitdiff
path: root/src/common/assert.h
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2022-12-17Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442)Matías Locatti
* Testing LTO (#4) * Testing LTO * clang * linux * Added the rest of Blinkhawk's optimizations * Unlikely asserts * Removing LTO from Linux builds - GCC * Removing LTO from Linux builds - Clang
2022-06-13common/assert: rework ASSERT handling to avoid std::function usageLiam
2022-06-13common: Don't test ASSERT conditions inlineLiam
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashLiam
2022-04-28chore: add missing SPDX tagsAndrea Pappacoda
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2021-08-05assert: Verify formattingyzct12345
2021-08-05assert: Avoid empty macrosyzct12345
2021-04-04common: Move assert failure handling into a cpp file.Markus Wick
Advantage: Altering the handler does not need a full recompilation. Disadvantage: noreturn is droped, so the caller is a bit slower. We quite often run yuzu with a YOLO assertion handler. In fact, only very few games run at all with asserts. This patch allows developers to patch the handler without recompiling everything. The overhead of the missing "noreturn" attribute shoul be negletable.
2020-08-24common/assert: Make use of C++ attribute syntaxLioncash
Normalizes the syntax used for attributes
2019-11-23fix clang-format and lambda captureWeiyi Wang
2019-11-23unfold UNREACHABLE implementation for dumb compilersWeiyi Wang
We relies on UNREACHABLE's noreturn attribute to eliminate parent's "no return value" warning. However, this was wrapped in a `if(!false)` block, which compilers may not unfold to recognize the noreturn nature.
2019-04-07Permit a Null Shader in case of a bad host_ptr.Fernando Sahmkow
2018-11-20common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional ↵Lioncash
assertions Currently, there's no way to specify if an assertion should conditionally occur due to unimplemented behavior. This is useful when something is only partially implemented (e.g. due to ongoing RE work). In particular, this would be useful within the graphics code. The rationale behind this is it allows a dev to disable unimplemented feature assertions (which can occur in an unrelated work area), while still enabling regular assertions, which act as behavior guards for conditions or states which must not occur. Previously, the only way a dev could temporarily disable asserts, was to disable the regular assertion macros, which has the downside of also disabling, well, the regular assertions which hold more sanitizing value, as opposed to unimplemented feature assertions.
2018-11-20common/assert: Make the UNIMPLEMENTED macro properly assertLioncash
Currently, this was only performing a logging call, which doesn't actually invoke any assertion behavior. This is unlike UNIMPLEMENTED_MSG, which *does* assert. This makes the expected behavior uniform across both macros.
2018-07-07Port #3474 from CitrafearlessTobi
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-04-27general: Convert assertion macros over to be fmt-compatibleLioncash
2018-01-08fix macos buildMerryMage
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-04-24assert: Allow UNREACHABLE_MSG to have just one argumentSam Spilsbury
2016-04-23assert: Add _MSG variations for UNREACHABLE and UNIMPLEMENTEDSam Spilsbury
2015-06-28Common: Cleanup profiler includes.Emmanuel Gil Peyrot
2015-05-12Common: Use the log system to print assert messagesYuri Kunde Schlesner
2015-05-06Clean-up includesYuri Kunde Schlesner
2015-02-18Asserts: Use lambdas to keep assertion code away from the main code pathYuri Kunde Schlesner
2015-02-10Asserts: break/crash program, fit to style guide; log.h->assert.harchshift
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.