Commit Graph

94 Commits

Author SHA1 Message Date
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
Alberto Curro
1d5bcc08fb Fixes the warning on IntToString about comparison of unsigned and signed values, when boost::uint32_t and boost::uint64_t are used with the function 2015-10-01 14:35:45 +01:00
Jeffrey Walton
973e48744b Removed guard on memcpy_s call to memcpy. All the Undefined Behavior has been removed. The CRYPTOPP_ASSERT remains to guard the use of the functions, as does Clang/GCC Undefined Behavior sanitizer 2015-08-03 19:20:27 -04:00
Jeffrey Walton
b44546be11 Revert "Hid inline assembly behind a macro". The MEMORY_BARRIER code is OK, and the use of inline assembly code is OK to tame the optimizer is OK; but its confusing because the interactions are not readily apparent. 2015-08-01 19:00:31 -04:00
Jeffrey Walton
390d27b6cd Hid inline assembly behind a macro 2015-08-01 18:02:03 -04:00
Jeffrey Walton
e9c086aaac Added assert. Thanks to Jean-Pierre Münch for the suggestion 2015-07-30 18:58:11 -04:00
Jeffrey Walton
77206baf56 Whitespace checkin 2015-07-30 13:07:33 -04:00
Jeffrey Walton
264018e8ec Suppressed "sign comparison" warning under GCC and Clang 2015-07-30 09:14:43 -04:00
Jeffrey Walton
33e6a62c5e Reverted to previous SafeConvert code. Its not as efficient as it could be, but it is darn sure correct. Self-tests for the verification to follow 2015-07-30 08:38:28 -04:00
Jeffrey Walton
414b673706 Added test for T1 is signed 2015-07-29 22:37:36 -04:00
Jeffrey Walton
2936447d05 Updated IntToString and SafeConvert to squash the "signed/unsigned" warnings once and for all. Removed the specializations that caused more trouble than they were worth. (If all platforms offered size_t and ssizeT the same way, specializations would have been the preferred solution 2015-07-29 06:33:41 -04:00
Jeffrey Walton
ef318d5423 Fixed compiler errors on Apple due to cross product of {C++03,C++11} x {libc++, libstdc++}. It included bringing in the correct <memory> in <stdcpp.h>, and then only including <stdcpp.h> when <memory> was needed. 2015-07-27 16:01:55 -04:00
Jeffrey Walton
c42947e19b Rearranged includes for consistency after testing 2015-07-27 13:03:18 -04:00
Jeffrey Walton
5eff653a54 Added guard and specialization for APple with and without "-std=c++11" 2015-07-27 12:40:06 -04:00
Jeffrey Walton
30b706316b Cleared "signed/unsigned" warning introduced by 1997c21b37 under GCC. The ultimate fix is to guard the std::streamsize specialization to ensure Microsoft compilers don't see it 2015-07-26 13:56:45 -04:00
Jeffrey Walton
1997c21b37 Cleared "explicit specialization has already been defined" under MSVC and Visual Studio 2015 2015-07-26 11:27:36 -04:00
Jeffrey Walton
d3b2c03e4e Added missing specialization for i386. Added comment on why we were specializing 2015-07-25 02:06:52 -04:00
Jeffrey Walton
35b213c085 Cleared "unused parameter" warning with GCC 5.1 and -Wextra 2015-07-23 19:30:14 -04:00
Jeffrey Walton
504ba0ea87 Cleared "comparison between signed and unsigned integer" warning in SafeConvert by providing template specializations 2015-07-23 18:15:29 -04:00
Jeffrey Walton
07e8319478 Cleared "unused function" warning when using GCC with -Wall 2015-07-23 14:21:06 -04:00
Jeffrey Walton
b2d9be1b80 Cleared "unused variable" warning when using CRYPTOPP_STATIC_ASSERT under GCC. The "__attribute__ ((unused)" was present in GCC 2.95, so it will be available for the GCC's we support. Non-GCC's will get the non-decorated assert 2015-07-23 12:30:13 -04:00
Jeffrey Walton
ac0f94c23a Removed branch from rotlVariable. The mask ensures it stays well defined 2015-07-23 04:06:10 -04:00
Jeffrey Walton
1303f4bdcc Cutover to CRYPTOPP_ASSERT in misc.h. Posix's behavior of "let's crash the program by raising SIGABRT" in Debug builds has got to be one of the most questionable decisions in the history of computing. The new behavior: if there's a SIGTRAP handler somewhere, then the handler will be invoked. Some platforms, like Apple and Microsoft, provide a default SIGTRAP handler. If there's no SIGTRAP handler, then the program will crash just like it raised a SIGABRT. In this case, there's no effective change in behavior 2015-07-23 03:39:13 -04:00
Jeffrey Walton
e6300f52e2 Removed template specializations for Clang using preprocessor for rotFixed due to LLVM Bug 24226. Removed asserts from __rlwinm because the mask ensures the operation is well defined (see the comments in ppc_intrinsics.h) 2015-07-23 01:53:45 -04:00
Jeffrey Walton
2441817708 Improved comment for GCC_DIAGNOSTIC_AWARE 2015-07-21 19:02:11 -04:00
Jeffrey Walton
88f94ed358 Cleared behavior that relied upon undefined behavior 2015-07-19 14:35:30 -04:00
Jeffrey Walton
e874cd2ef8 Fixed spelling error in header comments 2015-07-19 10:57:12 -04:00
Jeffrey Walton
5bd61dcc92 Added inline assembly for left and right rotate under GCC on x86/x86_64 2015-07-19 08:31:58 -04:00
Jeffrey Walton
8cef820ac8 Cleared UBsan error based on undefined shift. Tightened behaviors based on offline conversation with Wei and Denis. One shift error remains due to use of rotVariable by Cast. The UB will be cleared shortly, when specializations using GCC assembler is checked in 2015-07-17 22:21:01 -04:00
Jeffrey Walton
5f299d76a0 Cleared UBsan error on non-null pointers being used with memcpy and memmove from library functions memcpy_s and memmove_s 2015-07-17 21:09:42 -04:00
Jeffrey Walton
172cce3974 Added source code documentation on the rotFixed, rotVariable and rotMod functions 2015-07-17 07:40:16 -04:00
Jeffrey Walton
e7eee759bb Cleared UBsan errors under GCC 5.1. Cleared signed/unsigned warnings under Visual Studio 2015-07-17 07:16:01 -04:00
Jeffrey Walton
828c550389 Cleared C4242 warning uder Visual Studio 2015-07-13 23:59:01 -04:00
Jeffrey Walton
01caf892e0 Whitespcae check-in 2015-07-13 23:20:36 -04:00
Jeffrey Walton
9bf0eed0f6 Cleared crash with GCC 4.8 and above and -O3. In a nutshell, it was due to vectorization and alignment violations agains the vmovdqa instruction 2015-07-13 22:53:16 -04:00
Jeffrey Walton
b5ed163c87 Cleared UBSan warnings reported by Jonathan Wakely. Cleared many issues reported in GitHub Issue 4 (its a rollup of -fsanitize=undefined) 2015-07-13 20:37:34 -04:00
Jeffrey Walton
c6abf130eb Moved GCC_DIAGNOSTIC_AWARE and GCC_OPTIMIZE_AWARE into misc.h 2015-07-13 00:39:13 -04:00
Jeffrey Walton
12931b3301 Cleared signed/unsigned warning on IncrementCounterByOne 2015-07-12 18:32:10 -04:00
Jeffrey Walton
02dff96e97 Cleared signed/unsigned warning using GCC __builtin_XXX 2015-07-12 18:19:46 -04:00
Jeffrey Walton
8386b3f139 Guarded COUNTOF macro. Thanks to Graham Bull for the suggestion 2015-07-05 17:53:42 -04:00
Jeffrey Walton
f2379159f8 Added COUNTOF to misc.h to count elements in an array (fails on pointers). Moved CRYPTOPP_UNUSED to misc.h 2015-07-03 15:40:44 -04:00
Jeffrey Walton
457eaeaf23 Static analysis showed the unsigned int y is truncated to an unsigned char via _rotr16. It does not appear to be a problem with the library, but it may be a problem for users. The assert will alert in Debug builds (but not Release builds) 2015-06-29 08:38:38 -04:00
Jeffrey Walton
a14a5696e1 Added GCC_DIAGNOSTIC_AWARE to help suppress some warnings on contemporary compilers. The macro was needed to help with managing old compilers, like GCC 4.2.1, present on OpenBSD 2015-06-29 02:09:02 -04:00
Jeffrey Walton
a0390f1fd7 Added inline to StringNarrow to squash unused function warning 2015-06-28 22:21:57 -04:00
Jeffrey Walton
17fea9df2a Backed out commit d2686acc10. Its not clear it was safe to clear the warning this way 2015-06-13 15:40:06 -04:00
Jeffrey Walton
d2686acc10 Cleared signed/unsigned warning 2015-06-08 04:05:42 -04:00
weidai
ed7652256c fix compile with MINGW 2013-01-26 17:15:07 +00:00