pbzip2 doesn't build with newer versions of clang++
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pbzip2 |
New
|
Undecided
|
Unassigned |
Bug Description
With newer versions of clang++, pbzip2 build fails with [-Wreserved-
Tested with pbzip2-1.1.13:
$ CXX=clang++ make
clang++ -O2 -D_LARGEFILE64_
pbzip2.cpp:1223:75: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
pbzip2.cpp:1832:39: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
pbzip2.cpp:2075:39: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
pbzip2.cpp:2797:80: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
pbzip2.cpp:4105:41: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
pbzip2.cpp:4227:65: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-
6 errors generated.
The build works again after applying this patch (also attached): decompress( int hInfile, OFF_T fileSize, queue *fifo)
// give warning to user if block is larger than 250 million bytes
if (fileData->bufSize > 250000000)
{
( uintmax_ t) fileData->bufSize);
fprintf( stderr, " If program aborts, use regular BZIP2 to decompress.\n");
}
--- pbzip2.cpp
+++ pbzip2.cpp
@@ -1220,7 +1220,7 @@ int producer_
- fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%"PRIuMAX" bytes].\n",
+ fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%" PRIuMAX " bytes].\n",
@@ -1829,7 +1829,7 @@ void *fileWriter(void *outname)
if (QuietMode != 1) t)CompressedSiz e); t)CompressedSiz e);
{
- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_
+ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_
}
#ifdef PBZIP_DEBUG
close( hOutfile) ; t)CompressedSiz e); t)CompressedSiz e);
@@ -2072,7 +2072,7 @@ int directcompress(int hInfile, OFF_T fileSize, int blockSize, const char *OutFi
if (QuietMode != 1)
{
- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_
+ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_
}
@@ -2794,7 +2794,7 @@ void outputBufferIni
// unlikely to get here since more likely exception will be thrown
if (OutputBuffer.
{
- fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%"PRIuMAX"! Aborting...\n", (uintmax_t)size);
+ fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%" PRIuMAX "! Aborting...\n", (uintmax_t)size);
}
@@ -4102,7 +4102,7 @@ int main(int argc, char* argv[])
- fprintf(stderr, " Input Size: %"PRIuMAX" bytes\n", (uintmax_
+ fprintf(stderr, " Input Size: %" PRIuMAX " bytes\n", (uintmax_
}
if (decompress == 1)
{
NumBuffered BlocksMax = numCPU;
if (QuietMode != 1) t)((NumBuffered BlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
@@ -4224,7 +4224,7 @@ int main(int argc, char* argv[])
- fprintf(stderr, "*Warning* Max memory limit increased to %"PRIuMAX" MB to support %d CPUs\n", (uintmax_
+ fprintf(stderr, "*Warning* Max memory limit increased to %" PRIuMAX " MB t...