hrev50404 adds 4 changesets to branch 'master'
old head: be2c072556dc4df94f3ab0ec8166e3da4d5c9541
new head: ac30c586486721fcd1c553958ecd668c3e62f09e
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=ac30c5864867+%5Ebe2c072556dc
----------------------------------------------------------------------------
863a6388b4d0: JPEG translator: fix warnings and enable Werror
Using setjmp and modifying local variables in the same function is not
allowed.
Fixes #12653.
1b29ad289e81: PNG translator: fix gcc2 complaining about setjmp clobbering
variables.
Fixes #12662.
9e72a18d0fd9: wonderbrush translator: fix warnings.
Static variable used only in commented out code, comment it out as well.
ac30c5864867: Enable Werror for jpeg, png, wonderbrush translators.
[ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]
----------------------------------------------------------------------------
4 files changed, 21 insertions(+), 12 deletions(-)
build/jam/ArchitectureRules | 8 ++++----
src/add-ons/translators/jpeg/JPEGTranslator.cpp | 7 ++-----
src/add-ons/translators/png/PNGTranslator.cpp | 16 ++++++++++++++--
.../translators/wonderbrush/support/lab_convert.cpp | 2 +-
############################################################################
Commit: 863a6388b4d00ad594767313b26736bc451e0b2b
URL: http://cgit.haiku-os.org/haiku/commit/?id=863a6388b4d0
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Jul 10 16:14:58 2016 UTC
Ticket: https://dev.haiku-os.org/ticket/12653
JPEG translator: fix warnings and enable Werror
Using setjmp and modifying local variables in the same function is not
allowed.
Fixes #12653.
----------------------------------------------------------------------------
diff --git a/src/add-ons/translators/jpeg/JPEGTranslator.cpp
b/src/add-ons/translators/jpeg/JPEGTranslator.cpp
index e9b296d..366c5ad 100644
--- a/src/add-ons/translators/jpeg/JPEGTranslator.cpp
+++ b/src/add-ons/translators/jpeg/JPEGTranslator.cpp
@@ -764,10 +764,6 @@ JPEGTranslator::DerivedTranslate(BPositionIO* inSource,
const translator_info* inInfo, BMessage* ioExtension, uint32 outType,
BPositionIO* outDestination, int32 baseType)
{
- // If no specific type was requested, convert to the interchange format
- if (outType == 0)
- outType = B_TRANSLATOR_BITMAP;
-
// Setup a "breakpoint" since throwing exceptions does not seem to work
// at all in an add-on. (?)
// In the be_jerror.cpp we implement a handler for critical library
errors
@@ -788,7 +784,8 @@ JPEGTranslator::DerivedTranslate(BPositionIO* inSource,
&& outType == JPEG_FORMAT) {
return Compress(inSource, outDestination,
&longJumpBuffer);
} else if (inInfo->type == JPEG_FORMAT
- && outType == B_TRANSLATOR_BITMAP) {
+ && (outType == B_TRANSLATOR_BITMAP || outType
== 0)) {
+ // This is the default if no specific outType was
requested.
return Decompress(inSource, outDestination, ioExtension,
&longJumpBuffer);
}
############################################################################
Commit: 1b29ad289e8177cfc831e2975046852b475fd6b1
URL: http://cgit.haiku-os.org/haiku/commit/?id=1b29ad289e81
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Jul 10 16:33:19 2016 UTC
Ticket: https://dev.haiku-os.org/ticket/12662
PNG translator: fix gcc2 complaining about setjmp clobbering variables.
Fixes #12662.
----------------------------------------------------------------------------
diff --git a/src/add-ons/translators/png/PNGTranslator.cpp
b/src/add-ons/translators/png/PNGTranslator.cpp
index a982ad3..cc93fb5 100644
--- a/src/add-ons/translators/png/PNGTranslator.cpp
+++ b/src/add-ons/translators/png/PNGTranslator.cpp
@@ -292,6 +292,18 @@ PNGTranslator::DerivedIdentify(BPositionIO *inSource,
return identify_png_header(inSource, outInfo);
}
+
+// Workaround for gcc2 complaining about clobbered variables when we do a
+// setjmp, even though the variables are not accessed when returning from
+// a longjmp. Moving setjmp to a different function is enough to hide the
+// problem from gcc2.
+static int
+setjmp_wrapper(jmp_buf buf)
+{
+ return setjmp(buf);
+}
+
+
status_t
PNGTranslator::translate_from_png_to_bits(BPositionIO *inSource,
BPositionIO *outDestination)
@@ -322,7 +334,7 @@ PNGTranslator::translate_from_png_to_bits(BPositionIO
*inSource,
if (!pinfo)
break;
// set error handling
- if (setjmp(png_jmpbuf(ppng)))
+ if (setjmp_wrapper(png_jmpbuf(ppng)))
// When an error occurs in libpng, it uses
// the longjmp function to continue execution
// from this point
@@ -829,7 +841,7 @@ PNGTranslator::translate_from_bits_to_png(BPositionIO
*inSource,
break;
}
// set error handling
- if (setjmp(png_jmpbuf(ppng))) {
+ if (setjmp_wrapper(png_jmpbuf(ppng))) {
// When an error occurs in libpng, it uses
// the longjmp function to continue execution
// from this point
############################################################################
Commit: 9e72a18d0fd94acd2384b75b30a3ede6fad2af1c
URL: http://cgit.haiku-os.org/haiku/commit/?id=9e72a18d0fd9
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Jul 10 17:03:42 2016 UTC
wonderbrush translator: fix warnings.
Static variable used only in commented out code, comment it out as well.
----------------------------------------------------------------------------
diff --git a/src/add-ons/translators/wonderbrush/support/lab_convert.cpp
b/src/add-ons/translators/wonderbrush/support/lab_convert.cpp
index 5da5e49..1f36488 100644
--- a/src/add-ons/translators/wonderbrush/support/lab_convert.cpp
+++ b/src/add-ons/translators/wonderbrush/support/lab_convert.cpp
@@ -43,7 +43,7 @@ init_linear_table()
}
// conversion from RGB (0...255) to linear and normalized RGB (0...1)
-static uint8* gammaTable = init_gamma_table();
+/*static uint8* gammaTable = init_gamma_table();*/
static float* linearTable = init_linear_table();
// matrix entries: XYZ -> RGB (709 RGB, D65 Whitepoint)
############################################################################
Revision: hrev50404
Commit: ac30c586486721fcd1c553958ecd668c3e62f09e
URL: http://cgit.haiku-os.org/haiku/commit/?id=ac30c5864867
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Jul 10 17:13:22 2016 UTC
Enable Werror for jpeg, png, wonderbrush translators.
----------------------------------------------------------------------------
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules
index 0730e2d..1abf40c 100644
--- a/build/jam/ArchitectureRules
+++ b/build/jam/ArchitectureRules
@@ -610,19 +610,19 @@ rule ArchitectureSetupWarnings architecture
# EnableWerror src add-ons translators hpgs ;
EnableWerror src add-ons translators hvif ;
EnableWerror src add-ons translators ico ;
-# EnableWerror src add-ons translators jpeg ; # gcc2
+ EnableWerror src add-ons translators jpeg ;
EnableWerror src add-ons translators jpeg2000 ;
EnableWerror src add-ons translators pcx ;
-# EnableWerror src add-ons translators png ; # gcc2
+ EnableWerror src add-ons translators png ;
EnableWerror src add-ons translators ppm ;
EnableWerror src add-ons translators raw ;
EnableWerror src add-ons translators rtf ;
EnableWerror src add-ons translators sgi ;
EnableWerror src add-ons translators shared ;
-# EnableWerror src add-ons translators stxt ;
+ EnableWerror src add-ons translators stxt ;
EnableWerror src add-ons translators tga ;
EnableWerror src add-ons translators tiff ;
-# EnableWerror src add-ons translators wonderbrush ;
+ EnableWerror src add-ons translators wonderbrush ;
EnableWerror src add-ons print ;
EnableWerror src bin desklink ;
EnableWerror src bin multiuser ;