summaryrefslogtreecommitdiff
path: root/src/common/assert.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-12-17Enable compiler optimizations and enforce x86-64-v2 on GCC/Clang (#9442)Gravatar Matías Locatti1-2/+2
* 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 usageGravatar Liam1-28/+17
2022-06-13common: Don't test ASSERT conditions inlineGravatar Liam1-29/+29
2022-06-13common: Change semantics of UNREACHABLE to unconditionally crashGravatar Liam1-2/+12
2022-04-28chore: add missing SPDX tagsGravatar Andrea Pappacoda1-3/+3
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2021-08-05assert: Verify formattingGravatar yzct123451-2/+6
2021-08-05assert: Avoid empty macrosGravatar yzct123451-2/+2
2021-04-04common: Move assert failure handling into a cpp file.Gravatar Markus Wick1-6/+8
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 syntaxGravatar Lioncash1-3/+4
Normalizes the syntax used for attributes
2019-11-23fix clang-format and lambda captureGravatar Weiyi Wang1-1/+2
2019-11-23unfold UNREACHABLE implementation for dumb compilersGravatar Weiyi Wang1-2/+2
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.Gravatar Fernando Sahmkow1-0/+18
2018-11-20common/assert: Add UNIMPLEMENTED_IF and UNIMPLEMENTED_IF_MSG for conditional ↵Gravatar Lioncash1-0/+3
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 assertGravatar Lioncash1-1/+1
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 CitraGravatar fearlessTobi1-1/+1
2018-07-02Update clang formatGravatar James Rowe1-3/+2
2018-07-02Rename logging macro back to LOG_*Gravatar James Rowe1-2/+2
2018-04-27general: Convert assertion macros over to be fmt-compatibleGravatar Lioncash1-2/+3
2018-01-08fix macos buildGravatar MerryMage1-1/+1
2016-09-21Remove empty newlines in #include blocks.Gravatar Emmanuel Gil Peyrot1-2/+1
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.Gravatar Emmanuel Gil Peyrot1-11/+15
2016-04-24assert: Allow UNREACHABLE_MSG to have just one argumentGravatar Sam Spilsbury1-1/+1
2016-04-23assert: Add _MSG variations for UNREACHABLE and UNIMPLEMENTEDGravatar Sam Spilsbury1-0/+2
2015-06-28Common: Cleanup profiler includes.Gravatar Emmanuel Gil Peyrot1-1/+0
2015-05-12Common: Use the log system to print assert messagesGravatar Yuri Kunde Schlesner1-7/+3
2015-05-06Clean-up includesGravatar Yuri Kunde Schlesner1-0/+1
2015-02-18Asserts: Use lambdas to keep assertion code away from the main code pathGravatar Yuri Kunde Schlesner1-6/+25
2015-02-10Asserts: break/crash program, fit to style guide; log.h->assert.hGravatar archshift1-0/+36
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.