emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110002: Work around GCC and GNOME bu


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110002: Work around GCC and GNOME bugs when --enable-gcc-warnings.
Date: Wed, 12 Sep 2012 18:22:08 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110002
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Wed 2012-09-12 18:22:08 -0700
message:
  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.
modified:
  src/ChangeLog
  src/emacsgtkfixed.c
  src/image.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-09-12 21:34:24 +0000
+++ b/src/ChangeLog     2012-09-13 01:22:08 +0000
@@ -1,3 +1,12 @@
+2012-09-13  Paul Eggert  <address@hidden>
+
+       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  <address@hidden>
 
        More fixes for 'volatile' and setjmp/longjmp.

=== modified file 'src/emacsgtkfixed.c'
--- a/src/emacsgtkfixed.c       2012-09-07 01:27:44 +0000
+++ b/src/emacsgtkfixed.c       2012-09-13 01:22:08 +0000
@@ -27,6 +27,11 @@
 #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)

=== modified file 'src/image.c'
--- a/src/image.c       2012-09-12 21:34:24 +0000
+++ b/src/image.c       2012-09-13 01:22:08 +0000
@@ -6140,6 +6140,9 @@
       MY_JPEG_INVALID_IMAGE_SIZE,
       MY_JPEG_CANNOT_CREATE_X
     } failure_code;
+#ifdef lint
+  FILE *fp;
+#endif
 };
 
 
@@ -6392,6 +6395,8 @@
       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 @@
       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);


reply via email to

[Prev in Thread] Current Thread [Next in Thread]