diff options
author | shenhan@google.com <shenhan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-05 01:54:46 +0000 |
---|---|---|
committer | shenhan@google.com <shenhan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-05 01:54:46 +0000 |
commit | 3fcbd4b4db3bb67e5e3d10944335c3a91f22723e (patch) | |
tree | 3e35507ef2b232faf4f672f1a5f450d4c8b151ca /crypto/ec_signature_creator_nss.cc | |
parent | 34d4ebbfd10b704f4f9be87a74e2e072c4dec081 (diff) | |
download | chromium_src-3fcbd4b4db3bb67e5e3d10944335c3a91f22723e.zip chromium_src-3fcbd4b4db3bb67e5e3d10944335c3a91f22723e.tar.gz chromium_src-3fcbd4b4db3bb67e5e3d10944335c3a91f22723e.tar.bz2 |
Fixing gcc 4.7 building problems.
a) - gcc-4.7 improved the implicit headers that it includes. with
<4.7, the gthr-default.h file always pulls in unistd.h. with >=4.7,
they avoided that include when possible. so code that isn't including
unistd.h itself but needs it now breaks.
b) - narrowing conversion in initiliazation list now raises an
'ill-formed conversion' warning, which causes error when -Werror is
given.
[THIS PART IS NOW REVERTED IN THE PATCH} c) - included patches from pastebin - http://pastebin.com/raw.php?i=p3UKs7Cg
Note - this may not be fixing all the gcc 4.7 build problems for all
parts, but rather than submitting one big-fix-for-all CL, we'd better
do it incrementally (given that all the modification is reasonable and
minor) so that at least some parts get a successful gcc 4.7 build.
BUG=None
TEST=Built successfully using GCC-4.7 under chromium chroot
Review URL: https://chromiumcodereview.appspot.com/10451068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140470 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto/ec_signature_creator_nss.cc')
-rw-r--r-- | crypto/ec_signature_creator_nss.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/crypto/ec_signature_creator_nss.cc b/crypto/ec_signature_creator_nss.cc index 388870f..a85b1e9 100644 --- a/crypto/ec_signature_creator_nss.cc +++ b/crypto/ec_signature_creator_nss.cc @@ -8,6 +8,9 @@ #include <pk11pub.h> #include <secerr.h> #include <sechash.h> +#if defined(OS_POSIX) +#include <unistd.h> +#endif #include "base/logging.h" #include "crypto/ec_private_key.h" @@ -34,12 +37,14 @@ SECStatus SignData(SECItem* result, hash_type, &hash_data[0], input->data, input->len); if (rv != SECSuccess) return rv; - SECItem hash = {siBuffer, &hash_data[0], hash_data.size()}; + SECItem hash = {siBuffer, &hash_data[0], + static_cast<unsigned int>(hash_data.size())}; // Compute signature of hash. int signature_len = PK11_SignatureLen(key); std::vector<uint8> signature_data(signature_len); - SECItem sig = {siBuffer, &signature_data[0], signature_len}; + SECItem sig = {siBuffer, &signature_data[0], + static_cast<unsigned int>(signature_len)}; rv = PK11_Sign(key, &sig, &hash); if (rv != SECSuccess) return rv; |