Jeffrey Walton
8624587943
Remove WORKAROUND_MS_BUG_Q258000 from the config and osrng
2017-08-29 14:48:08 -04:00
Jeffrey Walton
a3b035b6a8
Add CRYPTOPP_CXX11_ENUM (Issue 475)
2017-08-28 17:37:59 -04:00
Jeffrey Walton
f488221992
Test align 16 for i386 and x86_64
2017-08-27 19:01:00 -04:00
Jeffrey Walton
5c6a32ba0f
Support Base Implementation + SIMD implementation on Solaris (PR #461 )
2017-08-24 19:17:21 -04:00
Jeffrey Walton
7851a0d510
Remove BOOL macro value (GH #462 )
...
Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly.
This check-in prepares for the removal in Upstream master
2017-08-20 21:25:29 -04:00
Jeffrey Walton
61c8b74951
Add Divisor and MSR member variables
...
Guard ASM based on CRYPTOPP_X86_ASM_AVAILABLE
Increased depth of internal buffer
Update documentation for using the generator
Whitespace check-in
2017-08-20 04:09:19 -04:00
Jeffrey Walton
a9534a7cf3
Use CRYPTOPP_SSE2_INTRIN_AVAILABLE for consistent naming
2017-08-18 02:11:41 -04:00
Jeffrey Walton
e2c377effd
Split source files to support Base Implementation + SIMD implementation (GH #461 )
...
Split source files to support Base Implementation + SIMD implementation
2017-08-17 12:33:43 -04:00
Jeffrey Walton
7779fa3e7a
Fix NEON detection on Aarch32 and Aarch64
...
I wish GCC would get its head out of its ass and define the apprpriate defines. NEON/ASIMD cannot be disgorged from Aarch32/Aarch64 just like SSE2 cannot be disgorged from x86_64. They are core instruction sets
2017-08-17 02:15:42 -04:00
Jeffrey Walton
b0b749f392
Fold shuffles after loads for SHACAL2
2017-08-16 10:40:00 -04:00
Jeffrey Walton
c5c6a6af5c
Fix Doxygen constant documentation
2017-08-16 05:11:37 -04:00
Jeffrey Walton
953252e44d
Move from 'static' to 'enum' for class constants
...
Enums don't take up space in class objects. Its should result in smaller objects and faster code
2017-08-11 17:13:15 -04:00
Jeffrey Walton
326700f6ec
Fix library version numbers
...
They were inadvertently checked-in with the SHA doc updates
2017-08-05 01:08:25 -04:00
Jeffrey Walton
d779462a38
Update documentation
2017-08-05 01:05:58 -04:00
Jeffrey Walton
3fc7b104e6
Update documentation
2017-07-28 12:35:25 -04:00
Jeffrey Walton
5103f6dd41
Remove gyrations around CRYPTOPP_NO_UNALIGNED_DATA_ACCESS
...
CRYPTOPP_NO_UNALIGNED_DATA_ACCESS was required in Crypto++ 5.6 and earlier because unaligned data access was the norm. It caused problems at -O3 and on ARM NEON.
At Crypto++ 6.0 no unaligned data access became a first class citizen. Folks who want to allow it must now define CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS
2017-07-23 11:14:02 -04:00
Jeffrey Walton
00f9818b5d
Move byte to Crypto++ namespace (Issue 442)
...
Also see http://www.cryptopp.com/wiki/std::byte and http://github.com/weidai11/cryptopp/issues/442
2017-07-20 09:55:29 -04:00
Marcel Raad
32f715f1d7
Fix Windows XP support on Visual Studio 2015+ ( #439 )
...
When compiling with Visual Studio 2015+, Crypto++ uses CryptoNG by
default. CryptoNG is only available on Windows Vista and later and
Crypto++ currently ignores if the user explicitly wants to target
Windows XP. Unlike with other Windows SDK features, everything
compiles, but the application doesn't start on Windows XP because
bcrypt.dll is missing. That is an issue when updating Visual Studio
because the root cause is hard to find.
Making use of CryptoNG when targeting Windows 8+ instead by default,
regardless of the Visual Studio version, to fix this.
2017-06-24 17:41:20 -04:00
Jeffrey Walton
429047a8e9
Clear Visual Studio warnings (Issue 412)
2017-06-02 07:13:43 -04:00
Jeffrey Walton
7ac77ca9ac
Revert "Revert "Clear Visual Studio warnings (Issue 412)""
...
This reverts commit c3871aec94 .
2017-06-02 05:18:52 -04:00
Jeffrey Walton
c3871aec94
Revert "Clear Visual Studio warnings (Issue 412)"
...
This reverts commit eb3b27a6a5 . The change broke GCC 4.8 and unknown version of Clang on OS X. UB reported the OS X break, and JW found duplicated the break on a ARM CubieTruck with GCC 4.8.
2017-06-02 05:06:56 -04:00
Jeffrey Walton
eb3b27a6a5
Clear Visual Studio warnings (Issue 412)
2017-05-30 16:37:41 -04:00
Jeffrey Walton
f40c55810d
Add method for sanitizer suppression
2017-05-21 21:51:31 -04:00
Jeffrey Walton
5f0cbde980
Removed MSVC warning suppression for many warnings (Issue 412)
...
Most of these appear to have been cleared over the last couple of years.
C4127 is too prevelant. We are probably going to have to live with it.
We may be able to clear C4250 with a using statement. For example 'using ASN1CryptoMaterial::Load'.
MSVC resisted clearing C4661 by pushing/poping in iterhash.h and osrng.h. It was like MSVC simply ignored it.
2017-05-16 03:52:03 -04:00
Jeffrey Walton
0611e11507
Disable word128 for PPC64 and GCC 4.8 (Issue 421)
2017-05-12 23:51:27 -04:00
Jeffrey Walton
554b7a2747
Fix "error: inlining failed ... target specific option mismatch (Issue 407)
2017-05-01 17:54:05 -04:00
Jeffrey Walton
8ded8bc38d
Clear SunCC anachronism warning "Attempt to redefine IS_BIG_ENDIAN without using #undef"
2017-04-21 23:52:43 -04:00
Jeffrey Walton
65c3c63b52
Breakout and cleanup macros. Add CRYPTOPP_ENABLE_ARIA_SSE2_INTRINSICS, CRYPTOPP_ENABLE_ARIA_SSSE3_INTRINSICS and CRYPTOPP_ENABLE_ARIA_NEON_INTRINSICS.
...
Tune CRYPTOPP_ENABLE_ARIA_SSE2_INTRINSICS and CRYPTOPP_ENABLE_ARIA_SSSE3_INTRINSICS macro for older GCC and Clang. Clang needs some more tuning on Aarch64 becuase performance is off by about 15%.
Add additional NEON code paths.
Remove keyBits from Aarch64 code paths.
2017-04-13 17:45:58 -04:00
Jeffrey Walton
35f95fb739
Fix unaligned pointer crash on Win32 due to _mm_load_si128
...
The SSSE3 intrinsics were performing aligned loads using _mm_load_si128 using user supplied pointers. The pointers are only a byte pointer, so its alignment can drop to 1 or 2. Switching to _mm_loadu_si128 will sidestep potential problems. The crash surfaced under Win32 testing.
Switch to memcpy's when performing bulk assignment x[0]=y[0] ... x[3]=y[3]. I believe Yun used the pattern to promote vectorization. Some compilers appear to be braindead and issue integer move's one word at a time. Non-braindead compiler will still take the optimization when advantageous, and slower compilers will benefit from the bulk move. We also cherry picked vectorization opportunities, like in ARIA_GSRK_NEON.
Remove keyBits variable. We now use UncheckedSetKey's keylen throughout.
Also fix a typo in CRYPTOPP_BOOL_SSSE3_INTRINSICS_AVAILABLE. __SSSE3__ was listed twice.
2017-04-13 04:28:02 -04:00
Jeffrey Walton
59767be52e
Add Intel and ARM intrinsics
...
Win32 and Win64 benefited from the Intel intrinsics. A32 and Aarch64 benefited from the ARM intrinsics. The intrinsics shaved 150 to 350 cycles from key setup.
The intrinsics slowed modern GCC down a small bit, and did not appear to affect old GCC. As such, Intel intrinsics were only enabled for Microsoft compilers.
We were not able to improve encryption and decryption. In fact, some of the attempted macro conversions and intrinsics attempts slowed things down considerably. For example, GCC 5.4 on x86_64 went from 120 MB/s to about 70 MB/s when we tried to improve code around the Key XOR Layer (ARIA_KXL).
2017-04-12 23:28:41 -04:00
Jeffrey Walton
c305e88127
Fix runtime crash when CRYPTOPP_INIT_PRIORITY=0
...
Couple use of initialization priorities to no NO_OS_DEPENDENCE
Add comments explaining what integer does, how it does it, and why we want to inprove on the Singleton pattern as a resource manager.
Update documentation.
2017-03-27 06:06:12 -04:00
Jeffrey Walton
0e55f5ac7d
Remove g_pAssignIntToInteger pointer, add CRYPTOPP_NO_ASSIGN_TO_INTEGER (Issue 389)
...
This effectively decouples Integer and Public Key from the rest of the library. The change means a compile time define is used rather than a runtime pointer. It avoids the race with Issue 389.
The Public Key algorithms will fail if you use them. For example, running the self tests with CRYPTOPP_NO_ASSIGN_TO_INTEGER in effect results in "CryptoPP::Exception caught: NameValuePairs: type mismatch for 'EquivalentTo', stored 'i', trying to retrieve 'N8CryptoPP7IntegerE'". The exception is expected, and the same happend when g_pAssignIntToInteger was present.
2017-03-25 16:38:42 -04:00
Jeffrey Walton
f502ee9218
Simplify C++ dynamic object initialization
...
Wrap DetectArmFeatures and DetectX86Features in InitializeCpu class
Use init_priority for InitializeCpu
Remove HAVE_GCC_CONSTRUCTOR1 and HAVE_GCC_CONSTRUCTOR0
Use init_seg(<name>) on Windows and explicitly insert at XCU segment
Simplify logic for HAVE_GAS
Remove special recipies for MACPORTS_GCC_COMPILER
Move C++ static initializers into anonymous namespace when possible
Add default NullNameValuePairs ctor for Clang
2017-03-20 08:51:10 -04:00
Jeffrey Walton
301437e693
Updated static initializers
...
When MSVC init_seg or GCC init_priority is available, we don't need to use the Singleton. We only need to create a file scope class variable and place it in the segment for MSVC or provide the attribute for GCC.
An additional upside is we cleared all the memory leaks that used to be reported by MSVC for debug builds.
2017-03-17 20:47:32 -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
a0bb490056
Define _XOPEN_SOURCE for Cygwin/Newlib (Issue 315)
2017-03-10 01:53:51 -05:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383)
2017-03-01 06:10:06 -05:00
Jeffrey Walton
62f92dd592
Change next version from 5.7 to 6.0
...
Crypto++ 5.7 was the increment after the 5.6.5 release. Crypto++ 6.0 accurately reflects compatibility
2017-02-21 12:59:20 -05:00
anonimal
8558bc519c
config.h: add DragonFly BSD support
2017-02-19 07:04:38 +00: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
79f3ab89f1
Removed remaining CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY (Issue 369)
2017-01-27 06:02:58 -05:00
Jeffrey Walton
b129818c35
Add GCC inline ASM for PMULL and PMULL2
...
The macros that invoke GCC inline ASM have better code generation and speedup GCM ops by about 70 MiB/s on an Opteron 1100. The intrinsics are still available for Windows platforms and Visual Studio 2017 and above
2017-01-19 02:38:00 -05:00
Jeffrey Walton
8eb1b6cb6b
Update CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE availability (Issue 362)
...
PMULL and PMULL2 are available on Aarch64 only, and not Aarch32 or A-32
2017-01-16 05:35:53 -05:00
Jeffrey Walton
c80502102a
Breakout __ARM_FEATURE_CRYPTO into PMULL, AES and SHA for Apple Clang (Issue 362)
...
It appears Apple Clang disgorges carryless multiply (PMULL) from Crypto (AES and SHA). The breakout added CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE for PMULL, and retained CRYPTOPP_BOOL_ARM_CRYPTO_INTRINSICS_AVAILABLE for AES and SHA only
2017-01-15 00:22:14 -05:00
Jeffrey Walton
732601e8b6
Microsoft still does not suport ARMv8 and the ARM intrinscs
...
Remove the define for now. Maybe Microsoft will support it in 2019 or 2020
2017-01-13 23:57:11 -05:00
klemens
5a5c633073
spelling fixes
2016-12-27 18:34:57 +01:00
Jeffrey Walton
1a17ade299
Fixed version numbers
...
Version numbers are rolled back to update the docs. The rolled back versions got committed with the updated docs
2016-12-11 07:06:38 -05:00
Jeffrey Walton
99ae937d8b
Updated documentation (Issue 121)
2016-12-11 06:56:52 -05:00
Jeffrey Walton
d01467b754
Use 'static const int' for constants in Doxygen documentation (Issue 343)
2016-12-04 16:07:10 -05:00
Jeffrey Walton
d45763a7ae
Removed CRYPTOPP_DISABLE_X86ASM macro (Issue 70)
2016-12-03 05:16:23 -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
c8b910aff5
Backed-off automatically setting CRYPTOPP_BOOL_SSE_SHA_INTRINSICS_AVAILABLE due to bad interaction with '-march=x86-64'. Disgorge SSE2 implementation from CXX implementation
2016-12-01 23:35:13 -05:00
Jeffrey Walton
82009ecf41
Increment version to 5.7 due to ABI break *Issue 337)
...
We still need to supply a patch for those maintaining 5.6.x
2016-12-01 18:10:56 -05:00
Jeffrey Walton
70d7297559
Merge pull request #339 from ralphtandetzky/master
...
Fix: GCC warning "type qualifiers ignored on function return type".
2016-12-01 09:56:39 -05:00
Ralph Tandetzky
35a2ef10a2
Fix: GCC warning "type qualifiers ignored on function return type".
...
This pedantic message appeared all over the code. Also removed one warning about an unused variable in release build.
2016-12-01 15:37:04 +01:00
Jeffrey Walton
7ab9b00f90
Add Intel SHA1 extension support
2016-12-01 00:49:59 -05:00
Jeffrey Walton
2b736bc6f1
Fix "deprecated conversion from string constant to ‘char*’"
2016-11-14 19:45:08 -05:00
Jeffrey Walton
76b11b010c
Add CRYPTOPP_STATIC_CONSTEXPR macro
2016-11-13 11:50:34 -05:00
Jeffrey Walton
61aa62bd8f
Add CRYPTOPP_STATIC_CONSTEXPR
2016-11-12 09:34:34 -05:00
Jeffrey Walton
aa8260df2c
Use enum for Doxygen processing
2016-11-10 02:04:46 -05:00
Jeffrey Walton
84b602cc7d
Fix compile under Debian Hurd (i386)
...
Debian Hurd defines __MACH__, and it was picking up "#define CRYPTOPP_SECTION_INIT __attribute__((section (__DATA,__data)))" intended for Apple linkers
2016-10-28 00:33:43 -04:00
Jeffrey Walton
69de0d591b
Fix "operator '>=' has no left operand" (Issue 329)
2016-10-27 14:20:51 -04:00
Jeffrey Walton
5596f73371
Fix Cygwin Newlib signal handler (Issue 315)
2016-10-14 15:00:49 -04:00
Jeffrey Walton
4d562aaac7
Post-release version increment
2016-10-11 14:37:03 -04:00
Jeffrey Walton
e09d8a2491
Fix Cygwin compile due to missing <signal.h>
2016-10-01 22:12:08 -04:00
Jeffrey Walton
2efedfb5ab
Reset config.h that cross-pollinated from AES dev-branch
2016-09-30 01:19:44 -04:00
Jeffrey Walton
4c1b5472cc
Cutover to SecByteBlock member for AES (Issue 302, CVE-2016-7544)
2016-09-30 01:09:21 -04:00
Jeffrey Walton
e0651b458f
Fix Visual Studio 2005 compile (Part of Issue 300)
2016-09-22 23:54:10 -04:00
Jeffrey Walton
06e29357cb
config.compat
...
Fix MSC compile under ARM
2016-09-21 02:02:55 -04:00
Jeffrey Walton
32ae3e52f1
Partially revert 714daaf570.
...
We were mostly OK under i686/x86_64, but Clang died completely under ARM-32 and Aarch64.
2016-09-21 00:35:59 -04:00
Jeffrey Walton
31a7b99f9e
Remove CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 from block defining word64 based on data models
...
We use the samllest word size that meets requirements, not th e largest size. That helps us get to a word128 on more platforms
2016-09-20 02:26:04 -04:00
Jeffrey Walton
49d7187255
Cleanup feature defines in <config.h>. Cleanup intrinsic includes in <cpu.h>
2016-09-20 00:35:27 -04:00
Jeffrey Walton
0e9da81311
Fix compile under CentOS 5 with GCC 4.1
2016-09-19 23:00:33 -04:00
Jeffrey Walton
923efa865b
Fix Solaris GCC and "constructor priorities are not supported"
2016-09-19 21:18:58 -04:00
Jeffrey Walton
6422ecfbeb
Fix CRYPTOPP_UNUSED macro and CVE number
2016-09-19 17:55:36 -04:00
Jeffrey Walton
151521d68f
Cleanup use of CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
2016-09-19 00:56:01 -04:00
Jeffrey Walton
714daaf570
Fix broken Clang compile with -march=x86-64 (Issue 283)
...
It would be great if Clang stopped pretending to be other compilers. In the absence of honesty, it would be nice if it consumed the same programs GCC does
2016-09-19 00:51:35 -04:00
Jeffrey Walton
fb6a11ff08
Remove library supplied aesenc, aesdec and friends (Issue 206)
2016-09-18 21:06:41 -04:00
Jeffrey Walton
f57c4dced5
Moved config.h → config.compat; moved config.recommend → config.h
...
Also see http://groups.google.com/forum/#\!topic/cryptopp-users/bWcRw1XgJ_Q
2016-09-18 12:36:50 -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
aa5767cccf
Post-release version increment
2016-09-11 14:35:21 -04:00
Jeffrey Walton
3074541e92
Bump Crypto++ version number from 5.6.3 to 5.6.4
2016-09-10 02:51:54 -04:00
Jeffrey Walton
677c09584c
Removed workspace and project files from FileList.txt. Cleared 'make convert' error for makefile recipe
2016-09-09 03:33:06 -04:00
Jeffrey Walton
7f958575ea
Squashed commit of the following:
...
commit 47c75c6e9397e240919207e50e5a611d3e2a2428
Merge: d7685c2 42085ee
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 20:20:39 2016 -0400
Attempting to fix binary file merge conflict
commit d7685c2d946beecc419ddb6901c24e972c7cf3ee
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 16:39:23 2016 -0400
Add vsClean.cmd to vs2010.zip
commit 4b96fdf1c551260da60eb021f324bcc3fcfec626
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 16:15:38 2016 -0400
Add Keccak to vs2010.zip
commit 3962db73b7113ee805b46a5bb4da64e204fe6bb0
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 15:40:35 2016 -0400
Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files
commit 44401448cbb6c8125b0f1ab4419c5b174408ffd7
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 15:39:23 2016 -0400
Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files
commit 847bfccb8d5c388e67745dc8c69768fa503c5135
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 14:48:02 2016 -0400
Whitespace cleanup
commit 46a37be6fef361704dcf852bc9a099ce0a1da4c8
Merge: aefb8f8 3697867
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 14:43:01 2016 -0400
Merge 'master' into 'keccak'
commit aefb8f8ff2b81b967089c53b457a92fc6f7544d6
Merge: 51a828b 3c91d93
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 12:39:51 2016 -0400
Merge 'master' into 'keccak'
commit 51a828b88e37a4d18abb00300cd5522bd0e110c5
Merge: 4152870 e7c7722
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 10:41:36 2016 -0400
Merge 'master' into 'keccak'
commit 415287041e69ddadf5ca1f6fc794b87e145fc2db
Merge: 357a0c5 83ac849
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 10:34:45 2016 -0400
Merge 'master' into 'keccak'
commit 357a0c510f75e4e58078b500dd469462e90f7650
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 10:13:32 2016 -0400
Removed deprecated warning from SHA3 classes
commit 5cf9ec10d53b895b5a583e265e4e1298ed402195
Merge: 10ce0ed c2d60cc
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 09:43:15 2016 -0400
Merge 'master' into 'keccak'
commit 10ce0ed4c5b8a1ea230062fd2dfdec0d87ec5b42
Author: Jeffrey Walton <noloader@gmail.com>
Date: Thu Sep 8 09:37:40 2016 -0400
Add Keccak implementation based on early SHA3. Change SHA3 to NIST FIPS 202 conforming implementation
2016-09-08 20:24:25 -04:00
Jeffrey Walton
e609559f06
Use "unsigned long" rather than "unsigned long long" for word64 when '_LP64 || __LP64__'
...
Guard use of the change on CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
2016-09-08 03:33:05 -04:00
Jeffrey Walton
f0e7b45bcb
Remove comma operator from return values for StaticGetDefaultRounds and StaticGetValidKeyLength in non-constexpr builds (Issue 255)
2016-09-07 09:32:06 -04:00
Jeffrey Walton
9205efda02
Add constexpr to CRYPTOPP_CONSTANT when CRYPTOPP_CXX11_CONSTEXPR is in effect
2016-09-06 08:53:55 -04:00
Jeffrey Walton
a62aee441f
Backed out use of "static const" to declare constant; switch to "enum" (Issue 255)
2016-09-06 04:04:03 -04:00
Jeffrey Walton
f23314f731
Add configuration support for C++11 constexpr
2016-09-01 22:45:44 -04:00
Jeffrey Walton
3f6d499c19
Fix missing arm_acle.h under GCC 4.8. Rearrange some defines to better account for ARM and MIPS
2016-08-01 13:41:42 -04:00
Jeffrey Walton
e2bf6824ff
Fix cannot convert between 'word64*' and 'uint64_t*' and -fpermissive
2016-07-24 13:40:58 -04:00
Jeffrey Walton
df47660605
Remove unneeded 'defined(__INTEL_COMPILER)'
2016-07-19 00:09:29 -04:00
Jeffrey Walton
686aef6028
Remove second definition of CRYPTOPP_ALIGN_DATA using alignas
2016-07-18 21:53:18 -04:00
Jeffrey Walton
5ad7bbd0c7
Guard CRYPTOPP_CXX11 for STLport
...
On Android, the compiler will define __cplusplus=201103L when using -std=c++11 even with STLport. STLport appears to be abandoned sometime around 2008.
2016-07-17 20:20:36 -04:00
Jeffrey Walton
b0b7b71562
Aloow GCC to particpate in MACH-O initialization
2016-07-12 23:38:30 -04:00
Jeffrey Walton
5080a065ce
Clear Valgrind findings under -Ofast
2016-07-12 23:05:00 -04:00
Jeffrey Walton
ebef1f418b
Disable automatic detection of CRYPTOPP_BOOL_SSE4_INTRINSICS_AVAILABLE for SunCC. Remove #error for C++17 (Issue 222)
2016-07-12 11:05:05 -04:00
Jeffrey Walton
268b261739
Update comment for Sun Studio 12.4
2016-07-11 00:39:13 -04:00
Jeffrey Walton
53e2147d8d
Fix compile under Sun Studio 12.3 and below with -xarch=aes defines
2016-07-10 20:40:45 -04:00
Jeffrey Walton
6c0b120072
Go back to Commit 66ada4cc61
2016-07-06 14:39:18 -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
Jeffrey Walton
2d0dd95dda
Fix "CRYPTOPP_USE_FIPS_202_SHA3 redfined" when using config.recommned with CRYPTOPP_USE_FIPS_202_SHA3 defined on command line
2016-07-04 17:51:09 -04:00
Jeffrey Walton
ff8105404e
Break build when we encounter Clang pretending to be VC++ (Issue 147)
2016-06-22 09:50:23 -04:00
Jeffrey Walton
b1df5736a7
Merge 'solaris' dev branch into 'master'
2016-06-15 05:02:28 -04:00
Jeffrey Walton
c1f025343a
Add C++11 alignas support. Deleting 'alignas' branch
2016-06-14 19:14:09 -04:00
Jeffrey Walton
0414faff8e
Revert "Add hack to pickup C++11 alignas"
...
This reverts commit 16df6e64a8 . Detailed testing is revealing some fractures. The pain point seems to be C++11 is more strict about the location of the 'alignas(N)' in the statement-expression. Some compilers accept a looser grammar; while others do not.
Clang 3.3 is rejecting some of the statements with CRYPTOPP_ALIGN_DATA(N). Others may do the same, and we need to look at ICC in particular.
2016-06-07 15:22:11 -04:00
Jeffrey Walton
16df6e64a8
Add hack to pickup C++11 alignas
2016-06-06 23:57:46 -04:00
Jeffrey Walton
e961c2da5b
Merge Atomics branch into Master
2016-06-06 22:08:04 -04:00
Jeffrey Walton
ec8c794a26
Removed duplicate C++11 atomics block. Fixed comment on CRYPTOPP_CXX11_ALIGNAS availability under MS toolchain
2016-05-30 17:46:00 -04:00
Jeffrey Walton
3a26c34721
Simplified tests ARM features. Tied ARM intrinsics to CRYPTOPP_DISABLE_ASM to allow easier user control and testing
2016-05-22 13:02:53 -04:00
Jeffrey Walton
733c78ba23
Relocate ARM defines to contribute to CRYPTOPP_BOOL_ALIGN16
2016-05-21 15:50:04 -04:00
Jeffrey Walton
d7c832b813
Remove ILP32 from CRYPTOPP_L1_CACHE_LINE_SIZE. Clang defines it for all 32-bit data models, and not just X32
2016-05-20 16:38:42 -04:00
Jeffrey Walton
9534ce5bc5
Add ARM-64 defines for CRYPTOPP_L1_CACHE_LINE_SIZE
2016-05-20 16:28:55 -04:00
Jeffrey Walton
5e719b95bb
Merge branch 'master' into windows-store
2016-05-16 20:38:02 -04:00
Jeffrey Walton
f21c15d7af
Fix iOS ARM CRC32 and Crypto detection
2016-05-16 20:37:22 -04:00
Jeffrey Walton
b42cc4676f
Merge branch 'master' into windows-store
2016-05-16 18:48:49 -04:00
Jeffrey Walton
e846beac35
Add defines for ARMv8 CRC32 and Crypto extensions
2016-05-16 18:47:31 -04:00
Jeffrey Walton
1f70c6aecc
Merge branch 'master' into windows-store
2016-05-15 08:25:45 -04:00
Jeffrey Walton
480532931b
Improve Apple iOS support for ARM and NEON. Add ARM Crypto detection
2016-05-15 08:24:51 -04:00
Jeffrey Walton
8313d082ad
Merge branch 'master' into windows-store
2016-05-15 05:59:30 -04:00
Jeffrey Walton
950cf4cdb9
Improve ARM feature detection for ARM64
2016-05-15 05:37:39 -04:00
Jeffrey Walton
ba6e56e4a2
Merge branch 'master' into windows-store
2016-05-15 02:40:34 -04:00
Jeffrey Walton
01f77765d4
Add basic ARM and Windows Store support
2016-05-15 02:30:08 -04:00
Jeffrey Walton
d294b4290b
Add changes for Windows Sotre that went missing with my clumsy Git skills
2016-05-09 03:07:57 -04:00
Jeffrey Walton
b499b8ba65
Fix Windows Phone compile (Issue 162)
2016-04-25 16:36:54 -04:00
Jeffrey Walton
dfac7ec28b
Fix Debian 8/GCC 4.9 compile on Core2 Duo
2016-04-25 01:43:45 -04:00
Jeffrey Walton
d83e4a0704
Add comment on test vectors used for CRYPTOPP_USE_FIPS_202_SHA3
2016-04-24 00:03:21 -04:00
Jeffrey Walton
01d137155c
Add SHA3/FIPS 202 test vectors. Add note to config.h on uncommenting sha3_fips_202.txt when defining CRYPTOPP_USE_FIPS_202_SHA3
2016-04-23 21:55:47 -04:00
Jeffrey Walton
df1c94a38a
Initial cut-in of CRYPTOPP_USE_FIPS_202_SHA3 macro
2016-04-23 18:47:23 -04:00
Jeffrey Walton
2b311f2194
Add CRYPTOPP_DEPRECATED macro
2016-04-23 16:45:35 -04:00
Jeffrey Walton
a11c9e7574
Add SSE4.1 and SSE4.2 feature detection
2016-04-15 16:23:04 -04:00
Jeffrey Walton
d8b02cfaaf
Fixed m68k detection (Issue 153)
2016-04-06 01:47:45 -04:00
Jeffrey Walton
9b260cf75a
Merge branch 'integer-master' of https://github.com/DevJPM/cryptopp into DevJPM-integer-master
2016-01-14 10:03:05 -05:00
DevJPM
36f5e4c4c8
updated to offer the option to hide the base
...
Added the config.h related changes of the Integer patch (show_no_base only)
2016-01-13 22:38:56 +01:00
Crayon2000
0892ee411b
C++Builder: The problem with the CRYPTOPP_CONSTANT macro was corrected properly
2016-01-12 12:29:44 -05:00
Jeffrey Walton
3941be1889
Fixed hang on ARM platforms in Integer::DivideThreeWordsByTwo
2016-01-08 06:53:27 -05:00
Jeffrey Walton
a0b078543a
Added CRYPTOPP_DATA_DIR patch (Issue 82)
2015-12-25 23:50:28 -05:00
Marco Deckel
f6499edf3a
Microsoft ARM support
...
* Adjusted config to compile for Microsoft ARM (e.g. Windows Universal apps)
2015-12-14 16:11:17 +01:00
Jeffrey Walton
1e17620417
Fixed STLport detection for Android 14 and below
2015-12-09 04:09:30 -05:00
Jeffrey Walton
c08cac0cd1
Fixed failed compile on OS X using "-arch i386" due to Clang defining __ILP32__ for everything that is 32-bit. MSVC, GCC, ICC and Comeau were OK
2015-12-02 15:54:35 -05:00
Jeffrey Walton
298988a5b9
Crypto++ 5.6.3 check-in
2015-11-22 19:17:15 -05:00
Jeffrey Walton
62618fda97
Revert botched "Crypto++ 5.6.3 check-in". Corruption due to VMware adding garbage to the end of some source files during drag and drop from guest to host.
...
This reverts commit c454358122 .
2015-11-22 19:11:31 -05:00
Jeffrey Walton
c454358122
Crypto++ 5.6.3 check-in
2015-11-20 19:15:33 -05:00
Jeffrey Walton
6ac1e46a1f
Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup)
2015-11-18 15:32:28 -05:00
Jeffrey Walton
48809d4e85
CRYPTOPP 5.6.3 RC6 checkin
2015-11-05 01:59:46 -05:00
Jeffrey Walton
651ba89176
Added CRYPTOPP_POSIX_ASSERT to config.h for those who want original Posix behavior of abort(). Additional cleanup of CRYPTOPP_CXX11 defines
2015-08-03 17:14:55 -04:00
Jeffrey Walton
2a09da77d6
Change _MSC_VER to 2300 (sometime around VS2019) for CRYPTOPP_CXX14. Its just a guess that won't collide in the near future...
2015-07-31 02:14:00 -04:00
Jeffrey Walton
9fd44748c1
Added define for CRYPTOPP_CXX14 so we can pick up operator "" and small string optimizations (SSO)
2015-07-31 02:11:32 -04:00