summaryrefslogtreecommitdiffstats
path: root/src/common/common_funcs.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make system settings persistent across bootsKelebek12023-12-161-0/+6
|
* kernel: mark TLS accessors as noinline for non-MSVC LTOLiam2023-10-121-0/+4
|
* Initial ARM64 supportLiam2022-11-091-1/+3
|
* common_funcs: Mark padding as [[maybe_unused]]Merry2022-07-151-4/+6
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* common_funcs: Add enum flag bitwise shift operator overloadsMorph2021-09-131-0/+16
| | | | This adds bitwise shift operator overloads (<<, >>, <<=, >>=) in the macro DECLARE_ENUM_FLAG_OPERATORS(type)
* common_funcs: Replace <algorithm> with <iterator>Morph2021-09-111-1/+1
|
* common: Move error handling to error.cpp/hMorph2021-09-111-11/+0
| | | | This allows us to avoid implicitly including <string> every time common_funcs.h is included.
* common_funcs: Move R_ macros to result.hLioncash2021-05-311-25/+0
| | | | | | These macros all interact with the result code type, so they should ideally be within this file as well, so all the common_funcs machinery doesn't need to be pulled in just to use them.
* common: Rename NON_COPYABLE/NON_MOVABLE with YUZU_ prefix.bunnei2021-05-061-2/+2
|
* common: common_funcs: Add Size helper function.bunnei2021-05-061-0/+15
|
* common: common_funcs: Add helper macros for non-copyable and non-moveable.bunnei2021-05-061-0/+8
| | | | - Useful for scenarios where we do not want to inherit from NonCopyable.
* [network] Error handling reformcomex2021-02-281-1/+5
| | | | | | | | | | | | | | | | | | | | | `network.cpp` has several error paths which either: - report "Unhandled host socket error=n" and return `SUCCESS`, or - switch on a few possible errors, log them, and translate them to Errno; the same switch statement is copied and pasted in multiple places in the code Convert these paths to use a helper function `GetAndLogLastError`, which is roughly the equivalent of one of the switch statements, but: - handling more cases (both ones that were already in `Errno`, and a few more I added), and - using OS functions to convert the error to a string when logging, so it'll describe the error even if it's not one of the ones in the switch statement. - To handle this, refactor the logic in `GetLastErrorMsg` to expose a new function `NativeErrorToString` which takes the error number explicitly as an argument. And improve the Windows version a bit. Also, add a test which exercises two random error paths.
* common: common_funcs: Change R_UNLESS to LOG_ERROR.bunnei2021-01-291-1/+1
|
* common: common_funcs: Log error on R_UNLESS.bunnei2021-01-291-0/+3
|
* common: common_funcs: Add useful kernel macro R_SUCCEED_IF.bunnei2021-01-291-0/+3
|
* common: common_funcs: Add a few more useful macros for kernel code.bunnei2021-01-291-0/+11
|
* common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINITReinUsesLisp2021-01-151-4/+4
| | | | INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
* common: common_funcs: Add R_UNLESS macro.bunnei2021-01-111-0/+8
|
* common_funcs: Add missing XOR operators to DECLARE_ENUM_FLAG_OPERATORSLioncash2020-08-241-4/+10
| | | | | Ensures that the full set of bitwise operators are available for types that make use of this macro.
* common: Make use of [[nodiscard]] where applicableLioncash2020-08-151-7/+7
| | | | | | Now that clang-format makes [[nodiscard]] attributes format sensibly, we can apply them to several functions within the common library to allow the compiler to complain about any misuses of the functions.
* common: common_funcs: Add a macro for defining enum flag operators.bunnei2020-04-171-0/+32
|
* common_funcs: Remove semicolons from INSERT_PADDING_* macrosLioncash2019-11-141-4/+6
| | | | | Makes code that uses the macros consistent by requiring the lines to be terminated with a semicolon.
* common_funcs: silence sign-conversion warnings in MakeMagic()Lioncash2019-11-131-1/+1
| | | | | We can trivially resolve these by casting the characters to unsigned values and then shifting the bits.
* common_func: Use std::array for INSERT_PADDING_* macros.bunnei2019-11-041-12/+10
| | | | - Zero initialization here is useful for determinism.
* Revert "common_func: Use std::array for INSERT_PADDING_* macros."bunnei2019-11-031-3/+2
|
* common_func: Use std::array for INSERT_PADDING_* macros.bunnei2019-11-031-2/+3
| | | | - Zero initialization here is useful for determinism.
* texture_cache: Address FeedbackFernando Sahmkow2019-07-051-10/+0
|
* Reduce amount of size calculations.Fernando Sahmkow2019-06-211-0/+11
|
* Port #3732 from Citra: "common: Fix compilation on ARM"Cameron Cawley2018-07-291-3/+1
|
* Merge pull request #710 from lioncash/unusedbunnei2018-07-191-38/+0
|\ | | | | common/common_funcs: Remove unused rotation functions
| * common/common_funcs: Remove unused rotation functionsLioncash2018-07-191-38/+0
| | | | | | | | | | | | | | These are unused and essentially don't provide much benefit either. If we ever need rotation functions, these can be introduced in a way that they don't sit in a common_* header and require a bunch of ifdefing to simply be available
* | common/misc: Deduplicate code in GetLastErrorMsg()Lioncash2018-07-191-1/+3
|/ | | | | | | Android and macOS have supported thread_local for quite a while, but most importantly is that we don't even really need it. Instead of using a thread-local buffer, we can just return a non-static buffer as a std::string, avoiding the need for that quality entirely.
* Port #3579 from CitrafearlessTobi2018-07-071-2/+2
|
* Merge pull request #362 from lioncash/snprintfbunnei2018-04-201-5/+0
|\ | | | | common_funcs: Remove check for VS versions that we don't even support
| * common_funcs: Remove check for VS versions that we don't even supportLioncash2018-04-201-5/+0
| | | | | | | | | | We don't support any VS versions that don't already have snprintf in the standard library implementation.
* | common_funcs: Remove ARRAY_SIZE macroLioncash2018-04-201-2/+0
|/ | | | C++17 has non-member size() which we can just call where necessary.
* core: Refactor MakeMagic usage and remove dead code.bunnei2017-10-151-0/+8
|
* Common: Fix some out-of-style includesYuri Kunde Schlesner2017-05-281-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-1/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-2/+1
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-11/+14
|
* common_funcs: Provide rotr and rotl for MSVCMerryMage2016-05-271-12/+18
|
* VideoCore: Run include-what-you-use and fix most includes.Emmanuel Gil Peyrot2016-04-301-0/+4
|
* Common: Get rid of alignment macrosLioncash2016-03-091-9/+1
| | | | | The gl rasterizer already uses alignas, so we may as well move everything over.
* Fix building under MinGWdarkf2015-08-181-3/+9
|
* Rename ARCHITECTURE_X64 definition to ARCHITECTURE_x86_64.bunnei2015-08-161-1/+1
|
* x64: Refactor to remove fake interfaces and general cleanups.bunnei2015-08-161-1/+1
|
* Common: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP.bunnei2015-08-151-1/+1
|
* Stop defining GCC always_inline attributes as __forceinlinearchshift2015-08-121-1/+2
| | | | | __forceinline is a MSVC extension, which may confuse some people working on the codebase. Furthermore, the C++ standard dictates that all names which contain adjacent underscores are reserved.
* don´t define snprintf on Visual Studio 2015Apology112015-07-121-2/+4
| | | Visual Studio 2015 defines this in stdio now
* Common: Remove unused ROUND_UP_POW2 macro.Emmanuel Gil Peyrot2015-06-281-7/+0
|
* Common: Cleanup memory and misc includes.Emmanuel Gil Peyrot2015-06-281-4/+0
|
* Common: Remove the BIT macroYuri Kunde Schlesner2015-05-091-2/+0
| | | | | | | When the macro was introduced in 326ec51261299e48de97592631c02523da9c8118 it wasn't noticed that it conflicted in name with a heavily used macro inside of dyncom. This causes some compiler warnings. Since it's only lightly used, it was opted to simply remove the new macro.
* Common: Add BIT macroYuri Kunde Schlesner2015-05-091-0/+2
|
* Common: Add proper macros to test for architecture pointer sizeYuri Kunde Schlesner2015-05-071-7/+0
| | | | | | | The old system of just defining macros available in some other platform was susceptible to silently using the wrong code if you forgot to include a particular header. This fixes a crash on non-Windows platforms introduced by e1fbac3ca13d37d2625c11d30cfdece4327b446b.
* Common: Move alignment macros to common_funcs.hYuri Kunde Schlesner2015-05-071-0/+21
|
* Common: Remove more unused compatibility definesYuri Kunde Schlesner2015-05-071-45/+0
|
* Common: Move IO-specific compatibility macros to file_util.cppYuri Kunde Schlesner2015-05-071-8/+0
|
* Common: Remove many unnecessary cross-platform compatibility macrosYuri Kunde Schlesner2015-05-071-7/+3
|
* Removed swap code redundancy and moved common swap code to swap.harchshift2015-03-061-77/+0
|
* Merge pull request #581 from archshift/tfebunnei2015-02-231-2/+0
|\ | | | | Added information reporting from ThrowFatalError
| * Added information reporting from ThrowFatalErrorarchshift2015-02-221-2/+0
| | | | | | | | This was RE'd from the errdisp applet.
* | Misc cleanup of common and related functionsarchshift2015-02-201-23/+0
| |
* | Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.harchshift2015-02-201-3/+2
|/
* ConfigMem: Clean up the Config memory to be more like the shared page and movedpurpasmart962015-02-171-0/+7
| | | | the helper macro for padding to common_funcs.h
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-20/+15
| | | | | | | 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.
* Common: Fix SCOPE_EXIT to actually create unique identifiers.Yuri Kunde Schlesner2015-01-301-0/+4
|
* Fix merge conflictsdarkf2014-12-301-3/+8
|\
| * License changepurpasmart962014-12-211-2/+2
| |
| * Added missing include in common_funcs.hYuri Kunde Schlesner2014-12-131-0/+1
| |
| * Remove redundant include from common_funcs.hYuri Kunde Schlesner2014-12-131-2/+0
| |
| * Some code cleanup.Tony Wasserka2014-12-091-0/+2
| |
| * Fix some headers to include their dependencies properly.Tony Wasserka2014-12-091-0/+4
| |
| * Change NULLs to nullptrs.Rohit Nirmal2014-12-031-1/+1
| |
* | Fix MinGW builddarkf2014-11-291-4/+4
|/
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-7/+7
|
* Common: Move header guards over to pragma onceLioncash2014-08-171-4/+1
| | | | Also replaced C headers with the C++ equivalent ones
* added MIN, MAX, and CLAMP macros to common_funcsbunnei2014-05-171-0/+5
|
* fix for issue Linux build #9, not sure why this is broken but its unused code I'm just getting rid of itbunnei2014-04-281-13/+0
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-091-0/+245