Jeffrey Walton
c90a63196a
Add StringWiden function
...
StringWiden converts a narrow C-style string to a wide string. It serves the opposite role of StringNarrow function. The function is useful on Windows platforms where the OS favors wide functions with the UTF-16 character set. For example, the Data Proction API (DPAPI) allows a description, but its a wide character C-string. There is no narrwo version of the API.
2017-03-17 04:57:38 -04:00
Jeffrey Walton
46c9cc725c
Use C++03 Singleton on select Microsoft platforms (Issues 372, 373, 389, 391)
...
We are back to the "... one object may end up being memory leaked" if faced with concurrent initialization
2017-03-15 06:20:45 -04:00
Jeffrey Walton
006ca5f860
Updated documentation
2017-03-11 01:42:06 -05:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383)
2017-03-01 06:10:06 -05:00
Jeffrey Walton
26e2e12b6a
Fix typo
2017-02-16 20:57:31 -05:00
Jeffrey Walton
5bbdcaf243
Fix compile under MFC project
2017-02-16 20:55:02 -05:00
Jeffrey Walton
81b1a18063
Change file preamble to include "originally written by Wei Dai"
...
We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
2017-01-27 07:05:45 -05:00
Jeffrey Walton
d4c247a1fd
Add MOVBE support
...
MOVBE is a modest gain over BSWAP. Though its guarded by CRYPTOPP_MOVBE_AVAILABLE, we cannot detect availability with a preprocessor macro. That is, GCC does not provide __MOVBE__ or similar. It has to be enabled manually
2017-01-24 04:26:00 -05:00
Jeffrey Walton
1d391c190d
Make NumericLimitsMin and NumericLimitsMax available to MSVC (Issue 364)
2017-01-15 19:36:36 -05:00
Jeffrey Walton
b274f06202
Fix RoundUpToMultipleOf for Apple Clang 6.0 (Issue 364)
...
Also see Issue 360 and http://stackoverflow.com/q/41666815
2017-01-15 19:14:42 -05:00
Jeffrey Walton
781e63ba7c
Fix RoundUpToMultipleOf (Issue 360)
...
Thanks to Boldizsár Lipka
2017-01-10 22:05:53 -05:00
klemens
5a5c633073
spelling fixes
2016-12-27 18:34:57 +01:00
Jeffrey Walton
a274a64058
Fix compile under Visual Studio .Net (Issue 342)
2016-12-03 18:44:48 -05:00
Jeffrey Walton
ba75834ae9
Removed VC++ 5.0 and 6.0 workarounds (Issue 342)
2016-12-03 05:05:56 -05:00
Jeffrey Walton
40230dd3bf
Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70)
2016-12-03 00:32:07 -05:00
Jeffrey Walton
6eb2792bc2
Silence select conversion warnings (Issue 340)
2016-12-02 14:47:31 -05:00
Jeffrey Walton
1ba8142195
Guard XOR of optional xorBlock. Updated documentation
2016-11-14 03:48:21 -05:00
Jeffrey Walton
f7df2de284
Switch to PutWord for rdrand.cpp
2016-11-14 02:21:02 -05:00
Jeffrey Walton
ea1157d8f5
Macro cleanup under Visual Studio .Net
2016-11-14 01:23:12 -05:00
Jeffrey Walton
8518d22760
Change to file scope statics for Zero(), One(), Two() (Thanks DB, Issue 310)
2016-09-29 21:10:11 -04:00
Jeffrey Walton
6af5b8424f
Removed likely and unlikely macros
...
Benchmarking showed the use of the macros slowed things down. Profile guided bracnh reordering, committed at dc99266599a0e72d, provided a better benefit
2016-09-28 18:18:55 -04:00
Jeffrey Walton
6bf0d32279
Used CRYPTOPP_UNLIKELY on gf2n.cpp hotspot
2016-09-27 20:58:17 -04:00
Jeffrey Walton
7ae1267673
Add CRYPTOPP_LIKELY and CRYPTOPP_UNLIKELY macros
2016-09-27 20:47:31 -04:00
Jeffrey Walton
91020ce3ba
Cleared signed/unsigned warning under Visual Studio (Related to Issue 295)
2016-09-21 22:10:03 -04:00
Jeffrey Walton
6bfa0d9ab0
Cleared Coverity finding CID 170383 (INTEGER_OVERFLOW) (295)
...
ModPowerOf2 was changed to include a saturating subtract. Unintuitively, the code got faster rather than slower. The saturating operation appears to have helped the optimizer
2016-09-21 21:50:02 -04:00
Jeffrey Walton
1dd3fae316
Updated documentation
2016-09-20 15:57:45 -04:00
Jeffrey Walton
51423972b1
Updated documentation
2016-09-19 23:18:19 -04:00
Jeffrey Walton
002509a9a9
Updated comments
2016-09-18 03:53:57 -04:00
Jeffrey Walton
3815b908ab
Add ossig.h. Move SignalHandler to ossig.h
...
This avoids a circular dependency between misc.h and trap.h. It also allows us to logically segregate and group code to replace C++ handlers, like set_terminate
2016-09-17 12:23:02 -04:00
Jeffrey Walton
399a1546de
Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)
...
trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420
2016-09-16 11:27:15 -04:00
Jeffrey Walton
5790163abc
Use __BIGGEST_ALIGNMENT__ only if its smaller than sizeof\(T\)
2016-09-13 22:28:03 -04:00
Jeffrey Walton
27b27475e9
Use __BIGGEST_ALIGNMENT__ over sizeof(T), if __BIGGEST_ALIGNMENT__ is available
...
__BIGGEST_ALIGNMENT__ is provided by some compilers, like GCC and ICC (but not Clang). It is usually 16 on 64-bit platforms; and it is usually 8 on 32-bit platforms
2016-09-12 06:34:00 -04:00
Jeffrey Walton
89809b7d59
Removed experimental rotlImmediate and rotrImmediate
2016-09-07 15:02:23 -04:00
Jeffrey Walton
a534ccb1bc
Stub-out a rotlImmediate and rotrImmediate providing shift/rotate amount as a template parameter.
...
Also see http://stackoverflow.com/q/39314690 and http://stackoverflow.com/q/39284065
2016-09-04 06:44:33 -04:00
Jeffrey Walton
a327717618
Guard _blsr_u64 and _tzcnt_u64 on __x86_64__
2016-07-21 18:04:05 -04:00
Jeffrey Walton
7ec3b29df6
Fix missing BMI/BMI2 instrinsics under GCC on Solaris (Issue 230)
2016-07-20 01:17:55 -04:00
Jeffrey Walton
9154975b1a
Updated documentation
2016-07-17 22:16:30 -04:00
Jeffrey Walton
4fd51eb06c
Add vec_swap for compilers which do not support std::swap'ing SSE and NEON types
2016-07-17 21:25:55 -04:00
Jeffrey Walton
6c0b120072
Go back to Commit 66ada4cc61
2016-07-06 14:39:18 -04:00
Mouse
9ed99eabb9
Restore PR #217
...
Restore merge of PR #217
2016-07-06 12:19:44 -04:00
Mouse
efd1b9e3d5
Revert "Merge remote-tracking branch 'upstream/master'" - shouldn't be merged by me
...
This reverts commit b48866631a
, reversing
changes made to 2733630a3f
.
2016-07-06 12:14:12 -04:00
Mouse
87be783cd1
Revert "Merge remote-tracking branch 'upstream/master'" - not intended to be merged by me
...
This reverts commit 762c315566
, reversing
changes made to b48866631a
.
2016-07-06 12:01:28 -04:00
Jeffrey Walton
fb72dbc8cb
Add MacPorts GCC compiler and Clang integrated assembler support. This is a merge of the development branch 'clang-ia'
2016-07-05 02:48:27 -04:00
Mouse
e36270fa7c
Do not re-define macros already provided by native compiler
2016-07-04 13:11:15 -04:00
Jeffrey Walton
0f8871c9c9
Updated documentation
2016-07-03 01:53:55 -04:00
Jeffrey Walton
7d02a3c74d
Fix undeclared identifiers '_tzcnt_u32' and '__blsr_u32' under Clang (Issue 205)
2016-06-26 06:28:07 -04:00
Jeffrey Walton
e961c2da5b
Merge Atomics branch into Master
2016-06-06 22:08:04 -04:00
Jeffrey Walton
432db09b72
Removed CRYPTOPP_DISABLE_ASM from __BMI__ check
2016-05-25 17:48:16 -04:00
Jeffrey Walton
733c78ba23
Relocate ARM defines to contribute to CRYPTOPP_BOOL_ALIGN16
2016-05-21 15:50:04 -04:00
Jeffrey Walton
6a6027c2cd
Include "cpu.h" rather than <immintrin.h> directly to avoid compile error when using GCC and -mno-sse<N>
2016-05-21 08:32:23 -04:00