getting a handle on build warnings

Kelly O'Hair Kelly.Ohair at Sun.COM
Mon Aug 18 19:37:16 UTC 2008


With the integration of the changeset:
   http://hg.openjdk.java.net/jdk7/tl/jdk/rev/e093efae8c5f

The jdk7 compiler warnings have gone down a bunch, running my script
over the build logs of all platforms I came up with the following top 20:

Top 20 'src/' files mentioned in warning messages:
-------------------------------------------------
2062 src/closed/share/classes/sun/jdbc/odbc/JdbcOdbc.c
1096 src/solaris/native/sun/awt/gtk2_interface.c
  883 src/closed/share/native/sun/java2d/cmm/kcms/evalth13.c
  276 src/build/tools/javazic/Gen.java
  272 src/closed/share/native/sun/java2d/cmm/kcms/evalth14.c
  170 src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
  136 src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
  128 src/share/native/sun/font/layout/LEGlyphStorage.h
  114 src/share/classes/javax/sql/rowset/BaseRowSet.java
   96 src/solaris/native/java/io/io_util_md.h
   92 src/solaris/native/sun/java2d/x11/X11Renderer.c
   84 src/build/tools/javazic/Time.java
   64 src/share/native/sun/awt/giflib/dgif_lib.c
   62 src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32U16Func.c
   62 src/solaris/native/sun/awt/medialib/mlib_v_ImageLookUpSIS32S16Func.c
   58 src/closed/share/native/sun/font/t2k/t2k.c
   52 src/share/native/sun/awt/image/jpeg/imageioJPEG.c
   48 src/share/classes/java/util/Formatter.java
   48 src/javaws/solaris/native/system_md.c
   48 src/build/tools/compilefontconfig/CompileFontConfig.java

I'll look at fixing JdbcOdbc.c.

Slowly this WILL get clean this up.

-kto


