Commit graph

44 commits

Author SHA1 Message Date
Lioncash
78ddcbe3ba General: Tidy up clang-format warnings part 2 2020-08-13 14:19:08 -04:00
Lioncash
14874f0b67 General: Tidy up clang-format warnings 2020-08-08 20:08:44 -04:00
Markus Wick
ac24f0506c Fix -Werror=conversion error. 2020-04-24 09:33:04 +02:00
Rodrigo Locatti
893648dbd0 Revert "common/bit_field: Silence sign-conversion warnings" 2019-11-16 03:29:37 -03:00
Lioncash
95ed7df791 common/bit_field: Silence sign-conversion warnings
We can just use numeric_limits instead of relying on wraparound behavior
here.
2019-11-15 07:09:30 -05:00
bunnei
fe02b9f968 common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
2019-11-03 22:22:41 -05:00
Tobias
9b5cffaa36 common/bit_field: Remove FORCE_INLINE calls
See bunneis comment here https://github.com/citra-emu/citra/pull/4629#discussion_r258533167.
They were supposed to be removed by him, but he missed them.
2019-11-03 08:25:37 +01:00
Lioncash
9d504a4f9b common/bit_util: Fix bad merge duplicating the copy constructor
Introduced as a result of #2090, we already define the copy constructor
further down below, so this isn't needed.
2019-03-20 23:48:37 -04:00
bunnei
2d7e3fe364 Merge pull request #2090 from FearlessTobi/port-4599
Port citra-emu/citra#4244 and citra-emu/citra#4599: Changes to BitField
2019-03-20 23:44:20 -04:00
Lioncash
b20657a36f common/bit_field: Make BitField trivially copyable
This makes the class much more flexible and doesn't make performing
copies with classes that contain a bitfield member a pain.

Given BitField instances are only intended to be used within unions, the
fact the full storage value would be copied isn't a big concern (only
sizeof(union_type) would be copied anyways).

While we're at it, provide defaulted move constructors for consistency.
2019-03-07 17:05:44 -05:00
fearlessTobi
8c9234f34c Make bitfield assignment operator public
This change needs to be made to get the code compiling again. It was suggested after a conversation with Lioncash.

The conversation can be seen here: https://user-images.githubusercontent.com/20753089/45064197-b6107800-b0b2-11e8-9db8-f696299fb86a.PNG
2019-02-13 21:15:15 +01:00
Weiyi Wang
a2fa901591 common/bitfield: make it endianness-aware 2019-02-06 17:29:39 +01:00
Weiyi Wang
aff2753df8 Common/Bitfield: store value as unsigned type
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-16 15:49:57 +01:00
fearlessTobi
1190ea6ddb Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
Lioncash
d6812d9e92 bit_field: Convert ToBool() into explicit operator bool
Gets rid of a TODO that is long overdue.
2018-08-21 06:39:45 -04:00
bunnei
33a0dddf78 bit_field: Remove is_pod check, add is_trivially_copyable_v. 2018-04-17 18:00:18 -04:00
bunnei
7112683376 bit_field: Make all methods constexpr. 2018-04-13 23:48:18 -04:00
Yuri Kunde Schlesner
0ba04b2166 Common: Clean up meta-template logic in BitField 2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
a786199c4b Make BitField and ResultCode constexpr-initializable 2017-05-24 21:05:59 -07:00
Emmanuel Gil Peyrot
1138ec0d49 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Emmanuel Gil Peyrot
628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
c39a267974 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
MerryMage
d2710b784a AudioCore: Skeleton Implementation
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.

This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
MerryMage
867c111e99 BitField: Make trivially copyable and remove assignment operator 2016-02-12 19:51:16 +00:00
Lioncash
03af08ae81 bit_field: Re-enable code on MSVC 2015-10-01 15:43:42 -04:00
archshift
58e2d19f08 Stop defining GCC always_inline attributes as __forceinline
__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.
2015-08-11 19:45:15 -07:00
Yuri Kunde Schlesner
b0d72e3de1 Merge pull request #914 from yuriks/bitfield-mask
Common: Fix mask generation in BitField
2015-07-11 19:01:57 -07:00
Yuri Kunde Schlesner
d5b5280501 Common: Remove redundant masking in BitField
For the signed case, the shifts already remove the rest of the value, so
ANDing by the mask is redundant.
2015-07-10 18:43:41 -03:00
Yuri Kunde Schlesner
d7f9529bdd Common: Fix mask generation in BitField
Fixes #913
2015-07-10 18:43:40 -03:00
Emmanuel Gil Peyrot
596b7c4f63 Common: Cleanup key_map includes. 2015-06-28 00:36:54 +01:00
Yuri Kunde Schlesner
e1fbac3ca1 Common: Remove common.h 2015-05-07 15:45:22 -03:00
bunnei
2188af4a65 Merge pull request #322 from chinhodado/master
More warning cleanups
2014-12-22 00:12:43 -05:00
bunnei
0de6a08d75 Merge pull request #291 from purpasmart96/license
License change
2014-12-21 16:05:44 -05:00
Chin
0199a7d9ef More warning cleanups 2014-12-21 10:58:55 -05:00
purpasmart96
ebfd831ccb License change 2014-12-20 21:20:24 -08:00
Tony Wasserka
95be6a09b2 BitField: Add an explicit Assign method.
This is useful when doing crazy stuff like inheriting from BitField.
2014-12-20 18:05:53 +01:00
Lioncash
2dce9b2ead bit_field: Fix a typo in the sample usage. 2014-10-25 15:18:34 -04:00
Tony Wasserka
0da8e2eacc BitField: Cast enum values to proper integer type. 2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9 BitField: Add a static_assert.
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5 BitField: Delete copy assignment to prevent obscure bugs.
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d BitField: Add an explicit evaluation method.
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +02:00
bunnei
a6b047ec3b removed incorrect dolphin copyright line 2014-05-08 17:11:41 -04:00
bunnei
a713bd1bad fixed include of common in bit_field.h 2014-05-07 21:44:16 -04:00
bunnei
e7a0283625 added BitField to common 2014-05-07 18:14:42 -04:00