Eliminate -Wconversion warnings.

Change types of local variables, or casting, or re-arrange
expressions to get rid of "conversion may alter value" warnings
as seen on recent dashboard submissions from londinium.kitware.
This commit is contained in:
David Cole 2010-06-27 11:22:05 -04:00
parent 4745f4996b
commit 415900ba77
7 changed files with 22 additions and 17 deletions

View File

@ -135,7 +135,7 @@ int cmCPackDebGenerator::CompressFiles(const char* outFileName,
// now add all directories which have to be compressed // now add all directories which have to be compressed
// collect all top level install dirs for that // collect all top level install dirs for that
// e.g. /opt/bin/foo, /usr/bin/bar and /usr/bin/baz would give /usr and /opt // e.g. /opt/bin/foo, /usr/bin/bar and /usr/bin/baz would give /usr and /opt
int topLevelLength = strlen(toplevel); size_t topLevelLength = strlen(toplevel);
std::set<std::string> installDirs; std::set<std::string> installDirs;
for (std::vector<std::string>::const_iterator fileIt = files.begin(); for (std::vector<std::string>::const_iterator fileIt = files.begin();
fileIt != files.end(); ++ fileIt ) fileIt != files.end(); ++ fileIt )
@ -431,7 +431,7 @@ static int put_arobj(CF *cfp, struct stat *sb)
/* If not truncating names and the name is too long or contains /* If not truncating names and the name is too long or contains
* a space, use extended format 1. */ * a space, use extended format 1. */
unsigned int lname = strlen(name); size_t lname = strlen(name);
uid_t uid = sb->st_uid; uid_t uid = sb->st_uid;
gid_t gid = sb->st_gid; gid_t gid = sb->st_gid;
if (uid > USHRT_MAX) { if (uid > USHRT_MAX) {
@ -441,7 +441,7 @@ static int put_arobj(CF *cfp, struct stat *sb)
gid = USHRT_MAX; gid = USHRT_MAX;
} }
if (lname > sizeof(hdr->ar_name) || strchr(name, ' ')) if (lname > sizeof(hdr->ar_name) || strchr(name, ' '))
(void)sprintf(ar_hb, HDR1, AR_EFMT1, lname, (void)sprintf(ar_hb, HDR1, AR_EFMT1, (int)lname,
(long int)sb->st_mtime, uid, gid, sb->st_mode, (long int)sb->st_mtime, uid, gid, sb->st_mode,
(long long)sb->st_size + lname, ARFMAG); (long long)sb->st_size + lname, ARFMAG);
else { else {

View File

@ -758,7 +758,7 @@ CreateComponentDescription(cmCPackComponent *component,
} }
// Create the NSIS code to download this file on-the-fly. // Create the NSIS code to download this file on-the-fly.
unsigned totalSizeInKbytes = (totalSize + 512) / 1024; unsigned long totalSizeInKbytes = (totalSize + 512) / 1024;
if (totalSizeInKbytes == 0) if (totalSizeInKbytes == 0)
{ {
totalSizeInKbytes = 1; totalSizeInKbytes = 1;

View File

@ -959,7 +959,7 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
this->ProcessBuffer(0, 0, tick, tick_len, ofs, this->ProcessBuffer(0, 0, tick, tick_len, ofs,
&this->BuildProcessingErrorQueue); &this->BuildProcessingErrorQueue);
cmCTestLog(this->CTest, OUTPUT, " Size of output: " cmCTestLog(this->CTest, OUTPUT, " Size of output: "
<< int(this->BuildOutputLogSize / 1024.0) << "K" << std::endl); << ((this->BuildOutputLogSize + 512) / 1024) << "K" << std::endl);
// Properly handle output of the build command // Properly handle output of the build command
cmsysProcess_WaitForExit(cp, 0); cmsysProcess_WaitForExit(cp, 0);
@ -1171,7 +1171,7 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
if ( tick % tick_line_len == 0 && tick > 0 ) if ( tick % tick_line_len == 0 && tick > 0 )
{ {
cmCTestLog(this->CTest, HANDLER_OUTPUT, " Size: " cmCTestLog(this->CTest, HANDLER_OUTPUT, " Size: "
<< int((this->BuildOutputLogSize / 1024.0) + 1) << "K" << std::endl << ((this->BuildOutputLogSize + 512) / 1024) << "K" << std::endl
<< " "); << " ");
} }
} }

View File

@ -484,8 +484,9 @@ void cmCTestMultiProcessHandler::CreateTestCostList()
} }
else //we ignore their cost else //we ignore their cost
{ {
this->TestCosts[this->Tests.size() size_t index = this->Tests.size()
- this->Properties[i->first]->Index].insert(i->first); - static_cast<size_t>(this->Properties[i->first]->Index);
this->TestCosts[index].insert(i->first);
} }
} }
} }

