getting a handle on build warnings
Jonathan Gibbons
Jonathan.Gibbons at Sun.COM
Mon Jul 14 18:51:32 UTC 2008
I agree that fixing warnings is not necessarily an easy task. My goal
in writing the tool was to make it easy for people to scan the set
of warnings, and say, "wow, that one looks really serious, I'd better
fix that!"
-- Jon
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