getting a handle on build warnings

Jonathan Gibbons Jonathan.Gibbons at Sun.COM
Mon Jul 14 18:49:32 UTC 2008


This was a fresh copy of OpenJDK tl repository from a couple of weeks back.
I'll run the tool on the promoted build logs.

-- Jon

Kelly O'Hair wrote:
> Jonathan,
>
> I started to look at these warnings and they just aren't in the latest
> jdk7 nightly log files.
> Swamy in the serviceability team had fixed all our serviceability
> warnings at one point, so I'm wondering what jdk7 sources you are using.
>
> Or was this openjdk6?
>
> -kto
>
> Kelly O'Hair wrote:
>> Was this a Windows X86 build?
>>
>> ---
>>
>> I'll file a bug on the serviceability related files, I thought we had
>> fixed all our warnings. e.g. these:
>>
>> back/ArrayTypeImpl.c     1
>> back/inStream.c     4
>> back/outStream.c     8
>> back/stream.c     4
>> 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
>> instrument/JarFacade.c     1
>> transport/socket/socket_md.c     3
>>
>> If we chip away at this, I think we can clean it up over time.
>>
>> -kto
>>
>> 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