View File

@ -83,7 +83,8 @@ void cmCTestRunTest::CompressOutput()
reinterpret_cast<unsigned char*>( reinterpret_cast<unsigned char*>(
const_cast<char*>(this->ProcessOutput.c_str())); const_cast<char*>(this->ProcessOutput.c_str()));
//zlib makes the guarantee that this is the maximum output size //zlib makes the guarantee that this is the maximum output size
int outSize = static_cast<int>(this->ProcessOutput.size() * 1.001 + 13); int outSize = static_cast<int>(
static_cast<double>(this->ProcessOutput.size()) * 1.001 + 13.0);
unsigned char* out = new unsigned char[outSize]; unsigned char* out = new unsigned char[outSize];
strm.zalloc = Z_NULL; strm.zalloc = Z_NULL;
@ -342,13 +343,14 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
void cmCTestRunTest::ComputeWeightedCost() void cmCTestRunTest::ComputeWeightedCost()
{ {
int prev = this->TestProperties->PreviousRuns; double prev = static_cast<double>(this->TestProperties->PreviousRuns);
float avgcost = this->TestProperties->Cost; double avgcost = static_cast<double>(this->TestProperties->Cost);
double current = this->TestResult.ExecutionTime; double current = this->TestResult.ExecutionTime;
if(this->TestResult.Status == cmCTestTestHandler::COMPLETED) if(this->TestResult.Status == cmCTestTestHandler::COMPLETED)
{ {
this->TestProperties->Cost = ((prev * avgcost) + current) / (prev + 1); this->TestProperties->Cost =
static_cast<float>(((prev * avgcost) + current) / (prev + 1.0));
this->TestProperties->PreviousRuns++; this->TestProperties->PreviousRuns++;
} }
} }
@ -569,7 +571,7 @@ double cmCTestRunTest::ResolveTimeout()
{ {
stop_time += 24*60*60; stop_time += 24*60*60;
} }
int stop_timeout = (stop_time - current_time) % (24*60*60); int stop_timeout = static_cast<int>(stop_time - current_time) % (24*60*60);
this->CTest->LastStopTimeout = stop_timeout; this->CTest->LastStopTimeout = stop_timeout;
if(stop_timeout <= 0 || stop_timeout > this->CTest->LastStopTimeout) if(stop_timeout <= 0 || stop_timeout > this->CTest->LastStopTimeout)

View File

@ -1048,7 +1048,7 @@ void cmCTestTestHandler::ProcessDirectory(std::vector<cmStdString> &passed,
if(randomSchedule) if(randomSchedule)
{ {
p.Cost = rand(); p.Cost = static_cast<float>(rand());
} }
if(p.Timeout == 0 && this->CTest->GetGlobalTimeout() != 0) if(p.Timeout == 0 && this->CTest->GetGlobalTimeout() != 0)
@ -1309,7 +1309,8 @@ std::string cmCTestTestHandler::EncodeFile(std::string file)
cmSystemTools::RemoveFile(tarFile.c_str()); cmSystemTools::RemoveFile(tarFile.c_str());
unsigned char *encoded_buffer unsigned char *encoded_buffer
= new unsigned char [ static_cast<int>(len * 1.5 + 5) ]; = new unsigned char [ static_cast<int>(
static_cast<double>(len) * 1.5 + 5.0) ];
unsigned long rlen unsigned long rlen
= cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1); = cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);
@ -1881,7 +1882,8 @@ std::string cmCTestTestHandler::GenerateRegressionImages(
unsigned char *file_buffer = new unsigned char [ len + 1 ]; unsigned char *file_buffer = new unsigned char [ len + 1 ];
ifs.read(reinterpret_cast<char*>(file_buffer), len); ifs.read(reinterpret_cast<char*>(file_buffer), len);
unsigned char *encoded_buffer unsigned char *encoded_buffer
= new unsigned char [ static_cast<int>(len * 1.5 + 5) ]; = new unsigned char [ static_cast<int>(
static_cast<double>(len) * 1.5 + 5.0) ];
unsigned long rlen unsigned long rlen
= cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1); = cmsysBase64_Encode(file_buffer, len, encoded_buffer, 1);

View File

@ -454,7 +454,7 @@ int cmcompress_compress(struct cmcompress_stream* cdata, void* buff, size_t n)
{ {
goto nomatch; goto nomatch;
} }
disp = cdata->hsize_reg - i; /* secondary hash (after G. Knott) */ disp = (int)(cdata->hsize_reg - i); /* secondary hash (after G. Knott) */
if ( i == 0 ) if ( i == 0 )
{ {
disp = 1; disp = 1;