Work around GCC and GNOME bugs when --enable-gcc-warnings.
* emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify', to work around GNOME bug 683906. * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber. (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp. This works around GCC bug 54561.
This commit is contained in:
parent
40bce90baa
commit
5f0cb45a6f
3 changed files with 22 additions and 0 deletions
|
@ -1,3 +1,12 @@
|
|||
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Work around GCC and GNOME bugs when --enable-gcc-warnings.
|
||||
* emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
|
||||
to work around GNOME bug 683906.
|
||||
* image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber.
|
||||
(struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp.
|
||||
This works around GCC bug 54561.
|
||||
|
||||
2012-09-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
More fixes for 'volatile' and setjmp/longjmp.
|
||||
|
|
|
@ -27,6 +27,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#include "frame.h"
|
||||
#include "xterm.h"
|
||||
|
||||
/* Silence a bogus diagnostic; see GNOME bug 683906. */
|
||||
#include <verify.h>
|
||||
#undef G_STATIC_ASSERT
|
||||
#define G_STATIC_ASSERT(x) verify (x)
|
||||
|
||||
#define EMACS_TYPE_FIXED emacs_fixed_get_type ()
|
||||
#define EMACS_FIXED(obj) \
|
||||
G_TYPE_CHECK_INSTANCE_CAST (obj, EMACS_TYPE_FIXED, EmacsFixed)
|
||||
|
|
|
@ -6140,6 +6140,9 @@ struct my_jpeg_error_mgr
|
|||
MY_JPEG_INVALID_IMAGE_SIZE,
|
||||
MY_JPEG_CANNOT_CREATE_X
|
||||
} failure_code;
|
||||
#ifdef lint
|
||||
FILE *fp;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
|
@ -6392,6 +6395,8 @@ jpeg_load_body (struct frame *f, struct image *img,
|
|||
return 0;
|
||||
}
|
||||
|
||||
IF_LINT (mgr->fp = fp);
|
||||
|
||||
/* Customize libjpeg's error handling to call my_error_exit when an
|
||||
error is detected. This function will perform a longjmp. */
|
||||
mgr->cinfo.err = fn_jpeg_std_error (&mgr->pub);
|
||||
|
@ -6430,6 +6435,9 @@ jpeg_load_body (struct frame *f, struct image *img,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Silence a bogus diagnostic; see GCC bug 54561. */
|
||||
IF_LINT (fp = mgr->fp);
|
||||
|
||||
/* Create the JPEG decompression object. Let it read from fp.
|
||||
Read the JPEG image header. */
|
||||
fn_jpeg_CreateDecompress (&mgr->cinfo, JPEG_LIB_VERSION, sizeof *&mgr->cinfo);
|
||||
|
|
Loading…
Add table
Reference in a new issue