Kelly O'Hair wrote:
> 
> FYI...
> 
> I dug up my old wstats ksh script and ran it over a concatenation of the
> latest jdk7 build 30 logs for all 8 of builds done by Java Release 
> Engineering
> (solaris-i586, solaris-x64, solaris-sparc, solaris-sparcv9, linux-i586,
> linux-x64, windows-i586, and windows-x64).
> Granted, these are OLD Linux systems with gcc 3.2, and lots of duplicates
> here.
> 
> The problems with dealing with the C/C++ warnings is that the different 
> compilers
> and different releases of the compilers create a bit of an unknown when 
> trying
> to fix warnings. Fixing a warning from gcc4 might just trigger a new 
> warning
> for some other reason from the Sun Studio compiler, can be frustrating.
> And using just a slightly newer or patched gcc or Sun Studio compiler might
> generate new warnings you haven't seen before.
> This has gotten better over time but continues to be an issue.
> 
> A danger also lies in how a warning is fixed in native code that needs 
> to work on
> all platforms and with different compilers, for example, adding a cast like
> '(long)' might shut up a warning, but could break Windows X64 where a long
> is 32bits not 64bits. People need to be very careful in the native code.
> 
> At least with the javac warnings, fixing them is more concrete, and 
> probably
> less risky ;^)
> 
> I'm all in favor of fixing the warnings, just trying to make sure it's done
> safely. ;^)
> 
> -kto
> 
> -------------------------------------
> 
> 
> Warning Message Counts:
> ----------------------
> 15790 ld warnings (contains 'ld:')
>  6686 C warnings (contains '[.]c[":]')
>  1616 C Include file warnings (contains '[.]h[":]')
>  9700 C++ warnings (contains '[.]cpp[":]')
>     0 C++ Include file warnings (contains '[.]hpp[":]')
>  4432 Java warnings (contains '.java:' or 'Note:' )
>     0 VM warnings (contains 'VM warning:' )
>   600 Javadoc warnings (contains ': warning -')
>   250 Compiler driver warnings (contains cc: or CC: or 'cl :')
>    59 GNU make warnings (contains '.gmk:' or 'akefile:' or '(ignored)' 
> or starts with 'gnumake')
>   276 Shell warnings (contains ': not found' or 'awk:')
>   187 Build warnings (contains WARNING:)
>   312 Font warnings (contains 'entry is missing')
> -----
> 39908 Total of above warnings
> 
> 29252 Messages that appear to be duplicates
>    18 Remaining errors not counted
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> /usr/ccs/bin/as: 
> "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s", 
> line 86: warning: label in delay slot (follows CTI)
> warning: package com.sun.java.swing.plaf does not exist
> /usr/ccs/bin/as: 
> "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s", 
> line 86: warning: label in delay slot (follows CTI)
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf.gtk does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf.gtk does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf.gtk does not exist
> warning: package com.sun.java.swing.plaf does not exist
> warning: package com.sun.java.swing.plaf.gtk does not exist
> 
> Top 20 'src/' files mentioned in warning messages:
> -------------------------------------------------
> 7972 src/share/native/com/sun/java/util/jar/pack/coding.cpp
> 2062 src/closed/share/classes/sun/jdbc/odbc/JdbcOdbc.c
> 1278 src/share/native/com/sun/java/util/jar/pack/unpack.cpp
> 1188 src/share/classes/sun/corba/Bridge.java
> 1096 src/solaris/native/sun/awt/gtk2_interface.c
>  888 src/closed/share/native/sun/java2d/cmm/kcms/evalth13.c
>  720 src/share/native/com/sun/java/util/jar/pack/bands.h
>  276 src/share/native/com/sun/java/util/jar/pack/unpack.h
>  276 src/build/tools/javazic/Gen.java
>  272 src/closed/share/native/sun/java2d/cmm/kcms/evalth14.c
>  252 src/share/classes/sun/nio/ch/FileChannelImpl.java
>  204 src/share/native/com/sun/java/util/jar/pack/bytes.h
>  204 src/share/classes/org/omg/CORBA/ORB.java
>  192 
> src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java 
> 
>  170 src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
>  140 src/share/native/com/sun/java/util/jar/pack/zip.cpp
>  136 src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
>  128 src/share/native/sun/font/layout/LEGlyphStorage.h
>  114 src/share/classes/javax/sql/rowset/BaseRowSet.java
>  108 src/share/classes/javax/rmi/CORBA/GetORBPropertiesFileAction.java
> 
> 
> 
> Jonathan Gibbons wrote:
>> I've written a program to analyze the warnings in a build log, 
>> containing most of
>> the ideas I outlined earlier, and more.
>>
>> Right now, a "warning" is defined as a line containing the string 
>> "warning"
>> with false positives filtered out (e.g. a reference to a file called 
>> warning.png)
>>
>> It can generate a report in plain text or html, containing any/all of 
>> the following:
>> - comparison against a reference log, such as the log for an earlier 
>> promoted build
>> - a summary of the warnings, grouped by the location contained in the 
>> warning
>> - a summary of the warnings, grouped by the type of the warning
>> The summaries are given sorted both alphabetically and by frequency.
>>
>> I've attached a sample of the output. The input was the log for a 
>> build on my
>> laptop. For the purposes of testing, the "reference" was the same log 
>> truncated
>> to 25000 lines.
>>
>> The big surprise: One file is responsible for nearly 72% of all the 
>> warnings in this
>> build: 1928 warnings out of a total of 2684!  The file in question is
>>    com/sun/java/util/jar/pack/coding.cpp
>>
>> The corollary is good news for everyone else; there are fewer warnings 
>> through
>> the rest of the build than I expected, with only 14 files having 10 or 
>> more warnings.
>> But, there are still over 150 files containing warnings :-(
>>
>> -- Jon
>>
>>
>>
>> Jonathan Gibbons wrote:
>>> Well, here's an unexpected initial result.
>>>
>>> I just ran a build of langtools+jdk on my ubuntu laptop.   I got a 
>>> whopping 2658 warnings!!  [Those who volunteered to help get rid of 
>>> all the warnings, don't all step back at once!]  But surprisingly, 
>>> after a quick "sort -u", only 625 of them are unique. So that means 
>>> we get on average a 4x bang for the buck for each warning we fix :-)
>>>
>>> -- Jon
>>>
>>>
>>> On Jul 11, 2008, at 11:02 AM, Jonathan Gibbons wrote:
>>>
>>>> Depending on what lint options you use, deprecation warnings are 
>>>> typically reported as a single "Note:" at the end of the 
>>>> compilation, rather than as individual warning messages.  Ideally, 
>>>> they should go too, but for now, I'd settle for removing messages 
>>>> that show up as diagnostics in IDEs, emacs, etc.
>>>>
>>>> For my part, I work mostly in the langtools area,  and we are having 
>>>> a general background effort to clean up the code there. The goal is 
>>>> to clean the code and then use -Werror to treat any reappearance of 
>>>> warnings as errors.
>>>>
>>>> -- Jon
>>>>
>>>>
>>>> On Jul 11, 2008, at 10:52 AM, Rob Ross wrote:
>>>>
>>>>> Just curious, would part of this revision process entail removing 
>>>>> calls to deprecated methods and replacing them with their 
>>>>> documented replacement methods?
>>>>>
>>>>> There are many warnings about calls to deprecated methods in the 
>>>>> OpenJDK code.
>>>>>
>>>>>
>>>>> Rob Ross, Lead Software Engineer
>>>>> E! Networks
>>>>>
>>>>> ---------------------------------------------------
>>>>> "Beware of he who would deny you access to information, for in his 
>>>>> heart he dreams himself your master." -- Commissioner Pravin Lal
>>>>>
>>>>>
>>>>>
>>>>> On Jul 11, 2008, at 10:43 AM, Jonathan Gibbons wrote:
>>>>>
>>>>>>
>>>>>> On Jul 11, 2008, at 10:00 AM, Thorbjørn Ravn Andersen wrote:
>>>>>>
>>>>>>> Jonathan Gibbons skrev  den 11-07-2008 13:52:
>>>>>>>>
>>>>>>>> Yes, that technique can work well. But either way, the next step is
>>>>>>>> to try writing the code to analyze the build log, to see how far 
>>>>>>>> the general
>>>>>>>> idea can be taken, and how much interest there is to track/fix 
>>>>>>>> warnings.
>>>>>>>>
>>>>>>> Personally I'd like there to be no warnings at all, and would 
>>>>>>> like to contribute work to get there
>>>>>>>
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>> Getting rid of the actual warnings will require cooperation from 
>>>>>> the teams who are
>>>>>> responsible for the various parts of the code. In some cases, 
>>>>>> there may be resistance,
>>>>>> since stability is sometimes preferred over "no warnings".  That 
>>>>>> being said, what I'm
>>>>>> hoping to achieve with this discussion and any related effort is a 
>>>>>> non-intrusive way
>>>>>> of gathering information about warnings, so that we have a better 
>>>>>> understanding of
>>>>>> where the warnings are, in what areas of the code and in which 
>>>>>> source files.  That way,
>>>>>> we can work with the teams involved to see if there is interest in 
>>>>>> reducing their
>>>>>> warning count in as safe a way as possible.  Any assistance in 
>>>>>> getting to that point
>>>>>> would be welcome.
>>>>>>
>>>>>> (Note that anyone contributing to OpenJDK must first sign the Sun 
>>>>>> Contributor Agreement;
>>>>>> you can find details at http://sca.dev.java.net.)
>>>>>>
>>>>>> -- Jon
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>>   JDK Build Warnings
>>
>> ------------------------------------------------------------------------
>>
>>     * Comparison against reference results
>>           o New warnings not found in reference files <#REF_DELTA_LOCNS>
>>     * Warnings categorized by location
>>           o Warning counts, sorted alphabetically by location
>>             <#LOCN_COUNTS_ALPHA>
>>           o Warning counts, sorted by frequency of location
>>             <#LOCN_COUNTS_FREQ>
>>           o Warning counts, sorted alphabetically by location directory
>>             <#LOCN_DIR_COUNTS_ALPHA>
>>           o Warning counts, sorted by frequency of location directory
>>             <#LOCN_DIR_COUNTS_FREQ>
>>           o Warning counts, sorted alphabetically by location directory
>>             <#LOCN_DIR_COUNTS_ALPHA>
>>           o Warning counts, sorted by frequency of location directory
>>             <#LOCN_DIR_COUNTS_FREQ>
>>     * Warnings categorized by type
>>           o Warning counts, sorted alphabetically by type
>>             <#TYPE_COUNTS_ALPHA>
>>           o Warning counts, sorted by frequency of type 
>> <#TYPE_COUNTS_FREQ>
>>           o Warnings with unrecognized types <#TYPE_UNKNOWN>
>>
>> ------------------------------------------------------------------------
>>
>>
>>       Log files analyzed
>>
>>     * build.log
>>
>> total lines read     28834
>> total warnings found     2648
>> unique warnings found     617
>>
>>
>>       Reference files analyzed
>>
>>     * build-25000.log
>>
>> total lines read     25000
>> total warnings found     2618
>> unique warnings found     590
>>
>>
>>       New warnings not found in reference files
>>
>> democlasses/demo/jvmti/hprof/src/hprof_init.c     1
>> democlasses/demo/jvmti/waiters/src/Agent.cpp     1
>> democlasses/demo/jvmti/waiters/src/waiters.cpp     2
>> javax/swing/JColorChooser.java     1
>> javax/swing/JComponent.java     4
>> javax/swing/JInternalFrame.java     2
>> javax/swing/JList.java     4
>> javax/swing/JPopupMenu.java     1
>> javax/swing/JTabbedPane.java     1
>> javax/swing/JTable.java     5
>> javax/swing/JTree.java     4
>> javax/swing/text/JTextComponent.java     3
>> ~NONE~     1
>>
>>
>>       Warning counts, sorted alphabetically by location
>>
>> /usr/include/X11/IntrinsicP.h     1
>> /usr/include/langinfo.h     1
>> /usr/include/sys/cdefs.h     1
>> /usr/include/sys/param.h     2
>> back/ArrayTypeImpl.c     1
>> back/inStream.c     4
>> back/outStream.c     8
>> back/stream.c     4
>> bin/jexec.c     1
>> bin/parse_manifest.c     1
>> build/tools/compilefontconfig/CompileFontConfig.java     4
>> build/tools/dtdbuilder/DTDParser.java     2
>> build/tools/fontchecker/FontChecker.java     2
>> build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java     
>> 3
>> build/tools/javazic/Gen.java     23
>> build/tools/javazic/GenDoc.java     2
>> build/tools/javazic/Time.java     7
>> com/sun/java/util/jar/pack/bands.cpp     2
>> com/sun/java/util/jar/pack/coding.cpp     1928
>> com/sun/java/util/jar/pack/main.cpp     1
>> com/sun/java/util/jar/pack/unpack.cpp     32
>> com/sun/java/util/jar/pack/unpack.h     24
>> com/sun/java/util/jar/pack/utils.cpp     2
>> com/sun/java/util/jar/pack/zip.cpp     1
>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c     1
>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c     5
>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c     1
>> common/check_code.c     9
>> common/check_format.c     1
>> demo/jvmti/hprof/hprof_init.c     1
>> democlasses/demo/jvmti/hprof/src/hprof_init.c     1
>> democlasses/demo/jvmti/waiters/src/Agent.cpp     1
>> democlasses/demo/jvmti/waiters/src/waiters.cpp     2
>> hpi/native_threads/src/sys_api_td.c     1
>> instrument/JarFacade.c     1
>> java/io/canonicalize_md.c     2
>> java/io/io_util_md.h     8
>> java/lang/Class.c     1
>> java/lang/ClassLoader.c     2
>> java/lang/fdlibm/include/fdlibm.h     1
>> java/lang/fdlibm/src/e_jn.c     1
>> java/lang/fdlibm/src/e_pow.c     1
>> java/lang/fdlibm/src/e_sqrt.c     1
>> java/lang/fdlibm/src/s_ceil.c     1
>> java/lang/fdlibm/src/s_floor.c     1
>> java/lang/fdlibm/src/s_log1p.c     1
>> java/lang/java_props_md.c     3
>> java/lang/reflect/Proxy.c     1
>> java/net/Inet4AddressImpl.c     2
>> java/net/Inet6AddressImpl.c     3
>> java/net/NetworkInterface.c     1
>> java/net/PlainDatagramSocketImpl.c     6
>> java/net/linux_close.c     3
>> java/net/net_util_md.c     2
>> java/nio/Bits.c     8
>> java/nio/MappedByteBuffer.c     1
>> java/util/zip/zip_util.c     1
>> java/util/zip/zlib-1.1.3/inftrees.c     3
>> javavm/include/typedefs.h     8
>> javax/swing/JColorChooser.java     1
>> javax/swing/JComponent.java     4
>> javax/swing/JInternalFrame.java     2
>> javax/swing/JList.java     4
>> javax/swing/JPopupMenu.java     1
>> javax/swing/JTabbedPane.java     1
>> javax/swing/JTable.java     5
>> javax/swing/JTree.java     4
>> javax/swing/text/JTextComponent.java     3
>> sun/awt/awt_DrawingSurface.c     1
>> sun/awt/awt_Font.c     1
>> sun/awt/awt_GraphicsEnv.c     1
>> sun/awt/awt_InputMethod.c     11
>> sun/awt/awt_LoadLibrary.c     2
>> sun/awt/awt_UNIXToolkit.c     1
>> sun/awt/giflib/dgif_lib.c     16
>> sun/awt/image/BufImgSurfaceData.c     1
>> sun/awt/image/jpeg/imageioJPEG.c     19
>> sun/awt/image/jpeg/jpegdecoder.c     1
>> sun/awt/java2d/loops/ByteBinary1Bit.c     5
>> sun/awt/java2d/loops/ByteBinary2Bit.c     5
>> sun/awt/java2d/loops/ByteBinary4Bit.c     5
>> sun/awt/java2d/loops/ByteGray.c     2
>> sun/awt/java2d/loops/ByteIndexed.c     6
>> sun/awt/java2d/loops/FourByteAbgr.c     2
>> sun/awt/java2d/loops/FourByteAbgrPre.c     2
>> sun/awt/java2d/loops/Index12Gray.c     2
>> sun/awt/java2d/loops/Index8Gray.c     2
>> sun/awt/java2d/loops/IntArgb.c     6
>> sun/awt/java2d/loops/IntArgbBm.c     5
>> sun/awt/java2d/loops/IntArgbPre.c     6
>> sun/awt/java2d/loops/IntBgr.c     2
>> sun/awt/java2d/loops/IntRgb.c     2
>> sun/awt/java2d/loops/IntRgbx.c     2
>> sun/awt/java2d/loops/ThreeByteBgr.c     2
>> sun/awt/java2d/loops/TransformHelper.c     3
>> sun/awt/java2d/loops/Ushort555Rgb.c     2
>> sun/awt/java2d/loops/Ushort565Rgb.c     2
>> sun/awt/java2d/loops/UshortGray.c     2
>> sun/awt/java2d/loops/UshortIndexed.c     6
>> sun/awt/java2d/pipe/Region.c     1
>> sun/awt/libpng/pngread.c     1
>> sun/awt/libpng/pngrtran.c     1
>> sun/awt/libpng/pngrutil.c     1
>> sun/awt/libpng/pngwrite.c     1
>> sun/awt/medialib/mlib_ImageAffine.c     7
>> sun/awt/medialib/mlib_ImageAffineEdge.c     34
>> sun/awt/medialib/mlib_ImageColorTrue2Index.c     10
>> sun/awt/medialib/mlib_ImageConvMxN.c     9
>> sun/awt/medialib/mlib_ImageConv_16ext.c     4
>> sun/awt/medialib/mlib_ImageConv_16nw.c     3
>> sun/awt/medialib/mlib_ImageConv_32nw.c     2
>> sun/awt/medialib/mlib_ImageConv_8ext.c     4
>> sun/awt/medialib/mlib_ImageConv_8nw.c     3
>> sun/awt/medialib/mlib_ImageConv_D64nw.c     2
>> sun/awt/medialib/mlib_ImageConv_F32nw.c     1
>> sun/awt/medialib/mlib_ImageConv_u16ext.c     4
>> sun/awt/medialib/mlib_ImageConv_u16nw.c     3
>> sun/awt/medialib/mlib_ImageCopy_Bit.c     4
>> sun/awt/medialib/mlib_ImageCreate.c     2
>> sun/awt/splashscreen/splashscreen_gfx_impl.c     2
>> sun/font/DrawGlyphList.c     5
>> sun/font/X11FontScaler.c     7
>> sun/font/layout/LEGlyphStorage.h     32
>> sun/font/layout/LEInsertionList.h     33
>> sun/font/layout/MorphTables.cpp     1
>> sun/java2d/cmm/lcms/LCMS.c     2
>> sun/java2d/cmm/lcms/cmscgats.c     2
>> sun/java2d/cmm/lcms/cmsio1.c     2
>> sun/java2d/cmm/lcms/cmslut.c     4
>> sun/java2d/cmm/lcms/cmswtpnt.c     1
>> sun/java2d/x11/X11PMBlitLoops.c     2
>> sun/java2d/x11/X11Renderer.c     45
>> sun/java2d/x11/X11SurfaceData.c     10
>> sun/java2d/x11/X11TextRenderer_md.c     1
>> sun/net/spi/DefaultProxySelector.c     1
>> sun/nio/ch/DatagramChannelImpl.c     1
>> sun/nio/ch/InheritedChannel.c     1
>> sun/nio/ch/Net.c     2
>> sun/nio/ch/ServerSocketChannelImpl.c     1
>> sun/nio/ch/SocketChannelImpl.c     1
>> sun/rmi/rmic/Main.java     1
>> sun/rmi/rmic/newrmic/Resources.java     1
>> sun/security/jgss/wrapper/GSSLibStub.c     63
>> sun/security/jgss/wrapper/NativeUtil.c     2
>> sun/security/pkcs11/j2secmod_md.c     3
>> sun/security/pkcs11/wrapper/p11_crypt.c     6
>> sun/security/pkcs11/wrapper/p11_digest.c     1
>> sun/security/pkcs11/wrapper/p11_keymgmt.c     1
>> sun/security/pkcs11/wrapper/p11_md.c     1
>> sun/security/pkcs11/wrapper/p11_sign.c     3
>> sun/security/pkcs11/wrapper/p11_util.c     2
>> sun/tools/serialver/SerialVer.java     1
>> sun/tracing/dtrace/JVM.c     1
>> sun/xawt/XToolkit.c     2
>> sun/xawt/XWindow.c     4
>> sun/xawt/awt_Desktop.c     1
>> transport/socket/socket_md.c     3
>> unpack.cpp     1
>> ~NONE~     5
>>
>>
>>       Warning counts, sorted by frequency of location
>>
>> 1928     com/sun/java/util/jar/pack/coding.cpp
>> 63     sun/security/jgss/wrapper/GSSLibStub.c
>> 45     sun/java2d/x11/X11Renderer.c
>> 34     sun/awt/medialib/mlib_ImageAffineEdge.c
>> 33     sun/font/layout/LEInsertionList.h
>> 32     com/sun/java/util/jar/pack/unpack.cpp
>> 32     sun/font/layout/LEGlyphStorage.h
>> 24     com/sun/java/util/jar/pack/unpack.h
>> 23     build/tools/javazic/Gen.java
>> 19     sun/awt/image/jpeg/imageioJPEG.c
>> 16     sun/awt/giflib/dgif_lib.c
>> 11     sun/awt/awt_InputMethod.c
>> 10     sun/awt/medialib/mlib_ImageColorTrue2Index.c
>> 10     sun/java2d/x11/X11SurfaceData.c
>> 9     common/check_code.c
>> 9     sun/awt/medialib/mlib_ImageConvMxN.c
>> 8     back/outStream.c
>> 8     java/io/io_util_md.h
>> 8     java/nio/Bits.c
>> 8     javavm/include/typedefs.h
>> 7     build/tools/javazic/Time.java
>> 7     sun/awt/medialib/mlib_ImageAffine.c
>> 7     sun/font/X11FontScaler.c
>> 6     java/net/PlainDatagramSocketImpl.c
>> 6     sun/awt/java2d/loops/ByteIndexed.c
>> 6     sun/awt/java2d/loops/IntArgb.c
>> 6     sun/awt/java2d/loops/IntArgbPre.c
>> 6     sun/awt/java2d/loops/UshortIndexed.c
>> 6     sun/security/pkcs11/wrapper/p11_crypt.c
>> 5     com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
>> 5     javax/swing/JTable.java
>> 5     sun/awt/java2d/loops/ByteBinary1Bit.c
>> 5     sun/awt/java2d/loops/ByteBinary2Bit.c
>> 5     sun/awt/java2d/loops/ByteBinary4Bit.c
>> 5     sun/awt/java2d/loops/IntArgbBm.c
>> 5     sun/font/DrawGlyphList.c
>> 5     ~NONE~
>> 4     back/inStream.c
>> 4     back/stream.c
>> 4     build/tools/compilefontconfig/CompileFontConfig.java
>> 4     javax/swing/JComponent.java
>> 4     javax/swing/JList.java
>> 4     javax/swing/JTree.java
>> 4     sun/awt/medialib/mlib_ImageConv_16ext.c
>> 4     sun/awt/medialib/mlib_ImageConv_8ext.c
>> 4     sun/awt/medialib/mlib_ImageConv_u16ext.c
>> 4     sun/awt/medialib/mlib_ImageCopy_Bit.c
>> 4     sun/java2d/cmm/lcms/cmslut.c
>> 4     sun/xawt/XWindow.c
>> 3     
>> build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
>> 3     java/lang/java_props_md.c
>> 3     java/net/Inet6AddressImpl.c
>> 3     java/net/linux_close.c
>> 3     java/util/zip/zlib-1.1.3/inftrees.c
>> 3     javax/swing/text/JTextComponent.java
>> 3     sun/awt/java2d/loops/TransformHelper.c
>> 3     sun/awt/medialib/mlib_ImageConv_16nw.c
>> 3     sun/awt/medialib/mlib_ImageConv_8nw.c
>> 3     sun/awt/medialib/mlib_ImageConv_u16nw.c
>> 3     sun/security/pkcs11/j2secmod_md.c
>> 3     sun/security/pkcs11/wrapper/p11_sign.c
>> 3     transport/socket/socket_md.c
>> 2     /usr/include/sys/param.h
>> 2     build/tools/dtdbuilder/DTDParser.java
>> 2     build/tools/fontchecker/FontChecker.java
>> 2     build/tools/javazic/GenDoc.java
>> 2     com/sun/java/util/jar/pack/bands.cpp
>> 2     com/sun/java/util/jar/pack/utils.cpp
>> 2     democlasses/demo/jvmti/waiters/src/waiters.cpp
>> 2     java/io/canonicalize_md.c
>> 2     java/lang/ClassLoader.c
>> 2     java/net/Inet4AddressImpl.c
>> 2     java/net/net_util_md.c
>> 2     javax/swing/JInternalFrame.java
>> 2     sun/awt/awt_LoadLibrary.c
>> 2     sun/awt/java2d/loops/ByteGray.c
>> 2     sun/awt/java2d/loops/FourByteAbgr.c
>> 2     sun/awt/java2d/loops/FourByteAbgrPre.c
>> 2     sun/awt/java2d/loops/Index12Gray.c
>> 2     sun/awt/java2d/loops/Index8Gray.c
>> 2     sun/awt/java2d/loops/IntBgr.c
>> 2     sun/awt/java2d/loops/IntRgb.c
>> 2     sun/awt/java2d/loops/IntRgbx.c
>> 2     sun/awt/java2d/loops/ThreeByteBgr.c
>> 2     sun/awt/java2d/loops/Ushort555Rgb.c
>> 2     sun/awt/java2d/loops/Ushort565Rgb.c
>> 2     sun/awt/java2d/loops/UshortGray.c
>> 2     sun/awt/medialib/mlib_ImageConv_32nw.c
>> 2     sun/awt/medialib/mlib_ImageConv_D64nw.c
>> 2     sun/awt/medialib/mlib_ImageCreate.c
>> 2     sun/awt/splashscreen/splashscreen_gfx_impl.c
>> 2     sun/java2d/cmm/lcms/LCMS.c
>> 2     sun/java2d/cmm/lcms/cmscgats.c
>> 2     sun/java2d/cmm/lcms/cmsio1.c
>> 2     sun/java2d/x11/X11PMBlitLoops.c
>> 2     sun/nio/ch/Net.c
>> 2     sun/security/jgss/wrapper/NativeUtil.c
>> 2     sun/security/pkcs11/wrapper/p11_util.c
>> 2     sun/xawt/XToolkit.c
>> 1     /usr/include/X11/IntrinsicP.h
>> 1     /usr/include/langinfo.h
>> 1     /usr/include/sys/cdefs.h
>> 1     back/ArrayTypeImpl.c
>> 1     bin/jexec.c
>> 1     bin/parse_manifest.c
>> 1     com/sun/java/util/jar/pack/main.cpp
>> 1     com/sun/java/util/jar/pack/zip.cpp
>> 1     com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c
>> 1     com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
>> 1     common/check_format.c
>> 1     demo/jvmti/hprof/hprof_init.c
>> 1     democlasses/demo/jvmti/hprof/src/hprof_init.c
>> 1     democlasses/demo/jvmti/waiters/src/Agent.cpp
>> 1     hpi/native_threads/src/sys_api_td.c
>> 1     instrument/JarFacade.c
>> 1     java/lang/Class.c
>> 1     java/lang/fdlibm/include/fdlibm.h
>> 1     java/lang/fdlibm/src/e_jn.c
>> 1     java/lang/fdlibm/src/e_pow.c
>> 1     java/lang/fdlibm/src/e_sqrt.c
>> 1     java/lang/fdlibm/src/s_ceil.c
>> 1     java/lang/fdlibm/src/s_floor.c
>> 1     java/lang/fdlibm/src/s_log1p.c
>> 1     java/lang/reflect/Proxy.c
>> 1     java/net/NetworkInterface.c
>> 1     java/nio/MappedByteBuffer.c
>> 1     java/util/zip/zip_util.c
>> 1     javax/swing/JColorChooser.java
>> 1     javax/swing/JPopupMenu.java
>> 1     javax/swing/JTabbedPane.java
>> 1     sun/awt/awt_DrawingSurface.c
>> 1     sun/awt/awt_Font.c
>> 1     sun/awt/awt_GraphicsEnv.c
>> 1     sun/awt/awt_UNIXToolkit.c
>> 1     sun/awt/image/BufImgSurfaceData.c
>> 1     sun/awt/image/jpeg/jpegdecoder.c
>> 1     sun/awt/java2d/pipe/Region.c
>> 1     sun/awt/libpng/pngread.c
>> 1     sun/awt/libpng/pngrtran.c
>> 1     sun/awt/libpng/pngrutil.c
>> 1     sun/awt/libpng/pngwrite.c
>> 1     sun/awt/medialib/mlib_ImageConv_F32nw.c
>> 1     sun/font/layout/MorphTables.cpp
>> 1     sun/java2d/cmm/lcms/cmswtpnt.c
>> 1     sun/java2d/x11/X11TextRenderer_md.c
>> 1     sun/net/spi/DefaultProxySelector.c
>> 1     sun/nio/ch/DatagramChannelImpl.c
>> 1     sun/nio/ch/InheritedChannel.c
>> 1     sun/nio/ch/ServerSocketChannelImpl.c
>> 1     sun/nio/ch/SocketChannelImpl.c
>> 1     sun/rmi/rmic/Main.java
>> 1     sun/rmi/rmic/newrmic/Resources.java
>> 1     sun/security/pkcs11/wrapper/p11_digest.c
>> 1     sun/security/pkcs11/wrapper/p11_keymgmt.c
>> 1     sun/security/pkcs11/wrapper/p11_md.c
>> 1     sun/tools/serialver/SerialVer.java
>> 1     sun/tracing/dtrace/JVM.c
>> 1     sun/xawt/awt_Desktop.c
>> 1     unpack.cpp
>>
>>
>>       Warning counts, sorted alphabetically by location directory
>>
>> /usr/include     1
>> /usr/include/X11     1
>> /usr/include/sys     3
>> back     17
>> bin     2
>> build/tools/compilefontconfig     4
>> build/tools/dtdbuilder     2
>> build/tools/fontchecker     2
>> build/tools/generatebreakiteratordata     3
>> build/tools/javazic     32
>> com/sun/java/util/jar/pack     1990
>> com/sun/media/sound     7
>> common     10
>> demo/jvmti/hprof     1
>> democlasses/demo/jvmti/hprof/src     1
>> democlasses/demo/jvmti/waiters/src     3
>> hpi/native_threads/src     1
>> instrument     1
>> java/io     10
>> java/lang     6
>> java/lang/fdlibm/include     1
>> java/lang/fdlibm/src     6
>> java/lang/reflect     1
>> java/net     17
>> java/nio     9
>> java/util/zip     1
>> java/util/zip/zlib-1.1.3     3
>> javavm/include     8
>> javax/swing     22
>> javax/swing/text     3
>> sun/awt     17
>> sun/awt/giflib     16
>> sun/awt/image     1
>> sun/awt/image/jpeg     20
>> sun/awt/java2d/loops     71
>> sun/awt/java2d/pipe     1
>> sun/awt/libpng     4
>> sun/awt/medialib     92
>> sun/awt/splashscreen     2
>> sun/font     12
>> sun/font/layout     66
>> sun/java2d/cmm/lcms     11
>> sun/java2d/x11     58
>> sun/net/spi     1
>> sun/nio/ch     6
>> sun/rmi/rmic     1
>> sun/rmi/rmic/newrmic     1
>> sun/security/jgss/wrapper     65
>> sun/security/pkcs11     3
>> sun/security/pkcs11/wrapper     14
>> sun/tools/serialver     1
>> sun/tracing/dtrace     1
>> sun/xawt     7
>> transport/socket     3
>> unpack.cpp     1
>> ~NONE~     5
>>
>>
>>       Warning counts, sorted by frequency of location
>>
>> 1990     com/sun/java/util/jar/pack
>> 92     sun/awt/medialib
>> 71     sun/awt/java2d/loops
>> 66     sun/font/layout
>> 65     sun/security/jgss/wrapper
>> 58     sun/java2d/x11
>> 32     build/tools/javazic
>> 22     javax/swing
>> 20     sun/awt/image/jpeg
>> 17     back
>> 17     java/net
>> 17     sun/awt
>> 16     sun/awt/giflib
>> 14     sun/security/pkcs11/wrapper
>> 12     sun/font
>> 11     sun/java2d/cmm/lcms
>> 10     common
>> 10     java/io
>> 9     java/nio
>> 8     javavm/include
>> 7     com/sun/media/sound
>> 7     sun/xawt
>> 6     java/lang
>> 6     java/lang/fdlibm/src
>> 6     sun/nio/ch
>> 5     ~NONE~
>> 4     build/tools/compilefontconfig
>> 4     sun/awt/libpng
>> 3     /usr/include/sys
>> 3     build/tools/generatebreakiteratordata
>> 3     democlasses/demo/jvmti/waiters/src
>> 3     java/util/zip/zlib-1.1.3
>> 3     javax/swing/text
>> 3     sun/security/pkcs11
>> 3     transport/socket
>> 2     bin
>> 2     build/tools/dtdbuilder
>> 2     build/tools/fontchecker
>> 2     sun/awt/splashscreen
>> 1     /usr/include
>> 1     /usr/include/X11
>> 1     demo/jvmti/hprof
>> 1     democlasses/demo/jvmti/hprof/src
>> 1     hpi/native_threads/src
>> 1     instrument
>> 1     java/lang/fdlibm/include
>> 1     java/lang/reflect
>> 1     java/util/zip
>> 1     sun/awt/image
>> 1     sun/awt/java2d/pipe
>> 1     sun/net/spi
>> 1     sun/rmi/rmic
>> 1     sun/rmi/rmic/newrmic
>> 1     sun/tools/serialver
>> 1     sun/tracing/dtrace
>> 1     unpack.cpp
>>
>>
>>       Warning counts, sorted alphabetically by location extension
>>
>> .c     474
>> .cpp     61
>> .h     12
>> .java     68
>> ~NONE~     2
>>
>>
>>       Warning counts, sorted by frequency of location extension
>>
>> 474     .c
>> 68     .java
>> 61     .cpp
>> 12     .h
>> 2     ~NONE~
>>
>>
>>       Warning counts, sorted alphabetically by type
>>
>> "*" redefined     13
>> '*' may be used uninitialized in this function     126
>> 'class *' has virtual functions but non-virtual destructor     65
>> 'static' is not at beginning of declaration     2
>> argument '*' might be clobbered by '*'     1
>> assignment from incompatible pointer type     1
>> assignment makes integer from pointer without a cast     1
>> cast from pointer to integer of different size     22
>> cast to java.lang.Object[] for a non-varargs call and to suppress this 
>> warning     4
>> cast to pointer from integer of different size     137
>> comparison between pointer and integer     3
>> comparison between signed and unsigned     106
>> comparison is always false due to limited range of data type     2
>> constant is too large for*type     18
>> control reaches end of non-void function     1
>> dereferencing type-punned pointer will break strict-aliasing rules     4
>> enumeration value * not handled in switch     101
>> format '*' expects type '*', but argument * has type '*'     12
>> implicit declaration of function     3
>> is Sun proprietary API and may be removed in a future release     67
>> missing braces around initializer     2
>> missing initializer     1
>> missing initializer for member     1874
>> non-varargs call of varargs method with inexact argument type for last 
>> parameter     4
>> package * does not exist     1
>> passing * from incompatible pointer type     3
>> pointer targets * differ in signedness     32
>> return makes integer from pointer without a cast     5
>> signed and unsigned type in conditional expression     16
>> the use of `*' is dangerous     1
>> this is the location of the previous definition     13
>> type defaults to * in declaration     2
>> variable '*' might be clobbered by '*'     4
>> ~UNKNOWN~     1
>>
>>
>>       Warning counts, sorted by frequency of type
>>
>> 1874     missing initializer for member
>> 137     cast to pointer from integer of different size
>> 126     '*' may be used uninitialized in this function
>> 106     comparison between signed and unsigned
>> 101     enumeration value * not handled in switch
>> 67     is Sun proprietary API and may be removed in a future release
>> 65     'class *' has virtual functions but non-virtual destructor
>> 32     pointer targets * differ in signedness
>> 22     cast from pointer to integer of different size
>> 18     constant is too large for*type
>> 16     signed and unsigned type in conditional expression
>> 13     "*" redefined
>> 13     this is the location of the previous definition
>> 12     format '*' expects type '*', but argument * has type '*'
>> 5     return makes integer from pointer without a cast
>> 4     cast to java.lang.Object[] for a non-varargs call and to 
>> suppress this warning
>> 4     dereferencing type-punned pointer will break strict-aliasing rules
>> 4     non-varargs call of varargs method with inexact argument type 
>> for last parameter
>> 4     variable '*' might be clobbered by '*'
>> 3     comparison between pointer and integer
>> 3     implicit declaration of function
>> 3     passing * from incompatible pointer type
>> 2     'static' is not at beginning of declaration
>> 2     comparison is always false due to limited range of data type
>> 2     missing braces around initializer
>> 2     type defaults to * in declaration
>> 1     argument '*' might be clobbered by '*'
>> 1     assignment from incompatible pointer type
>> 1     assignment makes integer from pointer without a cast
>> 1     control reaches end of non-void function
>> 1     missing initializer
>> 1     package * does not exist
>> 1     the use of `*' is dangerous
>> 1     ~UNKNOWN~
>>
>>
>>       Warnings with unrecognized types
>>
>>     * ../../../src/solaris/native/java/lang/java_props_md.c:124:
>>       warning: (near initialization for 'sprops.os_version')
>>
>> ------------------------------------------------------------------------
>> Generated on Sun Jul 13 17:36:12 PDT 2008



More information about the build-dev mailing list