Commit Graph

695 Commits

Author SHA1 Message Date
Jeffrey Walton
7b629dcfa6 Cleared UB in cast.cpp due to use of rotVariable. On PowerPC, the specialization that uses inline assembler will activate. The inline assembly uses __rlwnm which takes a mask and does not suffer C/C++ UB 2015-07-23 05:10:12 -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
5daa168a93 Cleaned up CRYPTOPP_CLANG_INTEGRATED_ASSEMBLER and WORKAROUND_LLVM_BUG_18916 defines 2015-07-23 03:29:21 -04:00
Jeffrey Walton
cd33142f6c Improved flow of setting variables in makefile 2015-07-23 03:17:18 -04:00
Jeffrey Walton
b3924a7b86 Additional changes to support Clang's integrated assembler. They have not been activated though. Uri and other testers will be able to uncomment the TODO line and everything will work as expected 2015-07-23 02:18:57 -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
fcd5f6df72 Cleared "invalid operand size" under Clang's integrated assembler. After more testing, this might be applied to other assemblers because Clang is probably correct in this instance 2015-07-22 06:14:37 -04:00
Jeffrey Walton
29c4310aab Cleared remaining issues related to Clang's integarted assembler parsing of the syntax string 2015-07-22 03:59:21 -04:00
Jeffrey Walton
6d0dd41eb0 Specialized defines to work with/around Clang integrated assembler. The two defines are WORKAROUND_LLVM_BUG_18916 and CRYPTOPP_USING_CLANG_INTEGRATED_ASSEMBLER. Once the 18916 bug is fixed, the other issues around the integrated assembler will remain 2015-07-22 03:48:10 -04:00
Jeffrey Walton
931ec17224 Added CRYPTOPP_ASSERT (but its not cut-in yet). It required another file because misc.h needed it. (The other options were to force it into misc.h early or drop it in config.h) 2015-07-22 02:11:52 -04:00
Jeffrey Walton
2441817708 Improved comment for GCC_DIAGNOSTIC_AWARE 2015-07-21 19:02:11 -04:00
Jeffrey Walton
3c56063c3f Added CRYPTOPP_CLANG_NO_INTEGRATED_AS as a guard in config.h (disabled by default since integrated-as is default behavior and the bug is active). GNU_ATT_SYNTAX → GNU_AS_ATT_SYNTAX and GNUINTEL_SYNTAX → GNU_AS_INTEL_SYNTAX 2015-07-21 18:05:48 -04:00
Jeffrey Walton
444d1f1a3b Cut-in to utilize GNU_ATT_SYNTAX and GNU_INTEL_SYNTAX macros. Also see LLVM Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916) 2015-07-21 14:37:55 -04:00
Jeffrey Walton
5e8b114e58 Added macro to abstract differences in sytax string parsing between GAS and Clang integrated assembler. Also see LLVM Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916) 2015-07-21 13:48:48 -04:00
Jeffrey Walton
945c358785 Added GNU/GCC a.out artifact 2015-07-21 13:42:48 -04:00
Jeffrey Walton
818828f127 Cleared warnings under Clang 3.4 with -Wall 2015-07-21 09:43:33 -04:00
Jeffrey Walton
1e215722bc Removed unneeded additional ODBC libraries from VC8 project files 2015-07-20 13:14:52 -04:00
Jeffrey Walton
f13511947d Whitespace checkin 2015-07-20 12:19:18 -04:00
Jeffrey Walton
d40eee99c0 Ported relevant GNUmakefile changes to GNUmakefile-cross 2015-07-20 06:55:42 -04:00
Jeffrey Walton
d5a6f4c628 Updated comment on why -Wall is only enabled for Clang 2015-07-20 04:16:40 -04:00
Jeffrey Walton
77556fca7b Backed-off -Wall for GCC due to issues when managing induced warnings when using -Wall. 2015-07-20 03:30:43 -04:00
Jeffrey Walton
821d467b9e Cleared signed/unsigned warnings under Visual Studio 2015-07-20 01:16:02 -04:00
Jeffrey Walton
417994ca6a Cleared signed/unsigned warnings under Visual Studio. 2015-07-20 01:15:35 -04:00
Jeffrey Walton
8e51ab9623 Tightened assert conditions when -DDEBUG is in effect. 2015-07-20 01:15:06 -04:00
Jeffrey Walton
81aa87df02 Cleared -Wunused-but-set-variable from GCC 4.8 and GCC 5.1. The way to handle separators is via locales and facets 2015-07-20 00:18:54 -04:00
Jeffrey Walton
cf43ed07e3 Revert "Cleared -Wreorder from GCC 4.8 on MinGW"
This reverts commit a9082aeee0. While it cleared the issue on MinGW, it introduced reordering issues on BSDs, Linux and OS X.
2015-07-20 00:13:56 -04:00
Jeffrey Walton
a9082aeee0 Cleared -Wreorder from GCC 4.8 on MinGW 2015-07-19 22:34:20 -04:00
Jeffrey Walton
4b4156e6ba Fixed compile for MinGW 2015-07-19 22:09:35 -04:00
Jeffrey Walton
94db43de97 Cleared -Wunknown-pragmas under GCC 5.1/Cygwin on Windows 2015-07-19 15:09:04 -04:00
Jeffrey Walton
c4a5d802e7 Enabled -Wall for GCC 4.7 and above, and Clang 2015-07-19 15:04:57 -04:00
Jeffrey Walton
88f94ed358 Cleared behavior that relied upon undefined behavior 2015-07-19 14:35:30 -04:00
Jeffrey Walton
a56f07709e g_hasISSE -> h_hasSSE. That's how old this function is... 2015-07-19 13:39:57 -04:00
Jeffrey Walton
11eb9957d4 HasISSE -> HasSSE. That's how old this function is... 2015-07-19 13:33:41 -04:00
Jeffrey Walton
ea9081ebc4 Cleared -Wunneeded-internal-declaration from GCC 5.1 2015-07-19 12:30:16 -04:00
Jeffrey Walton
786b3f1660 Cleared warning "GCC diagnostic kind" unknown. It appears to be a Clang warning 2015-07-19 12:16:19 -04:00
Jeffrey Walton
e522574ddd Attempting to clear unknown pragma warning under GCC 5.1. This might be a compiler bug... 2015-07-19 12:12:50 -04:00
Jeffrey Walton
c33a567654 Updated comment with TODO to make it easy to locate in the future via grep/find 2015-07-19 12:04:23 -04:00
Jeffrey Walton
7c0c1f57d5 Cleared -Wparentheses from GCC 5.1 2015-07-19 12:00:17 -04:00
Jeffrey Walton
ef5a8f883c Cleared -Wparentheses from GCC 5.1 2015-07-19 11:27:11 -04:00
Jeffrey Walton
d04b813e8b Cleared -Wmaybe-uninitialized under GCC 5.1 2015-07-19 11:05:48 -04:00
Jeffrey Walton
e874cd2ef8 Fixed spelling error in header comments 2015-07-19 10:57:12 -04:00
Jeffrey Walton
90b5dc9e61 Cleared remaining virtual destructor warnings under GCC with -Wall 2015-07-19 10:24:10 -04:00
Jeffrey Walton
8f59d9af35 Cleared unused variable and function warnings 2015-07-19 10:22:16 -04:00
Jeffrey Walton
41be55ca17 Fixed copy/paste error 2015-07-19 09:43:10 -04:00
Jeffrey Walton
ee71d0041f Cleared virtual destructor warnings under GCC with -Wall 2015-07-19 09:41:46 -04:00
Jeffrey Walton
c8fb6567da Cleared virtual destructor warnings under GCC with -Wall 2015-07-19 09:29:02 -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
d19790bbca Cleared UBsan errors 2015-07-19 07:58:55 -04:00
Jeffrey Walton
b54e637896 Whitespace checkin 2015-07-19 07:21:42 -04:00