Thanks. harfbuzz is now fixed upstream. libjpeg has acknowledged the patch for shift-negative-value warnings.

Can someone advise on the minor fix in libdt_socket component ?


On 02/03/2018 05:47 AM, Philip Race wrote:
jpeg + harfbuzz are imported libraries. There's no point in a source fix in JDK'scopy as it will get overwritten when we upgrade. No way we are tracking such patches to reapply them.

If warnings there are an issue either update the makefiles or use disable-warnings-as-errors
... and perhaps report the issue upstream ..

-phil.

On 2/3/18, 1:35 AM, Alan Bateman wrote:

This was sent to core-libs-dev, I assume it was meant for 2d-dev and serviceability-dev.

-------- Forwarded Message --------
Subject:        [PATCH] Fix compiler warnings with newer GCC 7.2.1
Date:   Fri, 2 Feb 2018 16:12:08 -0800
From:   Indu Bhagat <indu.bha...@oracle.com>
To:     core-libs-...@openjdk.java.net



This patch fixes a few of the compiler warnings when using gcc 7.2.1.

In general there are many other warnings (a majority of which are implicit 
fallthrough warnings in jdk.crypto.ec package's ecp_*.c files and java.desktop 
package's splashscreen_gfx_impl.h file).
I can post them if there is interest.
Most warnings, however, look benign (modulo some warnings about unintialized 
access that I cannot comment on; they need that the code be thoroughly 
understood).
libfdlibm misleading indentation warnings are already 
knownhttp://mail.openjdk.java.net/pipermail/jdk9-dev/2016-June/004494.html

Thanks

----------------------------------------------
The patch fixes the following warnings :

1. 
<jdk-dev>/jdk/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c: 
In function ‘mask_s2u’:
    
<jdk-dev>/jdk/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c:389:22:
 warning: left shift of negative value [-Wshift-negative-value]
      *mask = htonl(-1 << (32 - m));
                       ^
2. <jdk-dev>/jdk/src/java.desktop/share/native/libjavajpeg/jdphuff.c: In 
function ‘decode_mcu_AC_refine’:
    <jdk-dev>/jdk/src/java.desktop/share/native/libjavajpeg/jdphuff.c:505:17: 
warning: left shift of negative value [-Wshift-negative-value]
    int m1 = (-1) << cinfo->Al;   /* -1 in the bit position being coded*/
                  ^~
3. 
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:
 In function ‘void position_mark(const hb_ot_shape_plan_t*, hb_font_t*, hb_buffer_t*, 
hb_glyph_extents_t&, unsigned int, unsigned int)’:
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:223:14:
 warning: this statement may fall through [-Wimplicit-fallthrough=]
        } else if (buffer->props.direction == HB_DIRECTION_RTL) {
               ^~
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:229:5:
 note: here
      default:
      ^~~~~~~
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:261:27:
 warning: this statement may fall through [-Wimplicit-fallthrough=]
        base_extents.height -= y_gap;
        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:264:5:
 note: here
      case HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT:
      ^~~~
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:282:27:
 warning: this statement may fall through [-Wimplicit-fallthrough=]
        base_extents.height -= y_gap;
        ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
    
<jdk-dev>/jdk/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback.cc:285:5:
 note: here
      case HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE:
      ^~~~
-----------

diff --git 
a/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh 
b/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh
--- a/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh
+++ b/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh
@@ -158,6 +158,9 @@
      */
  #  include <sal.h>
  #  define HB_FALLTHROUGH __fallthrough
+#elif __GNUC__ >= 7
+   /* GNU fallthrough attribute is available from GCC7 */
+#  define HB_FALLTHROUGH __attribute__((fallthrough))
  #else
  #  define HB_FALLTHROUGH /* FALLTHROUGH */
  #endif
diff --git a/src/java.desktop/share/native/libjavajpeg/jdphuff.c 
b/src/java.desktop/share/native/libjavajpeg/jdphuff.c
--- a/src/java.desktop/share/native/libjavajpeg/jdphuff.c
+++ b/src/java.desktop/share/native/libjavajpeg/jdphuff.c
@@ -501,8 +501,10 @@
  {
    phuff_entropy_ptr entropy = (phuff_entropy_ptr) cinfo->entropy;
    int Se = cinfo->Se;
-  int p1 = 1 << cinfo->Al;      /* 1 in the bit position being coded */
-  int m1 = (-1) << cinfo->Al;   /* -1 in the bit position being coded */
+  /* 1 in the bit position being coded */
+  int p1 = 1 << cinfo->Al;
+  /* -1 in the bit position being coded */
+  int m1 = (int)((unsigned)(~0) << cinfo->Al);
    register int s, k, r;
    unsigned int EOBRUN;
    JBLOCKROW block;
diff --git a/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c 
b/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c
--- a/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c
+++ b/src/jdk.jdwp.agent/share/native/libdt_socket/socketTransport.c
@@ -386,7 +386,7 @@
         return instr;
      }
- *mask = htonl(-1 << (32 - m));
+    *mask = htonl((uint32_t)(~0) << (32 - m));
      return s;
  }

Reply via email to